diff options
author | Edward Welbourne <edward.welbourne@qt.io> | 2021-05-12 12:04:56 +0200 |
---|---|---|
committer | Edward Welbourne <edward.welbourne@qt.io> | 2021-05-18 16:24:32 +0200 |
commit | 08d029d6d32850d9c1e850ec21e9d655b1f4e952 (patch) | |
tree | 387ff2058d7f75517381cca3472e24cb67535119 /tests | |
parent | 85d090e84b5892256de818f3cb0a2274f1fea8a5 (diff) |
Report what failed in a QML test's JavaScript
I needed it while debugging QDate <-> Date conversions, so we might as
well keep the more informative form of it to make life easier for
anyone else doing similar.
Change-Id: I99057535f2f3b2783997102cc7db98290e40c220
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/qml/qqmlecmascript/data/assignDate.qml | 142 |
1 files changed, 114 insertions, 28 deletions
diff --git a/tests/auto/qml/qqmlecmascript/data/assignDate.qml b/tests/auto/qml/qqmlecmascript/data/assignDate.qml index 60a3d72fa1..ca4b34d6b9 100644 --- a/tests/auto/qml/qqmlecmascript/data/assignDate.qml +++ b/tests/auto/qml/qqmlecmascript/data/assignDate.qml @@ -3,36 +3,122 @@ import QtQuick 2.0 MyTypeObject { Component.onCompleted: { - var dateVar = new Date("2009-05-12") - var dateTimeVar = new Date("2009-05-12T00:00:01") - var dateTimeVar2 = new Date("2009-05-12T23:59:59") + var dateVar = new Date("2009-05-12"); + var dateTimeEarly = new Date("2009-05-12T00:00:01"); + var dateTimeLate = new Date("2009-05-12T23:59:59"); - // Date, with no zone specified, is implicitly UTC - dateProperty = dateVar + // Date, with no zone specified, is implicitly UTC, but is converted to QDate using LocalTime + dateProperty = dateVar; // Date-time, with no zone, is implicitly local-time - dateTimeProperty = dateTimeVar - dateTimeProperty2 = dateTimeVar2 + dateTimeProperty = dateTimeEarly; + dateTimeProperty2 = dateTimeLate; - boolProperty = (dateProperty.getTime() == dateVar.getTime()) && - (dateProperty.getUTCFullYear() == 2009) && - (dateProperty.getUTCMonth() == 5-1) && - (dateProperty.getUTCDate() == 12) && - (dateProperty.getUTCHours() == 0) && - (dateProperty.getUTCMinutes() == 0) && - (dateProperty.getUTCSeconds() == 0) && - (dateTimeProperty.getTime() == dateTimeVar.getTime()) && - (dateTimeProperty.getFullYear() == 2009) && - (dateTimeProperty.getMonth() == 5-1) && - (dateTimeProperty.getDate() == 12) && - (dateTimeProperty.getHours() == 0) && - (dateTimeProperty.getMinutes() == 0) && - (dateTimeProperty.getSeconds() == 1) && - (dateTimeProperty2.getTime() == dateTimeVar2.getTime()) && - (dateTimeProperty2.getFullYear() == 2009) && - (dateTimeProperty2.getMonth() == 5-1) && - (dateTimeProperty2.getDate() == 12) && - (dateTimeProperty2.getHours() == 23) && - (dateTimeProperty2.getMinutes() == 59) && - (dateTimeProperty2.getSeconds() == 59) + var check = true; + if (dateProperty.getTime() != dateVar.getTime()) { + console.warn("Date epoch delta differs:", + dateProperty.getTime(), "!=", dateVar.getTime()); + check = false; + } + if (dateProperty.getUTCFullYear() != 2009) { + console.warn("Date's year is wrong:", + dateProperty.getUTCFullYear(), "!= 2009"); + check = false; + } + if (dateProperty.getUTCMonth() != 5-1) { + console.warn("Date's month is wrong:", + dateProperty.getUTCMonth(), "!= 4 (May)"); + check = false; + } + if (dateProperty.getUTCDate() != 12) { + console.warn("Date's day is wrong:", + dateProperty.getUTCDate(), "!= 12"); + check = false; + } + if (dateProperty.getUTCHours() != 0) { + console.warn("Date's hour is wrong:", + dateProperty.getUTCHours(), "!= 0"); + check = false; + } + if (dateProperty.getUTCMinutes() != 0) { + console.warn("Date's minute is wrong:", + dateProperty.getUTCMinutes(), "!= 0"); + check = false; + } + if (dateProperty.getUTCSeconds() != 0) { + console.warn("Date's second is wrong:", + dateProperty.getUTCSeconds(), "!= 0"); + check = false; + } + if (dateTimeProperty.getTime() != dateTimeEarly.getTime()) { + console.warn("Early date-time epoch delta differs:", + dateTimeProperty.getTime(), "!=", dateTimeEarly.getTime()); + check = false; + } + if (dateTimeProperty.getFullYear() != 2009) { + console.warn("Early date-time's year is wrong:", + dateTimeProperty.getFullYear(), "!= 2009"); + check = false; + } + if (dateTimeProperty.getMonth() != 5-1) { + console.warn("Early date-time's month is wrong:", + dateTimeProperty.getMonth(), "!= 4 (May)"); + check = false; + } + if (dateTimeProperty.getDate() != 12) { + console.warn("Early date-time's day is wrong:", + dateTimeProperty.getDate(), "!= 12"); + check = false; + } + if (dateTimeProperty.getHours() != 0) { + console.warn("Early date-time's hour is wrong:", + dateTimeProperty.getHours(), "!= 0"); + check = false; + } + if (dateTimeProperty.getMinutes() != 0) { + console.warn("Early date-time's minute is wrong:", + dateTimeProperty.getMinutes(), "!= 0"); + check = false; + } + if (dateTimeProperty.getSeconds() != 1) { + console.warn("Early date-time's second is wrong:", + dateTimeProperty.getSeconds(), "!= 1"); + check = false; + } + if (dateTimeProperty2.getTime() != dateTimeLate.getTime()) { + console.warn("Late date-time epoch delta differs:", + dateTimeProperty2.getTime(), "!=", dateTimeLate.getTime()); + check = false; + } + if (dateTimeProperty2.getFullYear() != 2009) { + console.warn("Late date-time's year is wrong:", + dateTimeProperty2.getFullYear(), "!= 2009"); + check = false; + } + if (dateTimeProperty2.getMonth() != 5-1) { + console.warn("Late date-time's month is wrong:", + dateTimeProperty2.getMonth(), "!= 4 (May)"); + check = false; + } + if (dateTimeProperty2.getDate() != 12) { + console.warn("Late date-time's day is wrong:", + dateTimeProperty2.getDate(), "!= 12"); + check = false; + } + if (dateTimeProperty2.getHours() != 23) { + console.warn("Late date-time's hour is wrong:", + dateTimeProperty2.getHours(), "!= 23"); + check = false; + } + if (dateTimeProperty2.getMinutes() != 59) { + console.warn("Late date-time's minute is wrong:", + dateTimeProperty2.getMinutes(), "!= 59"); + check = false; + } + if (dateTimeProperty2.getSeconds() != 59) { + console.warn("Late date-time's second is wrong:", + dateTimeProperty2.getSeconds(), "!= 59"); + check = false; + } + boolProperty = check; } } |