aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2021-02-17 20:38:04 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-02-19 00:29:46 +0000
commite9e5f26c58d26a07e8e731886029fbe3bb21b98d (patch)
treebafb93a04cc91307a603d82878239c1a78c4aebb /tests
parente09acc38d3af64c2136ee8b6ab4f01a83492ba17 (diff)
QJSPrimitiveValue: Implement modulo operator
The modulo operator has special semantics in JavaScript. We need to mirror those. Task-number: QTBUG-84369 Change-Id: I5a4d63a01e232686832c83f2def0faf57e7359c2 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 84cf29933cee44e09590fc89ae800dd453f664ca) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qml/qjsprimitivevalue/tst_qjsprimitivevalue.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/tests/auto/qml/qjsprimitivevalue/tst_qjsprimitivevalue.cpp b/tests/auto/qml/qjsprimitivevalue/tst_qjsprimitivevalue.cpp
index 5189ea4b94..4fe68e1f73 100644
--- a/tests/auto/qml/qjsprimitivevalue/tst_qjsprimitivevalue.cpp
+++ b/tests/auto/qml/qjsprimitivevalue/tst_qjsprimitivevalue.cpp
@@ -97,7 +97,7 @@ do {\
QVERIFY2(condition, qPrintable(expression + " -> " + js.toString()))
enum Operator {
- Add, Sub, Mul, Div, Eq, SEq, NEq, SNEq, GT, LT, GEq, LEq
+ Add, Sub, Mul, Div, Eq, SEq, NEq, SNEq, GT, LT, GEq, LEq, Mod
};
QString toString(Operator op) {
@@ -114,6 +114,7 @@ QString toString(Operator op) {
case LT: return "<";
case GEq: return ">=";
case LEq: return "<=";
+ case Mod: return "%";
}
Q_UNREACHABLE();
@@ -149,6 +150,8 @@ void doTestOperator(QJSEngine *engine, LHS lhs, RHS rhs)
result = lhs >= rhs;
else if constexpr (op == LEq)
result = lhs <= rhs;
+ else if constexpr (op == Mod)
+ result = lhs % rhs;
else
QFAIL("Unkonwn operator");
@@ -199,6 +202,7 @@ void doTestForAllOperators(QJSEngine *engine, LHS lhs, RHS rhs)
doTestOperator<LHS, RHS, QJSPrimitiveValue, Sub>(engine, lhs, rhs);
doTestOperator<LHS, RHS, QJSPrimitiveValue, Mul>(engine, lhs, rhs);
doTestOperator<LHS, RHS, QJSPrimitiveValue, Div>(engine, lhs, rhs);
+ doTestOperator<LHS, RHS, QJSPrimitiveValue, Mod>(engine, lhs, rhs);
doTestOperator<LHS, RHS, bool, Eq>(engine, lhs, rhs);
doTestOperator<LHS, RHS, bool, SEq>(engine, lhs, rhs);
doTestOperator<LHS, RHS, bool, NEq>(engine, lhs, rhs);