From 3d1db97b4d5b5846a25ac6e3a9deb7cd66b0bc63 Mon Sep 17 00:00:00 2001 From: Davis Peixoto Date: Tue, 1 Aug 2017 15:40:21 -0300 Subject: [PATCH 1/3] 173 - Expose UUID versions - Alternative 1 https://github.com/ramsey/uuid/issues/173 Creating constants on Uuid object, so they can be used as - Uuid::UUID_TYPE_TIME - Uuid::UUID_TYPE_RANDOM Signed-off-by: Davis Peixoto --- src/Uuid.php | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/Uuid.php b/src/Uuid.php index 241dac4..6855820 100644 --- a/src/Uuid.php +++ b/src/Uuid.php @@ -95,6 +95,26 @@ class Uuid implements UuidInterface */ const VALID_PATTERN = '^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$'; + /** + * Version 1 (time-based) UUID object constant identifier + */ + const UUID_TYPE_TIME = 1; + + /** + * Version 3 (name-based and hashed with MD5) UUID object constant identifier + */ + const UUID_TYPE_HASH_MD5 = 3; + + /** + * Version 4 (random) UUID object constant identifier + */ + const UUID_TYPE_RANDOM = 4; + + /** + * Version 5 (name-based and hashed with SHA1) UUID object constant identifier + */ + const UUID_TYPE_HASH_SHA1 = 5; + /** * The factory to use when creating UUIDs. * @var UuidFactoryInterface From 0915c7bdc26dea18c69b2a4c4f92b103af46cfdd Mon Sep 17 00:00:00 2001 From: Davis Peixoto Date: Wed, 2 Aug 2017 08:55:26 -0300 Subject: [PATCH 2/3] 173 - Expose UUID versions - Alternative 1 https://github.com/ramsey/uuid/issues/173 Creating constants on Uuid object, so they can be used as - UUID::UUID_TYPE_TIME - UUID::UUID_TYPE_RANDOM # Alternative 1 Create constants on Uuid class Signed-off-by: Davis Peixoto --- src/Uuid.php | 5 +++++ tests/UuidTest.php | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) diff --git a/src/Uuid.php b/src/Uuid.php index 6855820..fa07aa5 100644 --- a/src/Uuid.php +++ b/src/Uuid.php @@ -100,6 +100,11 @@ class Uuid implements UuidInterface */ const UUID_TYPE_TIME = 1; + /** + * Version 2 (identifier-based) UUID object constant identifier + */ + const UUID_TYPE_IDENTIFIER = 2; + /** * Version 3 (name-based and hashed with MD5) UUID object constant identifier */ diff --git a/tests/UuidTest.php b/tests/UuidTest.php index d4273fa..95259c2 100644 --- a/tests/UuidTest.php +++ b/tests/UuidTest.php @@ -1968,4 +1968,49 @@ class UuidTest extends TestCase $this->assertEquals('b6c54489-38a0-5f50-a60a-fd8d76219cae', $uuid->toString()); } + + /** + * @depends testGetVersionForVersion1 + */ + public function testUuidVersionConstantForVersion1() + { + $uuid = Uuid::fromString('ff6f8cb0-c57d-11e1-9b21-0800200c9a66'); + $this->assertEquals($uuid->getVersion(), UUID::UUID_TYPE_TIME); + } + + /** + * @depends testGetVersionForVersion2 + */ + public function testUuidVersionConstantForVersion2() + { + $uuid = Uuid::fromString('6fa459ea-ee8a-2ca4-894e-db77e160355e'); + $this->assertEquals($uuid->getVersion(), UUID::UUID_TYPE_IDENTIFIER); + } + + /** + * @depends testGetVersionForVersion3 + */ + public function testUuidVersionConstantForVersion3() + { + $uuid = Uuid::fromString('6fa459ea-ee8a-3ca4-894e-db77e160355e'); + $this->assertEquals($uuid->getVersion(), UUID::UUID_TYPE_HASH_MD5); + } + + /** + * @depends testGetVersionForVersion4 + */ + public function testUuidVersionConstantForVersion4() + { + $uuid = Uuid::fromString('6fabf0bc-603a-42f2-925b-d9f779bd0032'); + $this->assertEquals($uuid->getVersion(), UUID::UUID_TYPE_RANDOM); + } + + /** + * @depends testGetVersionForVersion5 + */ + public function testUuidVersionConstantForVersion5() + { + $uuid = Uuid::fromString('886313e1-3b8a-5372-9b90-0c9aee199e5d'); + $this->assertEquals($uuid->getVersion(), UUID::UUID_TYPE_HASH_SHA1); + } } From 46071e69a12cb9f5c9c3c005156c99f56b3fc260 Mon Sep 17 00:00:00 2001 From: Davis Peixoto Date: Thu, 3 Aug 2017 21:12:10 -0300 Subject: [PATCH 3/3] 173 - Expose UUID versions - Alternative 1 https://github.com/ramsey/uuid/issues/173 Creating constants on Uuid object, so they can be used as - Uuid::UUID_TYPE_TIME - Uuid::UUID_TYPE_RANDOM # Alternative 1 Create constants on Uuid class Signed-off-by: Davis Peixoto --- tests/UuidTest.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/UuidTest.php b/tests/UuidTest.php index 95259c2..144f0a8 100644 --- a/tests/UuidTest.php +++ b/tests/UuidTest.php @@ -1975,7 +1975,7 @@ class UuidTest extends TestCase public function testUuidVersionConstantForVersion1() { $uuid = Uuid::fromString('ff6f8cb0-c57d-11e1-9b21-0800200c9a66'); - $this->assertEquals($uuid->getVersion(), UUID::UUID_TYPE_TIME); + $this->assertEquals($uuid->getVersion(), Uuid::UUID_TYPE_TIME); } /** @@ -1984,7 +1984,7 @@ class UuidTest extends TestCase public function testUuidVersionConstantForVersion2() { $uuid = Uuid::fromString('6fa459ea-ee8a-2ca4-894e-db77e160355e'); - $this->assertEquals($uuid->getVersion(), UUID::UUID_TYPE_IDENTIFIER); + $this->assertEquals($uuid->getVersion(), Uuid::UUID_TYPE_IDENTIFIER); } /** @@ -1993,7 +1993,7 @@ class UuidTest extends TestCase public function testUuidVersionConstantForVersion3() { $uuid = Uuid::fromString('6fa459ea-ee8a-3ca4-894e-db77e160355e'); - $this->assertEquals($uuid->getVersion(), UUID::UUID_TYPE_HASH_MD5); + $this->assertEquals($uuid->getVersion(), Uuid::UUID_TYPE_HASH_MD5); } /** @@ -2002,7 +2002,7 @@ class UuidTest extends TestCase public function testUuidVersionConstantForVersion4() { $uuid = Uuid::fromString('6fabf0bc-603a-42f2-925b-d9f779bd0032'); - $this->assertEquals($uuid->getVersion(), UUID::UUID_TYPE_RANDOM); + $this->assertEquals($uuid->getVersion(), Uuid::UUID_TYPE_RANDOM); } /** @@ -2011,6 +2011,6 @@ class UuidTest extends TestCase public function testUuidVersionConstantForVersion5() { $uuid = Uuid::fromString('886313e1-3b8a-5372-9b90-0c9aee199e5d'); - $this->assertEquals($uuid->getVersion(), UUID::UUID_TYPE_HASH_SHA1); + $this->assertEquals($uuid->getVersion(), Uuid::UUID_TYPE_HASH_SHA1); } }