Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AutoTest UI issues fixed #57

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@ feature {NONE} -- Access: test creation
create l_item.make_with_text_and_action (locale.translation (generate_all_text) + l_suffix,
agent on_generate_test (l_launch_wizard))
Result.extend (l_item)
if not l_system_valid then
if not l_system_valid or else open_classes.is_empty then
-- Can only be used if we have a valid system.
l_item.disable_sensitive
end
Expand Down Expand Up @@ -271,6 +271,10 @@ feature {NONE} -- Access: test creation

create l_item.make_with_text_and_action (locale.translation (preferences_text) + "...",
agent on_launch_creation_preferences)
if not l_system_valid then
-- Can only be used if we have a valid system.
l_item.disable_sensitive
end
Result.extend (l_item)
end

Expand Down Expand Up @@ -307,6 +311,38 @@ feature {NONE} -- Status setting: stones
end
end

feature {NONE} -- Query

open_classes: STRING
-- Classes currently open in editor pane
do
create Result.make (200)
if attached window_manager.windows as l_windows then
if attached {EB_DEVELOPMENT_WINDOW} l_windows.item as l_window and then l_window.is_interface_usable then
if attached l_window.editors_manager.editors as l_editors then
from l_editors.start until l_editors.after loop
if
attached l_editors.item as l_editor and then
l_editor.is_interface_usable and then
attached {CLASSI_STONE} l_editor.stone as l_class
then
-- We have the class stone
if attached l_class.class_i as l_class_i then
if l_class_i.is_compiled then
if not Result.is_empty then
Result.append_character (',')
end
Result.append (l_class_i.name)
end
end
end
l_editors.forth
end
end
end
end
end

feature -- Basic operations

