summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qndefmessage/tst_qndefmessage.cpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/auto/qndefmessage/tst_qndefmessage.cpp b/tests/auto/qndefmessage/tst_qndefmessage.cpp
index 476fad28..ba0dcd18 100644
--- a/tests/auto/qndefmessage/tst_qndefmessage.cpp
+++ b/tests/auto/qndefmessage/tst_qndefmessage.cpp
@@ -61,6 +61,7 @@ public:
private slots:
void tst_parse_data();
void tst_parse();
+ void messageParsingFromByteArray();
};
tst_QNdefMessage::tst_QNdefMessage()
@@ -415,6 +416,45 @@ void tst_QNdefMessage::tst_parse()
}
}
+void tst_QNdefMessage::messageParsingFromByteArray()
+{
+ const QByteArray reference("1234567890");
+ QNdefMessage message;
+ QNdefRecord first;
+ QVERIFY(first.isEmpty());
+ first.setTypeNameFormat(QNdefRecord::Uri);
+ QVERIFY(first.isEmpty());
+ first.setPayload(reference);
+ QCOMPARE(first.payload(), reference);
+ QVERIFY(!first.isEmpty());
+ QCOMPARE(first.typeNameFormat(), QNdefRecord::Uri);
+
+ message.append(first);
+
+ QNdefRecord second;
+
+ QCOMPARE(second.payload(), QByteArray());
+ QVERIFY(second.isEmpty());
+ QCOMPARE(second.typeNameFormat(), QNdefRecord::Empty);
+
+ message.append(second);
+
+ QByteArray result = message.toByteArray();
+ QNdefMessage messageCopy = QNdefMessage::fromByteArray(result);
+ QCOMPARE(messageCopy.size(), 2);
+
+ first = messageCopy.at(0);
+ second = messageCopy.at(1);
+
+ QCOMPARE(first.payload(), reference);
+ QVERIFY(!first.isEmpty());
+ QCOMPARE(first.typeNameFormat(), QNdefRecord::Uri);
+ QCOMPARE(second.payload(), QByteArray());
+ QVERIFY(second.isEmpty());
+ QCOMPARE(second.typeNameFormat(), QNdefRecord::Empty);
+
+}
+
QTEST_MAIN(tst_QNdefMessage)
#include "tst_qndefmessage.moc"