diff options
Diffstat (limited to 't/metadata_pointers_t.c')
| -rw-r--r-- | t/metadata_pointers_t.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/t/metadata_pointers_t.c b/t/metadata_pointers_t.c new file mode 100644 index 0000000..1c2e148 --- /dev/null +++ b/t/metadata_pointers_t.c @@ -0,0 +1,32 @@ +#include "maxminddb_test_helper.h" + +void run_tests(int mode, const char *mode_desc) +{ + const char *filename = "MaxMind-DB-test-metadata-pointers.mmdb"; + const char *path = test_database_path(filename); + MMDB_s *mmdb = open_ok(path, mode, mode_desc); + free((void *)path); + + char *repeated_string = "Lots of pointers in metadata"; + + is(mmdb->metadata.database_type, repeated_string, + "decoded pointer database_type"); + + for (uint16_t i = 0; i < mmdb->metadata.description.count; i++) { + const char *language = + mmdb->metadata.description.descriptions[i]->language; + const char *description = + mmdb->metadata.description.descriptions[i]->description; + is(description, repeated_string, "%s description", language); + } + + MMDB_close(mmdb); + free(mmdb); +} + +int main(void) +{ + plan(NO_PLAN); + for_all_modes(&run_tests); + done_testing(); +} |