set_test_tree_filter (a_filter: STRING_GENERAL)
Expand All @@ -326,22 +362,26 @@ feature {NONE} -- Events: test creation
--
-- `a_launch_wizard': True if wizard should be launched in advance, False otherwise.
local
l_system_available: BOOLEAN
l_composition: ES_TEST_WIZARD_COMPOSITION
l_wizard: ES_TEST_LAUNCH_WIZARD
l_launch: BOOLEAN
do
if a_launch_wizard then
create l_composition.make (locale.translation ("Create manual test"), {ARRAY [ES_TEST_WIZARD_PAGE]} <<
create {ES_TEST_MANUAL_WIZARD_PAGE},
create {ES_TEST_TAGS_WIZARD_PAGE},
create {ES_TEST_GENERAL_WIZARD_PAGE} >>)
create l_wizard.make (l_composition, develop_window.window)
l_launch := l_wizard.is_launch_requested
else
l_launch := True
end
if l_launch and attached session_manager.service as l_service then
launch_session_type ({ETEST_MANUAL_CREATION}, agent launch_manual_test_creation (?, l_service))
l_system_available := Workbench.is_in_stable_state and then not Workbench.is_compiling
if l_system_available then
if a_launch_wizard then
create l_composition.make (locale.translation ("Create manual test"), {ARRAY [ES_TEST_WIZARD_PAGE]} <<
create {ES_TEST_MANUAL_WIZARD_PAGE},
create {ES_TEST_TAGS_WIZARD_PAGE},
create {ES_TEST_GENERAL_WIZARD_PAGE} >>)
create l_wizard.make (l_composition, develop_window.window)
l_launch := l_wizard.is_launch_requested
else
l_launch := True
end
if l_launch and attached session_manager.service as l_service then
launch_session_type ({ETEST_MANUAL_CREATION}, agent launch_manual_test_creation (?, l_service))
end
end
end

Expand All @@ -355,31 +395,7 @@ feature {NONE} -- Events: test creation
l_launch: BOOLEAN
l_types: STRING
do
create l_types.make (200)
if attached window_manager.windows as l_windows then
if attached {EB_DEVELOPMENT_WINDOW} l_windows.item as l_window and then l_window.is_interface_usable then
if attached l_window.editors_manager.editors as l_editors then
from l_editors.start until l_editors.after loop
if
attached l_editors.item as l_editor and then
l_editor.is_interface_usable and then
attached {CLASSI_STONE} l_editor.stone as l_class
then
-- We have the class stone
if attached l_class.class_i as l_class_i then
if l_class_i.is_compiled then
if not l_types.is_empty then
l_types.append_character (',')
end
l_types.append (l_class_i.name)
end
end
end
l_editors.forth
end
end
end
end
l_types := open_classes
if not l_types.is_empty and attached session_manager.service as l_session_service then
l_session_service.retrieve (True).set_value (l_types, {TEST_SESSION_CONSTANTS}.temporary_types)
if a_launch_wizard then
Expand Down Expand Up @@ -768,7 +784,7 @@ feature {NONE} -- Internationalization
tt_debug_selected: STRING = "Run selected tests"

note
copyright: "Copyright (c) 1984-2018, Eiffel Software"
copyright: "Copyright (c) 1984-2024, Eiffel Software"
license: "GPL version 2 (see http://www.eiffel.com/licensing/gpl.txt)"
licensing_options: "http://www.eiffel.com/licensing"
copying: "[
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,8 @@ feature {NONE} -- Initialization
initialize_with_session (a_service: SESSION_MANAGER_S)
-- <Precursor>
local
l_name, l_path: STRING
l_name: STRING
l_path: READABLE_STRING_32
l_cluster: detachable CONF_CLUSTER
l_global_session, l_session: SESSION_I
do
Expand All @@ -123,7 +124,7 @@ feature {NONE} -- Initialization
class_name.set_text (l_name)

if
attached {STRING} l_session.value_or_default ({TEST_SESSION_CONSTANTS}.cluster_name,
attached {READABLE_STRING_32} l_session.value_or_default ({TEST_SESSION_CONSTANTS}.cluster_name,
{TEST_SESSION_CONSTANTS}.cluster_name_default) as l_cluster_name
then
if not l_cluster_name.is_empty then
Expand All @@ -133,7 +134,7 @@ feature {NONE} -- Initialization

if l_cluster /= Void then
l_path := {TEST_SESSION_CONSTANTS}.path_default
if attached {STRING} l_session.value ({TEST_SESSION_CONSTANTS}.path) as l_spath then
if attached {READABLE_STRING_32} l_session.value ({TEST_SESSION_CONSTANTS}.path) as l_spath then
l_path := l_spath
end
class_tree.show_subfolder (l_cluster, l_path)
Expand Down Expand Up @@ -165,7 +166,7 @@ feature {NONE} -- Access
create Result
end

selected_cluster: detachable STRING
selected_cluster: detachable IMMUTABLE_STRING_32
-- Name of selected cluster, Void if no cluster is selected

selected_path: detachable IMMUTABLE_STRING_32
Expand Down Expand Up @@ -244,16 +245,16 @@ feature {ES_TEST_WIZARD_PAGE} -- Basic operations
-- <Precursor>
local
l_global_session, l_session: SESSION_I
l_cluster, l_path: STRING
l_cluster, l_path: READABLE_STRING_32
do
l_session := a_service.retrieve (True)
l_global_session := a_service.retrieve (False)
l_session.set_value (class_name.text.to_string_8, {TEST_SESSION_CONSTANTS}.class_name)
l_cluster := {TEST_SESSION_CONSTANTS}.cluster_name_default
l_path := {TEST_SESSION_CONSTANTS}.path_default
if attached {STRING} selected_cluster as l_scluster then
if attached {READABLE_STRING_32} selected_cluster as l_scluster then
l_cluster := l_scluster
if attached {STRING} selected_path as l_spath then
if attached {READABLE_STRING_32} selected_path as l_spath then
l_path := l_spath
end
end
Expand All @@ -271,7 +272,7 @@ feature {NONE} -- Internationalization
launch_wizard_text: STRING = "Always show wizard before launching test creation"

note
copyright: "Copyright (c) 1984-2020, Eiffel Software"
copyright: "Copyright (c) 1984-2024, Eiffel Software"
license: "GPL version 2 (see http://www.eiffel.com/licensing/gpl.txt)"
licensing_options: "http://www.eiffel.com/licensing"
copying: "[
Expand Down