Need to expose custom autopilot APIs for Toolbar and Tabs

Bug #1177341 reported by Florian Boucault
18
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Ubuntu UI Toolkit
Fix Released
High
Unassigned
ubuntu-ui-toolkit (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Application developers need to have 3 new APIs added to the ui toolkit's autopilot package to be able to write a lot of their tests reliably:
- toolbar.show()
- toolbar.getButton(action)
- tabs.switch(tab)

When complete, please notify gusch, oSoMoN, nerochiaro and bfiller.

Related branches

Changed in ubuntu-ui-toolkit:
assignee: nobody → Juhapekka Piiroinen (juhapekka-piiroinen)
Revision history for this message
Tim Peeters (tpeeters) wrote :

I doubt tabs.switch() is needed, because you can easily say tabs.selectedTabIndex = 7

Revision history for this message
Tim Peeters (tpeeters) wrote :

there is also tabs.selectedTab but that is readonly. If there are examples where using selectedTabIndex is not sufficient and the tab needs to be set, we can work on that in Tabs.

Revision history for this message
Günter Schwann (schwann) wrote :

1.) when switching to the tab - how can I detect that all the animations have finished?
2.) setting the selectedTabIndex does not simulate the user input (that's what autopilot is about)
3.) what we in UI want, is one function call - as the property and or it's object might easily change (again and again and ...), and we don't want to deal with that

Revision history for this message
Nicholas Skaggs (nskaggs) wrote :

Note that I started work on an emulator for this for autopilot ubuntusdk app testing. I think it's best handled there. It's sitting in my +junk at the moment, but I'm hoping it could have a permanent home as part of the sdk. Check it out here. It provides the requested features:

lp:~nskaggs/+junk/ubuntusdk_autopilot_emulator

It's currently being used for the core apps project developers as part of the drive towards autopilot tests for all the apps.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:ubuntu-ui-toolkit at revision None, scheduled for release in ubuntu-ui-toolkit, milestone Unknown

Changed in ubuntu-ui-toolkit:
status: Confirmed → Fix Committed
Revision history for this message
Florian Boucault (fboucault) wrote :

Was reverted because it broke the autopilot tests.

Changed in ubuntu-ui-toolkit:
status: Fix Committed → Fix Released
status: Fix Released → Triaged
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (4.7 KiB)

This bug was fixed in the package ubuntu-ui-toolkit - 0.1.46+13.10.20130703.1-0ubuntu1

---------------
ubuntu-ui-toolkit (0.1.46+13.10.20130703.1-0ubuntu1) saucy; urgency=low

  [ Zsombor Egri ]
  * Fix for re-parenting items that are anchor filled to an item in
    default layout.
  * TextField API extended with API left out from TextInput. wrapMode is
    not inlcuded as does not make sense to be used in single line input.
    (LP: #1183265)
  * Calculator example which turns from simple calculator (phone
    portrait mode) into scientific one (phone landscape mode) reflecting
    the use of Ubuntu.Layouts. .
  * Removing common.pri from Layouts.pro and Layouts\plugin.pro causing
    qmake warnings when Ubuntu UI toolkit project is opened in
    QtCreator.

  [ Leo Arias ]
  * Replaced the MainWindow emulator for autopilot tests with a MainView
    emulator that the uses the custom emulator features of autopilot.
  * Added the Toolbar Autopilot emulator. (LP: #1177341)

  [ Juhapekka Piiroinen ]
  * Fixed broken ubuntu-ui-toolkit-gallery.qmlproject file, which had an
    invalid value in mainFile field.

  [ tpeeters ]
  * Update header behavior: - Do not automatically hide the header when
    scrolling in a flickable that is not anchored to the top of the
    page. - Automatically show the header when flickable's contentHeight
    becomes less than flickable.height. - Update documentation for
    Page.flickable. (LP: #1156573, #1160175)

  [ Kaleo ]
  * Removed common.pri and coverage.pri files that were cluttering
    QtCreator making it harder to understand the real structure of the
    project. coverage.pri has been transformed into a feature file
    (coverage.prf) which works the same way as before.
  * Removed antiquated TextCustom class.
  * Removed unused old-style tabs delegate.
  * Removed UbuntuShape.qml and transferred code & documentation to
    shapeitem.cpp ShapeItem: renamed baseColor property into color.
  * UbuntuShape: simplified gradient implementation; gradientColor is
    now the same as color by default. .
  * Simplified theming infrastructure. There are no stylesheets anymore
    (.qmltheme file), only delegates remain. A theme is a QML module
    containing delegates whose names are standardized. The default theme
    is called 'Ambiance' and available from QML through 'import
    Ubuntu.Components.Themes.Ambiance 0.1'. The name of the current
    theme is set in ~/.config/ubuntu-ui-toolkit/theme.ini Writing a new
    theme is done by creating a QML module and adding it in the
    Ubuntu/Components/Themes folder. A theme inherits from another theme
    by containing a text file name 'parent_theme' whose first and only
    line is the name of the parent theme. * Moved themes/ directory to
    Ubuntu/Components/Themes so that themes are importable. * Simplified
    ThemeEngine and ThemeSettings class, removed the rest of the theming
    infrastructure (ItemStyle, Style, QmlThemeLoader, Selector,
    StyleCache). * Adapted all widgets to use the simplified theming
    technique: - new StyledItem class that has a 'style' Component
    property representing the delegate - all widgets that have delegates
    inherit fro...

Read more...

Changed in ubuntu-ui-toolkit (Ubuntu):
status: New → Fix Released
Changed in ubuntu-ui-toolkit:
assignee: Juhapekka Piiroinen (juhapekka-piiroinen) → nobody
Changed in ubuntu-ui-toolkit:
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.