summaryrefslogtreecommitdiff
path: root/Build/source/libs/harfbuzz/harfbuzz-src/src/test-algs.cc
diff options
context:
space:
mode:
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.cc15
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;
}