> class MiniTest::Unit > def self.run_macruby_tests > > module MiniTest::Assertions > def find_ui_menu(*path) > def find_ui_menu_items menu > def assert_ui_menu menu, *items > def find_ui_menu_item(*path) > def assert_ui_action obj, target, action, key = nil > def assert_ui_binding item, binding_name, target, path
Allowing me to write tests like: > def test_ui_wirings > app = NSApplication.sharedApplication > delegate = app.delegate > > assert_kind_of AppController, delegate > assert_kind_of NSWindow, delegate.window > assert_kind_of NSOutlineView, delegate.sidebar > assert_kind_of NSTextField, delegate.label > assert_kind_of NSCollectionView, delegate.files > > assert_ui_menu("File", > "Restart Triage", > "Empty Triage", > "Update", > "", > "Reveal", > "Group", > "Ungroup", > "Move to Triage", > "Move to Trash") > > has_selection = "sidebar.numberOfSelectedRows" > > restart, empty, update, _, reveal, group, ungroup, triage, trash = > find_ui_menu_items "File" > > assert_ui_action restart, delegate, "restart:", "" > > assert_ui_action empty, delegate, "empty:" > > assert_ui_action update, delegate, "update:", "u" > > assert_ui_action reveal, delegate, "reveal:", "r" > assert_ui_binding reveal, :enabled, delegate, has_selection > > assert_ui_action triage, delegate, "triage:", "t" > assert_ui_binding triage, :enabled, delegate, has_selection > > assert_ui_action group, delegate, "group:" > assert_ui_binding group, :enabled, delegate, has_selection > > # TODO: make it properly toggle later > assert_ui_action ungroup, delegate, "ungroup:" > assert_ui_binding ungroup, :enabled, delegate, has_selection > > assert_ui_action trash, delegate, "trash:" > assert_ui_binding trash, :enabled, delegate, has_selection > end > _______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel