diff options
Diffstat (limited to 'tests/auto/tools/qmake/tst_qmake.cpp')
-rw-r--r-- | tests/auto/tools/qmake/tst_qmake.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/auto/tools/qmake/tst_qmake.cpp b/tests/auto/tools/qmake/tst_qmake.cpp index cf5c75a66b..87e86406b8 100644 --- a/tests/auto/tools/qmake/tst_qmake.cpp +++ b/tests/auto/tools/qmake/tst_qmake.cpp @@ -92,6 +92,7 @@ private slots: void substitutes(); void project(); void proFileCache(); + void json(); private: TestCompiler test_compiler; @@ -556,5 +557,33 @@ void tst_qmake::proFileCache() QVERIFY( test_compiler.qmake( workDir, "pro_file_cache" )); } +void tst_qmake::json() +{ + QString workDir = base_path + "/testdata/json"; + QVERIFY( test_compiler.qmake( workDir, "json.pro" )); + QString output = test_compiler.commandOutput(); + + // all keys + QVERIFY(output.contains("json._KEYS_ array false null number object string true")); + // array + QVERIFY(output.contains("json.array._KEYS_ 0 1 2")); + QVERIFY(output.contains("json.array.0 arrayItem1")); + QVERIFY(output.contains("json.array.1 arrayItem2")); + QVERIFY(output.contains("json.array.2 arrayItem3")); + // object + QVERIFY(output.contains("json.object._KEYS_ key1 key2")); + QVERIFY(output.contains("json.object.key1 objectValue1")); + QVERIFY(output.contains("json.object.key1 objectValue1")); + // value types + QVERIFY(output.contains("json.string: test string")); + QVERIFY(output.contains("json.number: 999")); + QVERIFY(output.contains("json.true: true")); + QVERIFY(output.contains("json.false: false")); + QVERIFY(output.contains("json.null:")); + // functional booleans + QVERIFY(output.contains("json.true is true")); + QVERIFY(output.contains("json.false is false")); +} + QTEST_MAIN(tst_qmake) #include "tst_qmake.moc" |