Merge lp:~zsombi/ubuntu-ui-toolkit/alarm-dow-fix into lp:ubuntu-ui-toolkit/staging

Proposed by Zsombor Egri
Status: Merged
Approved by: Cris Dywan
Approved revision: 1056
Merged at revision: 1054
Proposed branch: lp:~zsombi/ubuntu-ui-toolkit/alarm-dow-fix
Merge into: lp:ubuntu-ui-toolkit/staging
Diff against target: 105 lines (+61/-5)
3 files modified
modules/Ubuntu/Components/plugin/ucalarm.cpp (+15/-4)
tests/resources/alarm/Alarms.qml (+1/-1)
tests/unit/tst_alarms/tst_alarms.cpp (+45/-0)
To merge this branch: bzr merge lp:~zsombi/ubuntu-ui-toolkit/alarm-dow-fix
Reviewer Review Type Date Requested Status
PS Jenkins bot continuous-integration Approve
Cris Dywan Approve
Nekhelesh Ramananthan (community) device testing Approve
Review via email: mp+219637@code.launchpad.net

Commit message

One time alarms omit dayOfWeek value changes.

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:1055
http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-ci/229/
Executed test runs:
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-utopic-touch/230
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-utopic/210/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-amd64-ci/61
    SUCCESS: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-armhf-ci/61
        deb: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-armhf-ci/61/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-i386-ci/61
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-runner-mako/722
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-armhf/482
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-armhf/482/artifact/work/output/*zip*/output.zip
    FAILURE: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/7191/console
    FAILURE: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-utopic/193/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-amd64/261
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-amd64/261/artifact/work/output/*zip*/output.zip

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-ci/229/rebuild

review: Needs Fixing (continuous-integration)
1056. By Zsombor Egri

setDate() does not change dayOfWeek value

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

FAILED: Continuous integration, rev:1056
http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-ci/230/
Executed test runs:
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-utopic-touch/233
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-utopic/213/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-amd64-ci/62
    SUCCESS: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-armhf-ci/62
        deb: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-armhf-ci/62/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-i386-ci/62
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-runner-mako/725
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-armhf/490
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-armhf/490/artifact/work/output/*zip*/output.zip
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/7199
    FAILURE: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-utopic/195/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-amd64/267
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-amd64/267/artifact/work/output/*zip*/output.zip

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-ci/230/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Nekhelesh Ramananthan (nik90) wrote :

Tested on phone and laptop. It works as expected. The alarm days chosen by the user are respected.

review: Approve (device testing)
Revision history for this message
Cris Dywan (kalikiana) wrote :

Changes and tests look sensible, and pass for me. J seems to still fail randomly unrelated to this.

