]> err.no Git - yubikey-personalization/commitdiff
add testing of ykp_ndef_as_text()
authorKlas Lindfors <klas@yubico.com>
Fri, 9 Nov 2012 14:06:57 +0000 (15:06 +0100)
committerKlas Lindfors <klas@yubico.com>
Fri, 9 Nov 2012 14:09:20 +0000 (15:09 +0100)
tests/test_ndef_construction.c

index 9ce029cfa1633232fe2d6509daaa033f991e227e..47c010408d99e7b078f483b553dd23827bb69613 100644 (file)
@@ -41,11 +41,15 @@ void _test_https_uri()
        YK_NDEF *ndef = ykp_alloc_ndef();
        char uri[] = "https://example.com/foo";
        int rc = ykp_construct_ndef_uri(ndef, uri);
+       char text[256];
        assert(rc == 1);
        assert(ndef->type == 'U');
        assert(ndef->data[0] == 0x04);
        assert(strncmp(ndef->data + 1, "example.com/foo", 15) == 0);
        assert(ndef->len == 16);
+       rc = ykp_ndef_as_text(ndef, text, 256);
+       assert(rc == 1);
+       assert(strncmp(uri, text, strlen(uri)) == 0);
        ykp_free_ndef(ndef);
 }
 
@@ -65,11 +69,15 @@ void _test_exact_uri()
        YK_NDEF *ndef = ykp_alloc_ndef();
        char uri[] = "https://www.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
        int rc = ykp_construct_ndef_uri(ndef, uri);
+       char text[256];
        assert(rc == 1);
        assert(ndef->type == 'U');
        assert(ndef->data[0] == 0x02);
        assert(strncmp(ndef->data + 1, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", NDEF_DATA_SIZE -1) == 0);
        assert(ndef->len == NDEF_DATA_SIZE);
+       rc = ykp_ndef_as_text(ndef, text, 256);
+       assert(rc == 1);
+       assert(strncmp(uri, text, strlen(uri)) == 0);
        ykp_free_ndef(ndef);
 }
 
@@ -78,12 +86,16 @@ void _test_exact_text()
        YK_NDEF *ndef = ykp_alloc_ndef();
        char text[] = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
        int rc = ykp_construct_ndef_text(ndef, text, "en", false);
+       char text2[256];
        assert(rc == 1);
        assert(ndef->type == 'T');
        assert(ndef->data[0] == 2);
        assert(strncmp(ndef->data + 1, "en", 2) == 0);
        assert(strncmp(ndef->data + 3, text, NDEF_DATA_SIZE - 3) == 0);
        assert(ndef->len == NDEF_DATA_SIZE);
+       rc = ykp_ndef_as_text(ndef, text2, 256);
+       assert(rc == 1);
+       assert(strncmp(text, text2, strlen(text)) == 0);
        ykp_free_ndef(ndef);
 }
 
@@ -93,12 +105,16 @@ void _test_other_lang_text()
        char text[] = "aaaaaaaaaaaaaaa";
        size_t text_len = strlen(text);
        int rc = ykp_construct_ndef_text(ndef, text, "sv-SE", true);
+       char text2[256];
        assert(rc == 1);
        assert(ndef->type == 'T');
        assert(ndef->data[0] == (0x80 & 5));
        assert(strncmp(ndef->data + 1, "sv-SE", 5) == 0);
        assert(strncmp(ndef->data + 6, text, text_len) == 0);
        assert(ndef->len == text_len + 6);
+       rc = ykp_ndef_as_text(ndef, text2, 256);
+       assert(rc == 1);
+       assert(strncmp(text, text2, strlen(text)));
        ykp_free_ndef(ndef);
 }