~uriboni/webbrowser-app/tab-context-menu

« back to all changes in this revision

Viewing changes to tests/autopilot/webbrowser_app/emulators/browser.py

  • Committer: CI Train Bot
  • Author(s): Arthur Mello, Ugo Riboni, Olivier Tilloy
  • Date: 2015-08-12 19:53:13 UTC
  • mfrom: (1126.1.5 wide-views-newtab-history)
  • Revision ID: ci-train-bot@canonical.com-20150812195313-u5v7kzrj8hfiacsj
Wide screen versions of the history view and new tab view, per design specification.
This adds a build dependency on qml-module-qt-labs-settings (for unit tests). Fixes: #1351157, #1481647

Show diffs side-by-side

added added

removed removed

Lines of Context:
130
130
                                       state="shown")
131
131
 
132
132
    def get_new_tab_view(self):
133
 
        return self.wait_select_single("NewTabView", visible=True)
 
133
        if self.wide:
 
134
            return self.wait_select_single("NewTabViewWide", visible=True)
 
135
        else:
 
136
            return self.wait_select_single("NewTabView", visible=True)
134
137
 
135
138
    # Since the NewPrivateTabView does not define any new QML property in its
136
139
    # extended file, it does not report itself to autopilot with the same name
162
165
    # available
163
166
    def get_history_view(self):
164
167
        try:
165
 
            return self.select_single("HistoryView")
 
168
            if self.wide:
 
169
                return self.select_single("HistoryViewWide")
 
170
            else:
 
171
                return self.select_single("HistoryView")
166
172
        except exceptions.StateNotFoundError:
167
173
            return None
168
174
 
169
 
    def get_bookmarks_folder_list_view(self):
170
 
        return self.select_single(BookmarksFolderListView)
171
 
 
172
175
    def press_key(self, key):
173
176
        self.keyboard.press_and_release(key)
174
177
 
442
445
    def get_notopsites_label(self):
443
446
        return self.select_single("Label", objectName="notopsites")
444
447
 
 
448
    def get_top_site_items(self):
 
449
        return self.get_top_sites_list().get_delegates()
 
450
 
 
451
    def get_bookmarks_folder_list_view(self):
 
452
        return self.select_single(BookmarksFolderListView)
 
453
 
 
454
    def get_bookmarks(self, folder_name):
 
455
        # assumes that the "more" button has been clicked
 
456
        folders = self.get_bookmarks_folder_list_view()
 
457
        folder_delegate = folders.get_folder_delegate(folder_name)
 
458
        return folders.get_urls_from_folder(folder_delegate)
 
459
 
 
460
    def get_folder_names(self):
 
461
        folders = self.get_bookmarks_folder_list_view().get_delegates()
 
462
        return [folder.folderName for folder in folders]
 
463
 
 
464
 
 
465
class NewTabViewWide(uitk.UbuntuUIToolkitCustomProxyObjectBase):
 
466
 
 
467
    def go_to_section(self, section_index):
 
468
        sections = self.select_single(uitk.Sections)
 
469
        if not sections.selectedIndex == section_index:
 
470
            sections.click_section_button(section_index)
 
471
 
 
472
    def get_bookmarks_list(self):
 
473
        self.go_to_section(1)
 
474
        list = self.select_single(uitk.QQuickListView,
 
475
                                  objectName="bookmarksList")
 
476
        return sorted(list.select_many("DraggableUrlDelegateWide",
 
477
                      objectName="bookmarkItem"),
 
478
                      key=lambda delegate: delegate.globalRect.y)
 
479
 
 
480
    def get_top_sites_list(self):
 
481
        self.go_to_section(0)
 
482
        list = self.select_single(uitk.QQuickListView,
 
483
                                  objectName="topSitesList")
 
484
        return sorted(list.select_many("UrlDelegateWide",
 
485
                      objectName="topSiteItem"),
 
486
                      key=lambda delegate: delegate.globalRect.y)
 
487
 
 
488
    def get_folders_list(self):
 
489
        self.go_to_section(1)
 
490
        list = self.select_single(uitk.QQuickListView,
 
491
                                  objectName="foldersList")
 
492
        return sorted(list.select_many(objectName="folderItem"),
 
493
                      key=lambda delegate: delegate.globalRect.y)
 
494
 
 
495
    def get_top_site_items(self):
 
496
        self.go_to_section(0)
 
497
        return self.get_top_sites_list()
 
498
 
 
499
    def get_bookmarks(self, folder_name):
 
500
        folders = self.get_folders_list()
 
501
        matches = [folder for folder in folders if folder.name == folder_name]
 
502
        if not len(matches) == 1:
 
503
            return []
 
504
        self.pointing_device.click_object(matches[0])
 
505
        return self.get_bookmarks_list()
 
506
 
 
507
    def get_folder_names(self):
 
508
        return [folder.name for folder in self.get_folders_list()]
 
509
 
445
510
 
446
511
class UrlsList(uitk.UbuntuUIToolkitCustomProxyObjectBase):
447
512
 
458
523
    pass
459
524
 
460
525
 
 
526
class UrlDelegateWide(uitk.UCListItem):
 
527
 
 
528
    pass
 
529
 
 
530
 
 
531
class DraggableUrlDelegateWide(UrlDelegateWide):
 
532
 
 
533
    def get_grip(self):
 
534
        return self.select_single("Icon", objectName="dragGrip")
 
535
 
 
536
 
461
537
class BookmarkOptions(uitk.UbuntuUIToolkitCustomProxyObjectBase):
462
538
 
463
539
    def get_title_text_field(self):