summaryrefslogtreecommitdiff
path: root/Build/source/libs/harfbuzz/harfbuzz-src/src/test-map.cc
diff options
context:
space:
mode:
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.cc83
1 files changed, 33 insertions, 50 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 721edefe37b..4cb248bd40e 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-src/src/test-map.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-src/src/test-map.cc
@@ -20,7 +20,6 @@
* FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
* ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
* PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
- *
*/
#include "hb.hh"
@@ -28,11 +27,6 @@
#include "hb-set.hh"
#include <string>
-static const std::string invalid{"invalid"};
-static const hb_map_t invalid_map{};
-static const hb_set_t invalid_set{};
-static const hb_vector_t<unsigned> invalid_vector{};
-
int
main (int argc, char **argv)
{
@@ -128,19 +122,19 @@ main (int argc, char **argv)
/* Test class key / value types. */
{
- hb_hashmap_t<hb_bytes_t, int, std::nullptr_t, int, nullptr, 0> m1;
- hb_hashmap_t<int, hb_bytes_t, int, std::nullptr_t, 0, nullptr> m2;
- hb_hashmap_t<hb_bytes_t, hb_bytes_t, std::nullptr_t, std::nullptr_t, nullptr, nullptr> m3;
+ hb_hashmap_t<hb_bytes_t, int> m1;
+ hb_hashmap_t<int, hb_bytes_t> m2;
+ hb_hashmap_t<hb_bytes_t, hb_bytes_t> m3;
assert (m1.get_population () == 0);
assert (m2.get_population () == 0);
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;
+ hb_hashmap_t<int, int> m0;
+ hb_hashmap_t<std::string, int> m1;
+ hb_hashmap_t<int, std::string> m2;
+ hb_hashmap_t<std::string, std::string> m3;
std::string s;
for (unsigned i = 1; i < 1000; i++)
@@ -157,70 +151,59 @@ main (int argc, char **argv)
{
using pair = hb_pair_t<hb_codepoint_t, hb_codepoint_t>;
- hb_hashmap_t<hb_map_t, hb_map_t, const hb_map_t *, const hb_map_t *, &invalid_map, &invalid_map> m1;
- hb_hashmap_t<hb_map_t, hb_map_t, std::nullptr_t, std::nullptr_t, nullptr, nullptr> m2;
+ hb_hashmap_t<hb_map_t, hb_map_t> m1;
m1.set (hb_map_t (), hb_map_t {});
- m2.set (hb_map_t (), hb_map_t {});
-
m1.set (hb_map_t (), hb_map_t {pair (1u, 2u)});
- m2.set (hb_map_t (), hb_map_t {pair (1u, 2u)});
-
m1.set (hb_map_t {pair (1u, 2u)}, hb_map_t {pair (2u, 3u)});
- m2.set (hb_map_t {pair (1u, 2u)}, hb_map_t {pair (2u, 3u)});
-
- /* Cannot override empty map. */
- assert (m1.get (hb_map_t ()) == hb_map_t ());
- assert (m2.get (hb_map_t ()) == hb_map_t ());
- assert (m1.get (hb_map_t {pair (1u, 2u)}) == hb_map_t {pair (2u, 3u)});
- assert (m2.get (hb_map_t {pair (1u, 2u)}) == hb_map_t {pair (2u, 3u)});
+ assert (m1.get (hb_map_t ()) == hb_map_t {pair (1u, 2u)});
+ assert (m1.get (hb_map_t {pair (1u, 2u)}) == hb_map_t {pair (2u, 3u)});
}
/* Test hashing sets. */
{
- hb_hashmap_t<hb_set_t, hb_set_t, const hb_set_t *, const hb_set_t *, &invalid_set, &invalid_set> m1;
- hb_hashmap_t<hb_set_t, hb_set_t, std::nullptr_t, std::nullptr_t, nullptr, nullptr> m2;
+ hb_hashmap_t<hb_set_t, hb_set_t> m1;
m1.set (hb_set_t (), hb_set_t ());
- m2.set (hb_set_t (), hb_set_t ());
-
m1.set (hb_set_t (), hb_set_t {1});
- m2.set (hb_set_t (), hb_set_t {1});
-
m1.set (hb_set_t {1, 1000}, hb_set_t {2});
- m2.set (hb_set_t {1, 1000}, hb_set_t {2});
-
- /* Cannot override empty set. */
- assert (m1.get (hb_set_t ()) == hb_set_t ());
- assert (m2.get (hb_set_t ()) == hb_set_t ());
+ assert (m1.get (hb_set_t ()) == hb_set_t {1});
assert (m1.get (hb_set_t {1000, 1}) == hb_set_t {2});
- assert (m2.get (hb_set_t {1000, 1}) == hb_set_t {2});
}
/* Test hashing vectors. */
{
using vector_t = hb_vector_t<unsigned>;
- hb_hashmap_t<vector_t, vector_t, const vector_t *, const vector_t *, &invalid_vector, &invalid_vector> m1;
- hb_hashmap_t<vector_t, vector_t, std::nullptr_t, std::nullptr_t, nullptr, nullptr> m2;
+ hb_hashmap_t<vector_t, vector_t> m1;
m1.set (vector_t (), vector_t ());
- m2.set (vector_t (), vector_t ());
-
m1.set (vector_t (), vector_t {1});
- m2.set (vector_t (), vector_t {1});
-
m1.set (vector_t {1}, vector_t {2});
- m2.set (vector_t {1}, vector_t {2});
-
- /* Cannot override empty vector. */
- assert (m1.get (vector_t ()) == vector_t ());
- assert (m2.get (vector_t ()) == vector_t ());
+ assert (m1.get (vector_t ()) == vector_t {1});
assert (m1.get (vector_t {1}) == vector_t {2});
- assert (m2.get (vector_t {1}) == vector_t {2});
+ }
+
+ /* Test hb::shared_ptr. */
+ hb_hash (hb::shared_ptr<hb_set_t> ());
+ {
+ hb_hashmap_t<hb::shared_ptr<hb_set_t>, hb::shared_ptr<hb_set_t>> m;
+
+ m.get (hb::shared_ptr<hb_set_t> ());
+ m.get (hb::shared_ptr<hb_set_t> (hb_set_get_empty ()));
+ m.iter ();
+ }
+ /* Test hb::unique_ptr. */
+ hb_hash (hb::unique_ptr<hb_set_t> ());
+ {
+ hb_hashmap_t<hb::unique_ptr<hb_set_t>, hb::unique_ptr<hb_set_t>> m;
+
+ m.get (hb::unique_ptr<hb_set_t> ());
+ m.get (hb::unique_ptr<hb_set_t> (hb_set_get_empty ()));
+ m.iter_ref ();
}
return 0;