Merge lp:~mterry/unity8/skip-spread-tutorial-on-desktop into lp:unity8
| Status: | Merged |
|---|---|
| Approved by: | Albert Astals Cid on 2015-04-02 |
| Approved revision: | 1697 |
| Merged at revision: | 1716 |
| Proposed branch: | lp:~mterry/unity8/skip-spread-tutorial-on-desktop |
| Merge into: | lp:unity8 |
| Diff against target: |
381 lines (+130/-49) 8 files modified
qml/Shell.qml (+9/-0) qml/Tutorial/Tutorial.qml (+7/-0) qml/Tutorial/TutorialContent.qml (+9/-1) tests/mocks/GSettings.1.0/fake_gsettings.cpp (+64/-28) tests/mocks/GSettings.1.0/fake_gsettings.h (+16/-6) tests/mocks/GSettings.1.0/plugin.cpp (+0/-6) tests/qmltests/Tutorial/tst_Tutorial.qml (+22/-5) tests/qmltests/tst_Shell.qml (+3/-3) |
| To merge this branch: | bzr merge lp:~mterry/unity8/skip-spread-tutorial-on-desktop |
| Related bugs: |
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| Albert Astals Cid (community) | 2015-04-01 | Approve on 2015-04-02 | |
| PS Jenkins bot | continuous-integration | Approve on 2015-03-26 | |
| Michael Zanetti (community) | 2015-03-23 | Needs Fixing on 2015-03-26 | |
|
Review via email:
|
|||
Commit Message
Skip parts of the edge tutorial that require a touch device (like spread and bottom edge).
For now, we just use "desktop-mode" to imply "no-touch-device". In the future, presumably Design will provide different tutorial layouts for the various device modes we support. For now, they have only blessed a phone version. So I just skip the problematic parts.
Description of the Change
Skip parts of the edge tutorial that require a touch device (like spread and bottom edge).
For now, we just use "desktop-mode" to imply "no-touch-device". In the future, presumably Design will provide different tutorial layouts for the various device modes we support. For now, they have only blessed a phone version. So I just skip the problematic parts.
This was a relatively simple change. But adding a baby test for this (mostly so that when we fix how modes work in Shell.qml, we'll know to update this code due to the newly-broken test) involved a bit of yak shaving.
So... our mock GSettings support is awful. In an ideal world, we'd compile the schemas unity8 provides, point GSettings at them (plus the system ones), and then run GSettings with the memory backend so nothing gets saved to disk. That would avoid the need for a mock entirely.
But for convenience of keeping this tiny branch tiny, I tried to fix the mock we have:
- Fixed a reversed-logic check that prevented id() or path() from being set on any GSettings object (and causing warnings to be printed in test logs all the time about 'GSettings.
- I stopped exposing GSettingsController as an object for Qml. This used to be used by tests to modify all existing GSettings objects, wherever they are. But the test code now directly modifies the Shell's GSettings object. So this class was unused. And I'm not thrilled anyway with exposing a special object that only lives in mocks. If we want to change GSettings, we can make our own object or modify an existing one.
- I moved the property storage from each GSettings to the singleton GSettingsController instance. This way if you change one GSettings object, each other object will notice (and especially, so that if you create a GSettings object after another one was set, they agree in values).
- I validate the schema.id value when setting/getting from GSettings, just for sanity checking.
- I provide a default value of "Staged" for com.canonical.
| Michael Zanetti (mzanetti) wrote : | # |
two tiny inline comments, and add the checklist please.
| Michael Terry (mterry) wrote : | # |
* Are there any related MPs required for this MP to build/function as expected? Please list.
No
* Did you perform an exploratory manual test run of your code change and any related functionality?
Yes
* Did you make sure that your branch does not contain spurious tags?
Yes
* If you changed the packaging (debian), did you subscribe the ubuntu-unity team to this MP?
NA
* If you changed the UI, has there been a design review?
NA
- 1697. By Michael Terry on 2015-03-26
-
Review nits
| Michael Terry (mterry) wrote : | # |
Both comments addressed.
| PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:1697
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
| Albert Astals Cid (aacid) wrote : | # |
I'd maybe had named that useEdgeDragArea as "useDesktopTuto
* Did you perform an exploratory manual test run of the code change and any related functionality?
Yes
* Did CI run pass?
*IT DID* :o
* Did you make sure that the branch does not contain spurious tags?
Yes

FAILED: Continuous integration, rev:1696 jenkins. qa.ubuntu. com/job/ unity8- ci/5476/ jenkins. qa.ubuntu. com/job/ generic- deb-autopilot- vivid-touch/ 1929 jenkins. qa.ubuntu. com/job/ unity-phablet- qmluitests- vivid/640 jenkins. qa.ubuntu. com/job/ unity8- vivid-amd64- ci/641 jenkins. qa.ubuntu. com/job/ unity8- vivid-i386- ci/641 jenkins. qa.ubuntu. com/job/ generic- deb-autopilot- runner- vivid-mako/ 1700 jenkins. qa.ubuntu. com/job/ generic- mediumtests- builder- vivid-armhf/ 1927 jenkins. qa.ubuntu. com/job/ generic- mediumtests- builder- vivid-armhf/ 1927/artifact/ work/output/ *zip*/output. zip s-jenkins. ubuntu- ci:8080/ job/touch- flash-device/ 19084
http://
Executed test runs:
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild: s-jenkins. ubuntu- ci:8080/ job/unity8- ci/5476/ rebuild
http://