123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- #include "test.h"
- #include "namespace.h"
- static int
- test_namespace()
- {
- LSUP_NSMap *nsm = LSUP_nsmap_new();
- ASSERT (nsm != NULL, "Error creating namespace map!");
- EXPECT_PASS (
- LSUP_nsmap_add (nsm, "dc", "http://purl.org/dc/elements/1.1/"));
- EXPECT_PASS (LSUP_nsmap_add (nsm, "dcterms", "http://purl.org/dc/terms/"));
- // Look up prefix.
- EXPECT_STR_EQ (
- LSUP_nsmap_get_ns (nsm, "dc"), "http://purl.org/dc/elements/1.1/");
- EXPECT_STR_EQ (
- LSUP_nsmap_get_ns (nsm, "dcterms"), "http://purl.org/dc/terms/");
- // Prefixes longer than 7 chars are truncated.
- ASSERT (LSUP_nsmap_get_ns (nsm, "dctermsxx"), "http://purl.org/dc/terms/");
- ASSERT (LSUP_nsmap_get_ns (nsm, "none") == NULL, "Non-existent NS found!");
- // Lookup NS.
- EXPECT_STR_EQ (
- LSUP_nsmap_get_pfx (nsm, "http://purl.org/dc/elements/1.1/"), "dc");
- EXPECT_STR_EQ (
- LSUP_nsmap_get_pfx (nsm, "http://purl.org/dc/terms/"), "dcterms");
- // Normalize and denormalize URIs.
- char *fq_uri, *pfx_uri;
- fq_uri = "http://purl.org/dc/elements/1.1/title";
- EXPECT_PASS (LSUP_nsmap_denormalize_uri (nsm, fq_uri, &pfx_uri));
- EXPECT_STR_EQ (pfx_uri, "dc:title");
- fq_uri = NULL;
- EXPECT_PASS (LSUP_nsmap_normalize_uri (nsm, pfx_uri, &fq_uri));
- EXPECT_STR_EQ (fq_uri, "http://purl.org/dc/elements/1.1/title");
- EXPECT_PASS (LSUP_nsmap_remove (nsm, "dc"));
- ASSERT (
- LSUP_nsmap_remove (nsm, "none") == LSUP_NOACTION,
- "Wrong result for removal of non-existent prefix!");
- ASSERT (LSUP_nsmap_get_ns (nsm, "dc") == NULL, "Deleted NS found!");
- LSUP_nsmap_free (nsm);
- free (fq_uri);
- free (pfx_uri);
- return 0;
- }
- int namespace_tests()
- {
- RUN (test_namespace);
- return 0;
- }
|