TST: Add tests for layout and labels using any non-null toolkits#846
TST: Add tests for layout and labels using any non-null toolkits#846
Conversation
corranwebster
left a comment
There was a problem hiding this comment.
LGTM, although there are a couple of opportunities to make it even less toolkit-dependent.
traitsui/tests/test_layout.py
Outdated
|
|
||
| with store_exceptions_on_all_threads(), \ | ||
| create_ui(VResizeDialog()) as ui: | ||
| text = ui.control.findChild(qt.QtGui.QLineEdit) |
There was a problem hiding this comment.
Since you are trying to make this more toolkit-independent, a better way to find the text control is one of either:
ui.ui_info.txt.control(which works in simple cases like this); orui.get_editors('txt')[0].control
That would make the only toolkit-dependent part actually getting the width from the widget.
ievacerny
left a comment
There was a problem hiding this comment.
The general context manager is definitely a good addition! Hopefully it helps with all the test interactions.
- Drive-by changes to ensure existing tests call
ui.disposeat the end of the test.
I found a lot more tests (in 13 test modules) where ui isn't disposed at the end. Since it's a lot of tests, should that be a separate PR?
Yep. I could not resist and modified a few of the tests in the same test modules modified in this PR. Let's make sure all the GUI are closed separately. |
…yout-labels TST: Add tests for layout and labels using any non-null toolkits (cherry picked from commit 4398b3d)
* Fix the back button in the demo. (#799) * Fixes for Qt DatetimeEditor (#803) * Fixes for Qt DatetimeEditor. * Fix handling of changes to editor bounds. * Remove commented out code from editor example. * And remove corresponding imports. * Missed file with explicit defaults. * Fixes to min/max and value out of range handling. * Remove NameError and add default root_dir to tutor.py (#813) * Remove NameError from tutor.py * Take current directory as default * Relax argument number constraint * Rewrite nose tests to use unittest (#809) * Rewrite nose tests to use unittest * Rewrite remaining bare test functions * Remove print statements from unit tests * Replace assertEquals with assertEqual * Fix error due to comparing None with int (#969) * Use unittest discover instead of nose.core (#810) * Merge pull request #829 from enthought/fix/ui-panel-alignment Remove align centre which was causing problems * Merge pull request #808 from enthought/fix/demo-fixes A variety of fixes to the Demo app * Add more tests for Enum Editor (#836) * Add more tests for Enum Editor * Add wx EnumEditor tests * Add missing skipif decorator * Add issue references to FIXMEs * Address review comments * Add check list editor tests (#837) * Add check list editor tests * Add wx tests for check list editor * Simplify helper functions * Add issue references to FIXMEs * Address review comments * Don't rely on empty list behaviour with combobox editor * Add temporary fix to prevent wx test interactions * Add set editor tests (#838) * Add set editor tests * Simplify helper functions * Add wx tests for set editor * Add issue reference to FIXME * Address review comments * Expand ordered flag tests * Add image enum editor tests (#845) * Add tests for image enum editor * Docstring fixes * Address review comments * Skip tests that don't cleanup properly due to editor issue * Remove unreliable image_cache checks * Skip problematic tests on linux * Address review comments * Move value mapping from factory to individual editors (#848) * Move value mapping from factory to individual editors * Remove factory mapping references from image enum editor * Remove unused wx helper function * Address review comments * Remove test FIXMEs * Use instantiated tookit * Merge pull request #850 from enthought/fix-demo-app-description-for-folder Fix Demo application description if __init__.py or traits_ui_demo.jpg are not found * BUG: Correctly implement auto-add functionality in ListStrModel. (#860) * Move format_func, format_str and invalid traits from factory to editor (#859) * Move format_func and format_str from factory to editor * Move invalid from factory to editor as invalid_trait_name * Merge pull request #871 from enthought/fix/segfault-row-reorder FIX: Make sure new_row is positive * Merge pull request #873 from enthought/maint-tabular-model Maint: Normalize row index in TabularModel * Make sure all UI in tests are disposed (#865) * Dispose ui in test_visible_when_layout * Wrap test with create_ui, and store_exceptions_on_all_threads * Dispose ui and wrap it under store_exceptions... for test_ui * Use create_ui in test_color_column * Wrap tests with create_ui and store_exceptions_on_all_threads * Dispose ui in test_actions * Consistently dispose UI with create_ui in test_code_editor * Skip two tests on wx that fail on its own * Dispose UI in test_table_editor; these tests are failing on their own * Remove skips; it was the developer's fault in not refreshing their devenv * Dispose UI in test_csv_editor * Make sure dispose must be called in test_date_editor * Make sure dispose is called in test_date_range_editor * Make sure dispose is called in test_datetime_editor * Dispose ui in test_instance_editor * Dispose ui in test_liststr_editor_selection * Dispose ui in test_range_editor_spinner * Dispose ui in test_range_editor_text * Dispose ui in test_tree_editor * Dispose UI in test_tuple_editor * One more in test_data_frame_editor * Remove additional store_exceptions_on_all_threads as they are orthogonal changes * Experiment removing skips that were added due to test interactions * Revert "Experiment removing skips that were added due to test interactions" This reverts commit 7466c03. * Try removing another workaround * Revert "Try removing another workaround" This reverts commit 090c75c. * Revert inconsequential change to test_color_column * Add close back just because it was there before - not sure if it is still needed. * Add more TabularEditor tests (#874) * Add more tests for Tabular Editor * Minor wx TabularEditor fix * Add brief explanation about Rows flag * Add more ListStrEditor tests (#869) * Add more tests for ListStrEditor * Minor wx ListStrEditor fix * Add gui.process_events to fix pyface2 errors * Rename TestListStrEditor with adapter test to TestListStrAdapter * Add docstrings and clarification comments * Skip tests on Windows due to potential test interactions * Fix clear_selection usage * Fix bad TraitListEvent in ListStr and Tabular Editors (#875) * Fix bad TraitListEvent in ListStr and Tabular Editors * Remove test FIXMEs * Fix unexpected format_func in RangeEditor bug (#900) * Accept format_func, format_str and invalid parameters with RangeEditor * Add a test to verify same behaviour * Use kwargs in the signature * Alternative fix to TabularAdapter crashes when column number reduces (#897) Co-authored-by: Federico Miorelli <FedeMiorelli@users.noreply.github.com> * Fix eerror when the columns number is reduced * Workaround slot being called after the UI is disconnected * destroy control (later) in dispose to prevent slots being called after dispose * Revert "destroy control (later) in dispose to prevent slots being called after dispose" This reverts commit 8bb6abd. * Fix issue number in comment * Update test name and comments * Rework test comment * Rewrite comment and run process_events so that bug appears independently of the workaround * Add links from TabularEditor and TreeEditor to adapter docs (#917) * Add links from TabularEditor and TreeEditor to adapter docs * Fix tree node ref * Fix Theme pickling (#915) * Check toolkit before wx import + tests * Address review comments * Merge pull request #846 from enthought/maint-test-non-null-toolkit-layout-labels TST: Add tests for layout and labels using any non-null toolkits (cherry picked from commit 4398b3d) Co-authored-by: Ieva <ievacerny@users.noreply.github.com> Co-authored-by: Kit Choi <kitchoi@users.noreply.github.com> Co-authored-by: Robert Kern <rkern@enthought.com> Co-authored-by: Kit Yan Choi <kchoi@enthought.com>
This PR adds a few simple tests to ensure that a UI can be created with various layout settings. In particular, this aims at increasing test coverage on
traitsui.wx.ui_panel(changed from 46% to 50%...)create_uicontext manager totraitsui.tests._tools. We have seen this pattern again and again in the test suites. It is probably time to refactor this. Note that this context manager has deliberately left out theEventLoopHelper.delete_widgetcontext manager. Otherwise wecouldwould have to rely on toolkit-specific implementations ofEventLoopHelper, which has not been implemented yet for wx.ui.disposeat the end of the test.This was motivated by #829, e.g. the
TestOrientation.test_horizontal_layoutwould fail before the fix provided by #829