void tst_QNdefRecord::tst_record() { // test empty record { QNdefRecord record; QVERIFY(record.isEmpty()); QCOMPARE(record.typeNameFormat(), QNdefRecord::Empty); QVERIFY(record.type().isEmpty()); QVERIFY(record.id().isEmpty()); QVERIFY(record.payload().isEmpty()); QVERIFY(!record.isRecordType<QNdefNfcTextRecord>()); QVERIFY(!record.isRecordType<QNdefNfcUriRecord>()); QCOMPARE(record, QNdefRecord()); QVERIFY(!(record != QNdefRecord())); } // test type name format { QNdefRecord record; record.setTypeNameFormat(QNdefRecord::Empty); QCOMPARE(record.typeNameFormat(), QNdefRecord::Empty); record.setTypeNameFormat(QNdefRecord::NfcRtd); QCOMPARE(record.typeNameFormat(), QNdefRecord::NfcRtd); record.setTypeNameFormat(QNdefRecord::Mime); QCOMPARE(record.typeNameFormat(), QNdefRecord::Mime); record.setTypeNameFormat(QNdefRecord::Uri); QCOMPARE(record.typeNameFormat(), QNdefRecord::Uri); record.setTypeNameFormat(QNdefRecord::ExternalRtd); QCOMPARE(record.typeNameFormat(), QNdefRecord::ExternalRtd); record.setTypeNameFormat(QNdefRecord::Unknown); QCOMPARE(record.typeNameFormat(), QNdefRecord::Unknown); record.setTypeNameFormat(QNdefRecord::TypeNameFormat(6)); QCOMPARE(record.typeNameFormat(), QNdefRecord::Unknown); record.setTypeNameFormat(QNdefRecord::TypeNameFormat(7)); QCOMPARE(record.typeNameFormat(), QNdefRecord::Unknown); } // test type { QNdefRecord record; record.setType("test type"); QCOMPARE(record.type(), QByteArray("test type")); } // test id { QNdefRecord record; record.setId("test id"); QCOMPARE(record.id(), QByteArray("test id")); } // test payload { QNdefRecord record; record.setPayload("test payload"); QVERIFY(!record.isEmpty()); QVERIFY(!record.payload().isEmpty()); QCOMPARE(record.payload(), QByteArray("test payload")); } // test copy { QNdefRecord record; record.setTypeNameFormat(QNdefRecord::ExternalRtd); record.setType("qt.nokia.com:test-rtd"); record.setId("test id"); record.setPayload("test payload"); QNdefRecord ccopy(record); QCOMPARE(record.typeNameFormat(), ccopy.typeNameFormat()); QCOMPARE(record.type(), ccopy.type()); QCOMPARE(record.id(), ccopy.id()); QCOMPARE(record.payload(), ccopy.payload()); QVERIFY(record == ccopy); QVERIFY(!(record != ccopy)); QNdefRecord acopy; acopy = record; QCOMPARE(record.typeNameFormat(), acopy.typeNameFormat()); QCOMPARE(record.type(), acopy.type()); QCOMPARE(record.id(), acopy.id()); QCOMPARE(record.payload(), acopy.payload()); QVERIFY(record == acopy); QVERIFY(!(record != acopy)); QVERIFY(record != QNdefRecord()); } // test comparison { QNdefRecord record; record.setTypeNameFormat(QNdefRecord::ExternalRtd); record.setType("qt.nokia.com:test-rtd"); record.setId("test id"); record.setPayload("test payload"); QNdefRecord other; other.setTypeNameFormat(QNdefRecord::ExternalRtd); other.setType("qt.nokia.com:test-other-rtd"); other.setId("test other id"); other.setPayload("test other payload"); QVERIFY(record != other); } }
static inline QNdefRecord castToMimeRecord(const QNdefRecord &record) { if (record.typeNameFormat() != QNdefRecord::Mime) return createMimeRecord(); return record; }