diff options
Diffstat (limited to 'Build/source/libs/harfbuzz/harfbuzz-src/src/test-algs.cc')
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-src/src/test-algs.cc | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/test-algs.cc b/Build/source/libs/harfbuzz/harfbuzz-src/src/test-algs.cc index f8b8ff66682..450a7c439b7 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-src/src/test-algs.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-src/src/test-algs.cc @@ -26,6 +26,7 @@ #include "hb.hh" #include "hb-algs.hh" +#include "hb-set.hh" static char * @@ -91,5 +92,19 @@ main (int argc, char **argv) assert (++hb_inc (x) == 3); assert (x == 3); + hb_set_t set1 {1}; + hb_set_t set2 {2}; + + assert (hb_hash (set1) != hb_hash (set2)); + assert (hb_hash (set1) == hb_hash (hb_set_t {1})); + assert (hb_hash (set1) != hb_hash (hb_set_t {})); + assert (hb_hash (set1) != hb_hash (hb_set_t {2})); + assert (hb_hash (set2) == hb_hash (hb_set_t {2})); + + /* hb_hash, unlike std::hash, dereferences pointers. */ + assert (hb_hash (set1) == hb_hash (&set1)); + assert (hb_hash (set1) == hb_hash (hb::shared_ptr<hb_set_t> {hb_set_reference (&set1)})); + assert (hb_hash (set1) == hb_hash (hb::unique_ptr<hb_set_t> {hb_set_reference (&set1)})); + return 0; } |