diff options
Diffstat (limited to 'Build/source/libs/harfbuzz/harfbuzz-src/src/test-map.cc')
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-src/src/test-map.cc | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/test-map.cc b/Build/source/libs/harfbuzz/harfbuzz-src/src/test-map.cc index 8c167b1da19..fd2b2f0e642 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-src/src/test-map.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-src/src/test-map.cc @@ -25,7 +25,9 @@ #include "hb.hh" #include "hb-map.hh" +#include <string> +static const std::string invalid{"invalid"}; int main (int argc, char **argv) @@ -76,6 +78,14 @@ main (int argc, char **argv) assert (v.get_population () == 2); } + /* Test call fini() twice. */ + { + hb_map_t s; + for (int i = 0; i < 16; i++) + s.set(i, i+1); + s.fini(); + } + /* Test initializing from iterator. */ { hb_map_t s; @@ -108,5 +118,22 @@ main (int argc, char **argv) assert (m3.get_population () == 0); } + { + hb_hashmap_t<int, int, int, int, 0, 0> m0; + hb_hashmap_t<std::string, int, const std::string*, int, &invalid, 0> m1; + hb_hashmap_t<int, std::string, int, const std::string*, 0, &invalid> m2; + hb_hashmap_t<std::string, std::string, const std::string*, const std::string*, &invalid, &invalid> m3; + + std::string s; + for (unsigned i = 1; i < 1000; i++) + { + s += "x"; + m0.set (i, i); + m1.set (s, i); + m2.set (i, s); + m3.set (s, s); + } + } + return 0; } |