diff options
| author | Feoramund <161657516+Feoramund@users.noreply.github.com> | 2024-06-22 16:51:37 -0400 |
|---|---|---|
| committer | Feoramund <161657516+Feoramund@users.noreply.github.com> | 2024-06-22 18:21:32 -0400 |
| commit | e9b882be058f08f014ea0e598c18b5df05a86a8a (patch) | |
| tree | de81e329c56202e9410d476c9b57b14d481ad658 /tests/core/encoding | |
| parent | 859cbf7d72ffc080f6e0224980bbed7458f1d07e (diff) | |
Add vendor-specific version 8 UUID generation (hashing)
Diffstat (limited to 'tests/core/encoding')
| -rw-r--r-- | tests/core/encoding/uuid/test_core_uuid.odin | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/core/encoding/uuid/test_core_uuid.odin b/tests/core/encoding/uuid/test_core_uuid.odin index 3a0d621ca..aeb73c841 100644 --- a/tests/core/encoding/uuid/test_core_uuid.odin +++ b/tests/core/encoding/uuid/test_core_uuid.odin @@ -18,6 +18,7 @@ test_version_and_variant :: proc(t: ^testing.T) { v5 := uuid_legacy.generate_v5(uuid.Namespace_DNS, "") v6 := uuid.generate_v6() v7 := uuid.generate_v7() + v8 := uuid.generate_v8_hash(uuid.Namespace_DNS, "", .SHA512) testing.expect_value(t, uuid.version(v1), 1) testing.expect_value(t, uuid.variant(v1), uuid.Variant_Type.RFC_4122) @@ -31,6 +32,8 @@ test_version_and_variant :: proc(t: ^testing.T) { testing.expect_value(t, uuid.variant(v6), uuid.Variant_Type.RFC_4122) testing.expect_value(t, uuid.version(v7), 7) testing.expect_value(t, uuid.variant(v7), uuid.Variant_Type.RFC_4122) + testing.expect_value(t, uuid.version(v8), 8) + testing.expect_value(t, uuid.variant(v8), uuid.Variant_Type.RFC_4122) } @(test) @@ -82,6 +85,17 @@ test_timestamps :: proc(t: ^testing.T) { } @(test) +test_v8_hash_implementation :: proc(t: ^testing.T) { + // This example and its results are derived from RFC 9562. + // https://www.rfc-editor.org/rfc/rfc9562.html#name-example-of-a-uuidv8-value-n + + id := uuid.generate_v8_hash(uuid.Namespace_DNS, "www.example.com", .SHA256) + id_str := uuid.to_string(id) + defer delete(id_str) + testing.expect_value(t, id_str, "5c146b14-3c52-8afd-938a-375d0df1fbf6") +} + +@(test) test_legacy_namespaced_uuids :: proc(t: ^testing.T) { TEST_NAME :: "0123456789ABCDEF0123456789ABCDEF" |