review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'modules/Ubuntu/Components/plugin/ucalarm.cpp'
--- modules/Ubuntu/Components/plugin/ucalarm.cpp 2014-04-23 08:50:20 +0000
+++ modules/Ubuntu/Components/plugin/ucalarm.cpp 2014-05-15 09:54:25 +0000
@@ -177,6 +177,21 @@
177 return result;177 return result;
178 }178 }
179179
180 // fix lp:1319401 - dayOfWeek omitted if set to other than AutoDetect
181 int dayOfWeek = rawData.date.date().dayOfWeek();
182 if (!isDaySet(dayOfWeek, rawData.days)) {
183 // dayOfWeek has been set by the user, adjust the date to it
184 int nextOccurrence = nextDayOfWeek(rawData.days, dayOfWeek);
185 if (nextOccurrence < dayOfWeek) {
186 // the starting date should be moved to the next week's occurrence
187 rawData.date = rawData.date.addDays(7 - dayOfWeek + nextOccurrence);
188 } else {
189 // the starting date is still this week
190 rawData.date = rawData.date.addDays(nextOccurrence - dayOfWeek);
191 }
192 rawData.changes |= AlarmData::Date;
193 }
194
180 // start date should be later then the current date/time195 // start date should be later then the current date/time
181 if (rawData.date <= AlarmData::normalizeDate(QDateTime::currentDateTime())) {196 if (rawData.date <= AlarmData::normalizeDate(QDateTime::currentDateTime())) {
182 return UCAlarm::EarlyDate;197 return UCAlarm::EarlyDate;
@@ -370,10 +385,6 @@
370 d->rawData.date = AlarmData::normalizeDate(date);385 d->rawData.date = AlarmData::normalizeDate(date);
371 d->rawData.changes |= AlarmData::Date;386 d->rawData.changes |= AlarmData::Date;
372 Q_EMIT dateChanged();387 Q_EMIT dateChanged();
373 if (d->rawData.type == UCAlarm::OneTime) {
374 // adjust dayOfWeek as well
375 setDaysOfWeek(UCAlarm::AutoDetect);
376 }
377}388}
378389
379/*!390/*!
380391
=== modified file 'tests/resources/alarm/Alarms.qml'
--- tests/resources/alarm/Alarms.qml 2014-04-23 08:50:20 +0000
+++ tests/resources/alarm/Alarms.qml 2014-05-15 09:54:25 +0000
@@ -113,7 +113,7 @@
113 id: days113 id: days
114 text: "Occurence"114 text: "Occurence"
115 values: getValues()115 values: getValues()
116 visible: recurence.selectedIndex == 2116 visible: recurence.selectedIndex !== 1
117 onClicked: {117 onClicked: {
118 PopupUtils.open(Qt.resolvedUrl("AlarmDays.qml"), days, {"alarm": alarm});118 PopupUtils.open(Qt.resolvedUrl("AlarmDays.qml"), days, {"alarm": alarm});
119 }119 }
120120
=== modified file 'tests/unit/tst_alarms/tst_alarms.cpp'
--- tests/unit/tst_alarms/tst_alarms.cpp 2014-04-10 09:53:26 +0000
+++ tests/unit/tst_alarms/tst_alarms.cpp 2014-05-15 09:54:25 +0000
@@ -456,6 +456,51 @@
456 QVERIFY(srcDate.timeZone() != dstDate.timeZone());456 QVERIFY(srcDate.timeZone() != dstDate.timeZone());
457 }457 }
458458
459 void test_oneTime_dow_data() {
460 QTest::addColumn<QString>("message");
461 QTest::addColumn<int>("dow");
462
463 QTest::newRow("Monday") << "Monday" << (int)UCAlarm::Monday;
464 QTest::newRow("Tuesday") << "Tuesday" << (int)UCAlarm::Tuesday;
465 QTest::newRow("Wednesday") << "Wednesday" << (int)UCAlarm::Wednesday;
466 QTest::newRow("Thursday") << "Thursday" << (int)UCAlarm::Thursday;
467 QTest::newRow("Friday") << "Friday" << (int)UCAlarm::Friday;
468 QTest::newRow("Saturday") << "Saturday" << (int)UCAlarm::Saturday;
469 QTest::newRow("Sunday") << "Sunday" << (int)UCAlarm::Sunday;
470 }
471 void test_oneTime_dow() {
472 QFETCH(QString, message);
473 QFETCH(int, dow);
474
475 UCAlarm alarm(QDateTime::currentDateTime().addSecs(3600), "test_oneTime_dow_" + message);
476 alarm.setDaysOfWeek((UCAlarm::DaysOfWeek)dow);
477 alarm.save();
478 waitForRequest(&alarm);
479 QCOMPARE(alarm.error(), (int)UCAlarm::NoError);
480 QVERIFY(containsAlarm(&alarm));
481 }
482
483 void test_oneTime_setDate_does_not_change_dow_data() {
484 QTest::addColumn<QString>("message");
485 QTest::addColumn<int>("dow");
486
487 QTest::newRow("Monday") << "Monday" << (int)UCAlarm::Monday;
488 QTest::newRow("Tuesday") << "Tuesday" << (int)UCAlarm::Tuesday;
489 QTest::newRow("Wednesday") << "Wednesday" << (int)UCAlarm::Wednesday;
490 QTest::newRow("Thursday") << "Thursday" << (int)UCAlarm::Thursday;
491 QTest::newRow("Friday") << "Friday" << (int)UCAlarm::Friday;
492 QTest::newRow("Saturday") << "Saturday" << (int)UCAlarm::Saturday;
493 QTest::newRow("Sunday") << "Sunday" << (int)UCAlarm::Sunday;
494 }
495 void test_oneTime_setDate_does_not_change_dow() {
496 QFETCH(QString, message);
497 QFETCH(int, dow);
498
499 UCAlarm alarm(QDateTime::currentDateTime(), "test_oneTime_setDate_does_not_change_dow_" + message);
500 alarm.setDaysOfWeek((UCAlarm::DaysOfWeek)dow);
501 alarm.setDate(QDateTime::currentDateTime().addSecs(3600));
502 QCOMPARE((int)alarm.daysOfWeek(), dow);
503 }
459};504};
460505
461QTEST_MAIN(tst_UCAlarms)506QTEST_MAIN(tst_UCAlarms)

Subscribers

People subscribed via source and target branches