File indexing completed on 2024-03-24 04:43:44
0001 /* 0002 SPDX-FileCopyrightText: 2022 Volker Krause <vkrause@kde.org> 0003 SPDX-License-Identifier: LGPL-2.0-or-later 0004 */ 0005 0006 #include "../src/lib/json/jsonp_p.h" 0007 0008 #include <QObject> 0009 #include <QTest> 0010 0011 using namespace KPublicTransport; 0012 0013 class JsonPTest: public QObject 0014 { 0015 Q_OBJECT 0016 private Q_SLOTS: 0017 void testDecode_data() 0018 { 0019 QTest::addColumn<QByteArray>("in"); 0020 QTest::addColumn<QByteArray>("out"); 0021 0022 QTest::newRow("empty") << QByteArray() << QByteArray(); 0023 QTest::newRow("minimal-wrapped-object") << QByteArray("({});") << QByteArray("{}"); 0024 QTest::newRow("wrapped-object") << QByteArray("parseJson({\"content\":{}, \"array\":[]});") << QByteArray("{\"content\":{}, \"array\":[]}"); 0025 QTest::newRow("minimal-wrapped-array") << QByteArray("([]);") << QByteArray("[]"); 0026 QTest::newRow("wrapped-array") << QByteArray("parseJson([{\"content\":{}, \"array\":[]}]);") << QByteArray("[{\"content\":{}, \"array\":[]}]"); 0027 QTest::newRow("unwrapped-object") << QByteArray("{\"content\":{}, \"array\":[]}") << QByteArray("{\"content\":{}, \"array\":[]}"); 0028 QTest::newRow("unwrapped-array") << QByteArray("[{\"content\":{}, \"array\":[]}]") << QByteArray("[{\"content\":{}, \"array\":[]}]"); 0029 0030 QTest::newRow("invalid-object") << QByteArray("}{") << QByteArray("}{"); 0031 QTest::newRow("invalid-array") << QByteArray("][") << QByteArray("]["); 0032 0033 QTest::newRow("invalid") << QByteArray("{[") << QByteArray("{["); 0034 QTest::newRow("invalid-mismatch") << QByteArray("{]") << QByteArray("{]"); 0035 } 0036 0037 void testDecode() 0038 { 0039 QFETCH(QByteArray, in); 0040 QFETCH(QByteArray, out); 0041 0042 QCOMPARE(JsonP::decode(in), out); 0043 } 0044 }; 0045 0046 QTEST_APPLESS_MAIN(JsonPTest) 0047 0048 #include "jsonptest.moc"