From c3effc6cd3a66b6c02048d8ad85c7ed3bb3c1463 Mon Sep 17 00:00:00 2001 From: Erik Verbruggen Date: Wed, 28 Jan 2015 09:34:10 +0100 Subject: V4: fix ToFixed rounding for 0 fraction digits. (12.5).toFixed() should return 13, not 12. Task-number: QTBUG-43885 Task-number: QTBUG-44039 Change-Id: Id2b19641e8c12dd5755d8447508b74567e4a2b9b Reviewed-by: Simon Hausmann --- tests/auto/qml/qjsengine/tst_qjsengine.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'tests/auto/qml/qjsengine/tst_qjsengine.cpp') diff --git a/tests/auto/qml/qjsengine/tst_qjsengine.cpp b/tests/auto/qml/qjsengine/tst_qjsengine.cpp index 158ee1589a..2b7b1fc524 100644 --- a/tests/auto/qml/qjsengine/tst_qjsengine.cpp +++ b/tests/auto/qml/qjsengine/tst_qjsengine.cpp @@ -174,6 +174,7 @@ private slots: void privateMethods(); void intConversion_QTBUG43309(); + void toFixed(); signals: void testSignal(); @@ -3615,6 +3616,18 @@ void tst_QJSEngine::intConversion_QTBUG43309() QCOMPARE(result.toNumber(), 25.0); } +// QTBUG-44039 and QTBUG-43885: +void tst_QJSEngine::toFixed() +{ + QJSEngine engine; + QJSValue result = engine.evaluate(QStringLiteral("(12.5).toFixed()")); + QVERIFY(result.isString()); + QCOMPARE(result.toString(), QStringLiteral("13")); + result = engine.evaluate(QStringLiteral("(12.05).toFixed(1)")); + QVERIFY(result.isString()); + QCOMPARE(result.toString(), QStringLiteral("12.1")); +} + QTEST_MAIN(tst_QJSEngine) #include "tst_qjsengine.moc" -- cgit v1.2.3