mirror of
https://github.com/ramsey/uuid.git
synced 2026-06-15 16:07:55 +03:00
feat: introduce Variant enum and use instead of constants
This commit is contained in:
+1
-1
@@ -9,7 +9,7 @@
|
||||
"guid"
|
||||
],
|
||||
"require": {
|
||||
"php": "^8.0",
|
||||
"php": "^8.1",
|
||||
"ext-ctype": "*",
|
||||
"ext-json": "*",
|
||||
"brick/math": "^0.8 || ^0.9"
|
||||
|
||||
+7
-5
@@ -31,12 +31,14 @@ class BinaryUtils
|
||||
*
|
||||
* @psalm-pure
|
||||
*/
|
||||
public static function applyVariant(int $clockSeq): int
|
||||
public static function applyVariant(int $clockSeq, Variant $variant = Variant::Rfc4122): int
|
||||
{
|
||||
$clockSeq = $clockSeq & 0x3fff;
|
||||
$clockSeq |= 0x8000;
|
||||
|
||||
return $clockSeq;
|
||||
return match ($variant) {
|
||||
Variant::ReservedNcs => $clockSeq & 0x7fff,
|
||||
Variant::Rfc4122 => $clockSeq & 0x3fff | 0x8000,
|
||||
Variant::ReservedMicrosoft => $clockSeq & 0x1fff | 0xc000,
|
||||
Variant::ReservedFuture => $clockSeq & 0x1fff | 0xe000,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+2
-2
@@ -21,7 +21,7 @@ use Ramsey\Uuid\Rfc4122\NilTrait;
|
||||
use Ramsey\Uuid\Rfc4122\VariantTrait;
|
||||
use Ramsey\Uuid\Rfc4122\VersionTrait;
|
||||
use Ramsey\Uuid\Type\Hexadecimal;
|
||||
use Ramsey\Uuid\Uuid;
|
||||
use Ramsey\Uuid\Variant;
|
||||
|
||||
use function bin2hex;
|
||||
use function dechex;
|
||||
@@ -189,6 +189,6 @@ final class Fields implements FieldsInterface
|
||||
|
||||
$variant = $this->getVariant();
|
||||
|
||||
return $variant === Uuid::RFC_4122 || $variant === Uuid::RESERVED_MICROSOFT;
|
||||
return $variant === Variant::Rfc4122 || $variant === Variant::ReservedMicrosoft;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ use Ramsey\Uuid\Exception\InvalidArgumentException;
|
||||
use Ramsey\Uuid\Fields\SerializableFieldsTrait;
|
||||
use Ramsey\Uuid\Type\Hexadecimal;
|
||||
use Ramsey\Uuid\Uuid;
|
||||
use Ramsey\Uuid\Variant;
|
||||
|
||||
use function bin2hex;
|
||||
use function dechex;
|
||||
@@ -189,6 +190,6 @@ final class Fields implements FieldsInterface
|
||||
return true;
|
||||
}
|
||||
|
||||
return $this->getVariant() === Uuid::RFC_4122;
|
||||
return $this->getVariant() === Variant::Rfc4122;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ namespace Ramsey\Uuid\Rfc4122;
|
||||
|
||||
use Ramsey\Uuid\Fields\FieldsInterface as BaseFieldsInterface;
|
||||
use Ramsey\Uuid\Type\Hexadecimal;
|
||||
use Ramsey\Uuid\Variant;
|
||||
|
||||
/**
|
||||
* RFC 4122 defines fields for a specific variant of UUID
|
||||
@@ -95,7 +96,7 @@ interface FieldsInterface extends BaseFieldsInterface
|
||||
*
|
||||
* @link http://tools.ietf.org/html/rfc4122#section-4.1.1 RFC 4122, § 4.1.1: Variant
|
||||
*/
|
||||
public function getVariant(): int;
|
||||
public function getVariant(): Variant;
|
||||
|
||||
/**
|
||||
* Returns the version
|
||||
|
||||
@@ -15,7 +15,7 @@ declare(strict_types=1);
|
||||
namespace Ramsey\Uuid\Rfc4122;
|
||||
|
||||
use Ramsey\Uuid\Exception\InvalidBytesException;
|
||||
use Ramsey\Uuid\Uuid;
|
||||
use Ramsey\Uuid\Variant;
|
||||
|
||||
use function decbin;
|
||||
use function str_pad;
|
||||
@@ -41,18 +41,11 @@ trait VariantTrait
|
||||
/**
|
||||
* Returns the variant identifier, according to RFC 4122, for the given bytes
|
||||
*
|
||||
* The following values may be returned:
|
||||
*
|
||||
* - `0` -- Reserved, NCS backward compatibility.
|
||||
* - `2` -- The variant specified in RFC 4122.
|
||||
* - `6` -- Reserved, Microsoft Corporation backward compatibility.
|
||||
* - `7` -- Reserved for future definition.
|
||||
*
|
||||
* @link https://tools.ietf.org/html/rfc4122#section-4.1.1 RFC 4122, § 4.1.1: Variant
|
||||
*
|
||||
* @return int The variant identifier, according to RFC 4122
|
||||
* @return Variant The variant identifier, according to RFC 4122
|
||||
*/
|
||||
public function getVariant(): int
|
||||
public function getVariant(): Variant
|
||||
{
|
||||
if (strlen($this->getBytes()) !== 16) {
|
||||
throw new InvalidBytesException('Invalid number of bytes');
|
||||
@@ -76,13 +69,13 @@ trait VariantTrait
|
||||
$msb = substr($binary, 0, 3);
|
||||
|
||||
if ($msb === '111') {
|
||||
$variant = Uuid::RESERVED_FUTURE;
|
||||
$variant = Variant::ReservedFuture;
|
||||
} elseif ($msb === '110') {
|
||||
$variant = Uuid::RESERVED_MICROSOFT;
|
||||
} elseif (strpos($msb, '10') === 0) {
|
||||
$variant = Uuid::RFC_4122;
|
||||
$variant = Variant::ReservedMicrosoft;
|
||||
} elseif (str_starts_with($msb, '10')) {
|
||||
$variant = Variant::Rfc4122;
|
||||
} else {
|
||||
$variant = Uuid::RESERVED_NCS;
|
||||
$variant = Variant::ReservedNcs;
|
||||
}
|
||||
|
||||
return $variant;
|
||||
|
||||
@@ -80,34 +80,6 @@ class Uuid implements Rfc4122UuidInterface
|
||||
*/
|
||||
public const NIL = '00000000-0000-0000-0000-000000000000';
|
||||
|
||||
/**
|
||||
* Variant: reserved, NCS backward compatibility
|
||||
*
|
||||
* @link http://tools.ietf.org/html/rfc4122#section-4.1.1 RFC 4122, § 4.1.1: Variant
|
||||
*/
|
||||
public const RESERVED_NCS = 0;
|
||||
|
||||
/**
|
||||
* Variant: the UUID layout specified in RFC 4122
|
||||
*
|
||||
* @link http://tools.ietf.org/html/rfc4122#section-4.1.1 RFC 4122, § 4.1.1: Variant
|
||||
*/
|
||||
public const RFC_4122 = 2;
|
||||
|
||||
/**
|
||||
* Variant: reserved, Microsoft Corporation backward compatibility
|
||||
*
|
||||
* @link http://tools.ietf.org/html/rfc4122#section-4.1.1 RFC 4122, § 4.1.1: Variant
|
||||
*/
|
||||
public const RESERVED_MICROSOFT = 6;
|
||||
|
||||
/**
|
||||
* Variant: reserved for future definition
|
||||
*
|
||||
* @link http://tools.ietf.org/html/rfc4122#section-4.1.1 RFC 4122, § 4.1.1: Variant
|
||||
*/
|
||||
public const RESERVED_FUTURE = 7;
|
||||
|
||||
/**
|
||||
* @deprecated Use {@see ValidatorInterface::getPattern()} instead.
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Ramsey\Uuid;
|
||||
|
||||
enum Variant: int
|
||||
{
|
||||
/**
|
||||
* Variant: reserved, NCS backward compatibility
|
||||
*
|
||||
* @link http://tools.ietf.org/html/rfc4122#section-4.1.1 RFC 4122, § 4.1.1: Variant
|
||||
*/
|
||||
case ReservedNcs = 0;
|
||||
|
||||
/**
|
||||
* Variant: the UUID layout specified in RFC 4122
|
||||
*
|
||||
* @link http://tools.ietf.org/html/rfc4122#section-4.1.1 RFC 4122, § 4.1.1: Variant
|
||||
*/
|
||||
case Rfc4122 = 2;
|
||||
|
||||
/**
|
||||
* Variant: reserved, Microsoft Corporation backward compatibility
|
||||
*
|
||||
* @link http://tools.ietf.org/html/rfc4122#section-4.1.1 RFC 4122, § 4.1.1: Variant
|
||||
*/
|
||||
case ReservedMicrosoft = 6;
|
||||
|
||||
/**
|
||||
* Variant: reserved for future definition
|
||||
*
|
||||
* @link http://tools.ietf.org/html/rfc4122#section-4.1.1 RFC 4122, § 4.1.1: Variant
|
||||
*/
|
||||
case ReservedFuture = 7;
|
||||
}
|
||||
@@ -5,6 +5,7 @@ declare(strict_types=1);
|
||||
namespace Ramsey\Uuid\Test;
|
||||
|
||||
use Ramsey\Uuid\BinaryUtils;
|
||||
use Ramsey\Uuid\Variant;
|
||||
|
||||
use function dechex;
|
||||
|
||||
@@ -22,10 +23,10 @@ class BinaryUtilsTest extends TestCase
|
||||
/**
|
||||
* @dataProvider provideVariantTestValues
|
||||
*/
|
||||
public function testApplyVariant(int $clockSeq, int $expectedInt, string $expectedHex): void
|
||||
public function testApplyVariant(int $clockSeq, Variant $variant, int $expectedInt, string $expectedHex): void
|
||||
{
|
||||
$this->assertSame($expectedInt, BinaryUtils::applyVariant($clockSeq));
|
||||
$this->assertSame($expectedHex, dechex(BinaryUtils::applyVariant($clockSeq)));
|
||||
$this->assertSame($expectedInt, BinaryUtils::applyVariant($clockSeq, $variant));
|
||||
$this->assertSame($expectedHex, dechex(BinaryUtils::applyVariant($clockSeq, $variant)));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -128,108 +129,128 @@ class BinaryUtilsTest extends TestCase
|
||||
}
|
||||
|
||||
/**
|
||||
* @phpcsSuppress SlevomatCodingStandard.TypeHints.ReturnTypeHint.MissingTraversableTypeHintSpecification
|
||||
* @return array<array{clockSeq: int, variant: Variant, expectedInt: int, expectedHex: string}>
|
||||
*/
|
||||
public function provideVariantTestValues(): array
|
||||
{
|
||||
return [
|
||||
[
|
||||
'clockSeq' => 0,
|
||||
'variant' => Variant::Rfc4122,
|
||||
'expectedInt' => 32768,
|
||||
'expectedHex' => '8000',
|
||||
],
|
||||
[
|
||||
'clockSeq' => 4096,
|
||||
'variant' => Variant::Rfc4122,
|
||||
'expectedInt' => 36864,
|
||||
'expectedHex' => '9000',
|
||||
],
|
||||
[
|
||||
'clockSeq' => 8192,
|
||||
'variant' => Variant::Rfc4122,
|
||||
'expectedInt' => 40960,
|
||||
'expectedHex' => 'a000',
|
||||
],
|
||||
[
|
||||
'clockSeq' => 12288,
|
||||
'variant' => Variant::Rfc4122,
|
||||
'expectedInt' => 45056,
|
||||
'expectedHex' => 'b000',
|
||||
],
|
||||
[
|
||||
'clockSeq' => 4095,
|
||||
'variant' => Variant::Rfc4122,
|
||||
'expectedInt' => 36863,
|
||||
'expectedHex' => '8fff',
|
||||
],
|
||||
[
|
||||
'clockSeq' => 8191,
|
||||
'variant' => Variant::Rfc4122,
|
||||
'expectedInt' => 40959,
|
||||
'expectedHex' => '9fff',
|
||||
],
|
||||
[
|
||||
'clockSeq' => 12287,
|
||||
'variant' => Variant::Rfc4122,
|
||||
'expectedInt' => 45055,
|
||||
'expectedHex' => 'afff',
|
||||
],
|
||||
[
|
||||
'clockSeq' => 16383,
|
||||
'variant' => Variant::Rfc4122,
|
||||
'expectedInt' => 49151,
|
||||
'expectedHex' => 'bfff',
|
||||
],
|
||||
[
|
||||
'clockSeq' => 16384,
|
||||
'variant' => Variant::Rfc4122,
|
||||
'expectedInt' => 32768,
|
||||
'expectedHex' => '8000',
|
||||
],
|
||||
[
|
||||
'clockSeq' => 20480,
|
||||
'variant' => Variant::Rfc4122,
|
||||
'expectedInt' => 36864,
|
||||
'expectedHex' => '9000',
|
||||
],
|
||||
[
|
||||
'clockSeq' => 24576,
|
||||
'variant' => Variant::Rfc4122,
|
||||
'expectedInt' => 40960,
|
||||
'expectedHex' => 'a000',
|
||||
],
|
||||
[
|
||||
'clockSeq' => 28672,
|
||||
'variant' => Variant::Rfc4122,
|
||||
'expectedInt' => 45056,
|
||||
'expectedHex' => 'b000',
|
||||
],
|
||||
[
|
||||
'clockSeq' => 32768,
|
||||
'variant' => Variant::Rfc4122,
|
||||
'expectedInt' => 32768,
|
||||
'expectedHex' => '8000',
|
||||
],
|
||||
[
|
||||
'clockSeq' => 36864,
|
||||
'variant' => Variant::Rfc4122,
|
||||
'expectedInt' => 36864,
|
||||
'expectedHex' => '9000',
|
||||
],
|
||||
[
|
||||
'clockSeq' => 40960,
|
||||
'variant' => Variant::Rfc4122,
|
||||
'expectedInt' => 40960,
|
||||
'expectedHex' => 'a000',
|
||||
],
|
||||
[
|
||||
'clockSeq' => 45056,
|
||||
'variant' => Variant::Rfc4122,
|
||||
'expectedInt' => 45056,
|
||||
'expectedHex' => 'b000',
|
||||
],
|
||||
[
|
||||
'clockSeq' => 36863,
|
||||
'variant' => Variant::Rfc4122,
|
||||
'expectedInt' => 36863,
|
||||
'expectedHex' => '8fff',
|
||||
],
|
||||
[
|
||||
'clockSeq' => 40959,
|
||||
'variant' => Variant::Rfc4122,
|
||||
'expectedInt' => 40959,
|
||||
'expectedHex' => '9fff',
|
||||
],
|
||||
[
|
||||
'clockSeq' => 45055,
|
||||
'variant' => Variant::Rfc4122,
|
||||
'expectedInt' => 45055,
|
||||
'expectedHex' => 'afff',
|
||||
],
|
||||
[
|
||||
'clockSeq' => 49151,
|
||||
'variant' => Variant::Rfc4122,
|
||||
'expectedInt' => 49151,
|
||||
'expectedHex' => 'bfff',
|
||||
],
|
||||
|
||||
@@ -2,18 +2,16 @@
|
||||
|
||||
namespace Ramsey\Uuid\Test;
|
||||
|
||||
use Ramsey\Uuid\Codec\CodecInterface;
|
||||
use Ramsey\Uuid\Codec\TimestampFirstCombCodec;
|
||||
use Ramsey\Uuid\Converter\TimeConverterInterface;
|
||||
use Ramsey\Uuid\Generator\CombGenerator;
|
||||
use Ramsey\Uuid\Generator\DefaultTimeGenerator;
|
||||
use Ramsey\Uuid\Math\BrickMathCalculator;
|
||||
use Ramsey\Uuid\Rfc4122\UuidInterface;
|
||||
use Ramsey\Uuid\Rfc4122\UuidV1;
|
||||
use Ramsey\Uuid\Type\Hexadecimal;
|
||||
use Ramsey\Uuid\Type\Time;
|
||||
use Ramsey\Uuid\Uuid;
|
||||
use Ramsey\Uuid\UuidFactory;
|
||||
use Ramsey\Uuid\Variant;
|
||||
use stdClass;
|
||||
|
||||
/**
|
||||
@@ -81,7 +79,7 @@ class ExpectedBehaviorTest extends TestCase
|
||||
. $uuid->getFields()->getNode()->toString()
|
||||
);
|
||||
|
||||
$this->assertSame(2, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(Variant::Rfc4122, $uuid->getFields()->getVariant());
|
||||
$this->assertSame((int) substr($method, -1), $uuid->getFields()->getVersion());
|
||||
$this->assertTrue(ctype_digit((string) $uuid->getInteger()));
|
||||
}
|
||||
@@ -204,7 +202,7 @@ class ExpectedBehaviorTest extends TestCase
|
||||
$this->assertInstanceOf('Ramsey\Uuid\UuidInterface', $uuid);
|
||||
$this->assertSame($string, $uuid->toString());
|
||||
$this->assertSame($version, $uuid->getFields()->getVersion());
|
||||
$this->assertSame($variant, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(Variant::from($variant), $uuid->getFields()->getVariant());
|
||||
|
||||
$components = explode('-', $string);
|
||||
|
||||
@@ -234,7 +232,7 @@ class ExpectedBehaviorTest extends TestCase
|
||||
$this->assertInstanceOf('Ramsey\Uuid\UuidInterface', $uuid);
|
||||
$this->assertSame($string, $uuid->toString());
|
||||
$this->assertSame($version, $uuid->getFields()->getVersion());
|
||||
$this->assertSame($variant, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(Variant::from($variant), $uuid->getFields()->getVariant());
|
||||
|
||||
$components = explode('-', $string);
|
||||
|
||||
@@ -264,7 +262,7 @@ class ExpectedBehaviorTest extends TestCase
|
||||
$this->assertInstanceOf('Ramsey\Uuid\UuidInterface', $uuid);
|
||||
$this->assertSame($string, $uuid->toString());
|
||||
$this->assertSame($version, $uuid->getFields()->getVersion());
|
||||
$this->assertSame($variant, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(Variant::from($variant), $uuid->getFields()->getVariant());
|
||||
|
||||
$components = explode('-', $string);
|
||||
|
||||
@@ -540,7 +538,7 @@ class ExpectedBehaviorTest extends TestCase
|
||||
$expectedBytes = hex2bin($expectedHex);
|
||||
|
||||
$this->assertInstanceOf('Ramsey\Uuid\UuidInterface', $uuid);
|
||||
$this->assertSame(2, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(Variant::Rfc4122, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(4, $uuid->getFields()->getVersion());
|
||||
$this->assertSame($expectedBytes, $uuid->getBytes());
|
||||
$this->assertSame($expectedHex, (string) $uuid->getHex());
|
||||
@@ -562,10 +560,6 @@ class ExpectedBehaviorTest extends TestCase
|
||||
['NAMESPACE_OID', '6ba7b812-9dad-11d1-80b4-00c04fd430c8'],
|
||||
['NAMESPACE_X500', '6ba7b814-9dad-11d1-80b4-00c04fd430c8'],
|
||||
['NIL', '00000000-0000-0000-0000-000000000000'],
|
||||
['RESERVED_NCS', 0],
|
||||
['RFC_4122', 2],
|
||||
['RESERVED_MICROSOFT', 6],
|
||||
['RESERVED_FUTURE', 7],
|
||||
['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}$'],
|
||||
['UUID_TYPE_TIME', 1],
|
||||
['UUID_TYPE_IDENTIFIER', 2],
|
||||
|
||||
@@ -8,6 +8,7 @@ use Ramsey\Uuid\Exception\InvalidArgumentException;
|
||||
use Ramsey\Uuid\Guid\Fields;
|
||||
use Ramsey\Uuid\Test\TestCase;
|
||||
use Ramsey\Uuid\Type\Hexadecimal;
|
||||
use Ramsey\Uuid\Variant;
|
||||
|
||||
use function hex2bin;
|
||||
use function serialize;
|
||||
@@ -132,7 +133,7 @@ class FieldsTest extends TestCase
|
||||
['b08c6fff7dc5e111cb210800200c9a66', 'getTimeLow', 'ff6f8cb0'],
|
||||
['b08c6fff7dc5e111cb210800200c9a66', 'getTimeMid', 'c57d'],
|
||||
['b08c6fff7dc5e111cb210800200c9a66', 'getTimestamp', '1e1c57dff6f8cb0'],
|
||||
['b08c6fff7dc5e111cb210800200c9a66', 'getVariant', 6],
|
||||
['b08c6fff7dc5e111cb210800200c9a66', 'getVariant', Variant::ReservedMicrosoft],
|
||||
['b08c6fff7dc5e111cb210800200c9a66', 'getVersion', 1],
|
||||
['b08c6fff7dc5e111cb210800200c9a66', 'isNil', false],
|
||||
|
||||
@@ -145,7 +146,7 @@ class FieldsTest extends TestCase
|
||||
['b08c6fff7dc5e141db210800200c9a66', 'getTimeLow', 'ff6f8cb0'],
|
||||
['b08c6fff7dc5e141db210800200c9a66', 'getTimeMid', 'c57d'],
|
||||
['b08c6fff7dc5e141db210800200c9a66', 'getTimestamp', '1e1c57dff6f8cb0'],
|
||||
['b08c6fff7dc5e141db210800200c9a66', 'getVariant', 6],
|
||||
['b08c6fff7dc5e141db210800200c9a66', 'getVariant', Variant::ReservedMicrosoft],
|
||||
['b08c6fff7dc5e141db210800200c9a66', 'getVersion', 4],
|
||||
['b08c6fff7dc5e141db210800200c9a66', 'isNil', false],
|
||||
|
||||
@@ -158,7 +159,7 @@ class FieldsTest extends TestCase
|
||||
['b08c6fff7dc5e1318b210800200c9a66', 'getTimeLow', 'ff6f8cb0'],
|
||||
['b08c6fff7dc5e1318b210800200c9a66', 'getTimeMid', 'c57d'],
|
||||
['b08c6fff7dc5e1318b210800200c9a66', 'getTimestamp', '1e1c57dff6f8cb0'],
|
||||
['b08c6fff7dc5e1318b210800200c9a66', 'getVariant', 2],
|
||||
['b08c6fff7dc5e1318b210800200c9a66', 'getVariant', Variant::Rfc4122],
|
||||
['b08c6fff7dc5e1318b210800200c9a66', 'getVersion', 3],
|
||||
['b08c6fff7dc5e1318b210800200c9a66', 'isNil', false],
|
||||
|
||||
@@ -171,7 +172,7 @@ class FieldsTest extends TestCase
|
||||
['b08c6fff7dc5e1519b210800200c9a66', 'getTimeLow', 'ff6f8cb0'],
|
||||
['b08c6fff7dc5e1519b210800200c9a66', 'getTimeMid', 'c57d'],
|
||||
['b08c6fff7dc5e1519b210800200c9a66', 'getTimestamp', '1e1c57dff6f8cb0'],
|
||||
['b08c6fff7dc5e1519b210800200c9a66', 'getVariant', 2],
|
||||
['b08c6fff7dc5e1519b210800200c9a66', 'getVariant', Variant::Rfc4122],
|
||||
['b08c6fff7dc5e1519b210800200c9a66', 'getVersion', 5],
|
||||
['b08c6fff7dc5e1519b210800200c9a66', 'isNil', false],
|
||||
|
||||
@@ -184,7 +185,7 @@ class FieldsTest extends TestCase
|
||||
['00000000000000000000000000000000', 'getTimeLow', '00000000'],
|
||||
['00000000000000000000000000000000', 'getTimeMid', '0000'],
|
||||
['00000000000000000000000000000000', 'getTimestamp', '000000000000000'],
|
||||
['00000000000000000000000000000000', 'getVariant', 0],
|
||||
['00000000000000000000000000000000', 'getVariant', Variant::ReservedNcs],
|
||||
['00000000000000000000000000000000', 'getVersion', null],
|
||||
['00000000000000000000000000000000', 'isNil', true],
|
||||
];
|
||||
|
||||
@@ -8,7 +8,7 @@ use Ramsey\Uuid\Exception\InvalidArgumentException;
|
||||
use Ramsey\Uuid\Nonstandard\Fields;
|
||||
use Ramsey\Uuid\Test\TestCase;
|
||||
use Ramsey\Uuid\Type\Hexadecimal;
|
||||
use Ramsey\Uuid\Uuid;
|
||||
use Ramsey\Uuid\Variant;
|
||||
|
||||
use function hex2bin;
|
||||
use function serialize;
|
||||
@@ -60,7 +60,7 @@ class FieldsTest extends TestCase
|
||||
['ff6f8cb0-c57d-91e1-0b21-0800200c9a66', 'getTimeLow', 'ff6f8cb0'],
|
||||
['ff6f8cb0-c57d-91e1-0b21-0800200c9a66', 'getTimeMid', 'c57d'],
|
||||
['ff6f8cb0-c57d-91e1-0b21-0800200c9a66', 'getTimestamp', '1e1c57dff6f8cb0'],
|
||||
['ff6f8cb0-c57d-91e1-0b21-0800200c9a66', 'getVariant', Uuid::RESERVED_NCS],
|
||||
['ff6f8cb0-c57d-91e1-0b21-0800200c9a66', 'getVariant', Variant::ReservedNcs],
|
||||
['ff6f8cb0-c57d-91e1-0b21-0800200c9a66', 'getVersion', null],
|
||||
['ff6f8cb0-c57d-91e1-0b21-0800200c9a66', 'isNil', false],
|
||||
];
|
||||
|
||||
@@ -8,6 +8,7 @@ use Ramsey\Uuid\Exception\InvalidArgumentException;
|
||||
use Ramsey\Uuid\Rfc4122\Fields;
|
||||
use Ramsey\Uuid\Test\TestCase;
|
||||
use Ramsey\Uuid\Type\Hexadecimal;
|
||||
use Ramsey\Uuid\Variant;
|
||||
|
||||
use function hex2bin;
|
||||
use function serialize;
|
||||
@@ -123,7 +124,7 @@ class FieldsTest extends TestCase
|
||||
['ff6f8cb0-c57d-11e1-9b21-0800200c9a66', 'getTimeLow', 'ff6f8cb0'],
|
||||
['ff6f8cb0-c57d-11e1-9b21-0800200c9a66', 'getTimeMid', 'c57d'],
|
||||
['ff6f8cb0-c57d-11e1-9b21-0800200c9a66', 'getTimestamp', '1e1c57dff6f8cb0'],
|
||||
['ff6f8cb0-c57d-11e1-9b21-0800200c9a66', 'getVariant', 2],
|
||||
['ff6f8cb0-c57d-11e1-9b21-0800200c9a66', 'getVariant', Variant::Rfc4122],
|
||||
['ff6f8cb0-c57d-11e1-9b21-0800200c9a66', 'getVersion', 1],
|
||||
['ff6f8cb0-c57d-11e1-9b21-0800200c9a66', 'isNil', false],
|
||||
|
||||
@@ -135,7 +136,7 @@ class FieldsTest extends TestCase
|
||||
['ff6f8cb0-c57d-41e1-ab21-0800200c9a66', 'getTimeLow', 'ff6f8cb0'],
|
||||
['ff6f8cb0-c57d-41e1-ab21-0800200c9a66', 'getTimeMid', 'c57d'],
|
||||
['ff6f8cb0-c57d-41e1-ab21-0800200c9a66', 'getTimestamp', '1e1c57dff6f8cb0'],
|
||||
['ff6f8cb0-c57d-41e1-ab21-0800200c9a66', 'getVariant', 2],
|
||||
['ff6f8cb0-c57d-41e1-ab21-0800200c9a66', 'getVariant', Variant::Rfc4122],
|
||||
['ff6f8cb0-c57d-41e1-ab21-0800200c9a66', 'getVersion', 4],
|
||||
['ff6f8cb0-c57d-41e1-ab21-0800200c9a66', 'isNil', false],
|
||||
|
||||
@@ -147,7 +148,7 @@ class FieldsTest extends TestCase
|
||||
['ff6f8cb0-c57d-31e1-bb21-0800200c9a66', 'getTimeLow', 'ff6f8cb0'],
|
||||
['ff6f8cb0-c57d-31e1-bb21-0800200c9a66', 'getTimeMid', 'c57d'],
|
||||
['ff6f8cb0-c57d-31e1-bb21-0800200c9a66', 'getTimestamp', '1e1c57dff6f8cb0'],
|
||||
['ff6f8cb0-c57d-31e1-bb21-0800200c9a66', 'getVariant', 2],
|
||||
['ff6f8cb0-c57d-31e1-bb21-0800200c9a66', 'getVariant', Variant::Rfc4122],
|
||||
['ff6f8cb0-c57d-31e1-bb21-0800200c9a66', 'getVersion', 3],
|
||||
['ff6f8cb0-c57d-31e1-bb21-0800200c9a66', 'isNil', false],
|
||||
|
||||
@@ -159,7 +160,7 @@ class FieldsTest extends TestCase
|
||||
['ff6f8cb0-c57d-51e1-8b21-0800200c9a66', 'getTimeLow', 'ff6f8cb0'],
|
||||
['ff6f8cb0-c57d-51e1-8b21-0800200c9a66', 'getTimeMid', 'c57d'],
|
||||
['ff6f8cb0-c57d-51e1-8b21-0800200c9a66', 'getTimestamp', '1e1c57dff6f8cb0'],
|
||||
['ff6f8cb0-c57d-51e1-8b21-0800200c9a66', 'getVariant', 2],
|
||||
['ff6f8cb0-c57d-51e1-8b21-0800200c9a66', 'getVariant', Variant::Rfc4122],
|
||||
['ff6f8cb0-c57d-51e1-8b21-0800200c9a66', 'getVersion', 5],
|
||||
['ff6f8cb0-c57d-51e1-8b21-0800200c9a66', 'isNil', false],
|
||||
|
||||
@@ -171,7 +172,7 @@ class FieldsTest extends TestCase
|
||||
['ff6f8cb0-c57d-61e1-8b21-0800200c9a66', 'getTimeLow', 'ff6f8cb0'],
|
||||
['ff6f8cb0-c57d-61e1-8b21-0800200c9a66', 'getTimeMid', 'c57d'],
|
||||
['ff6f8cb0-c57d-61e1-8b21-0800200c9a66', 'getTimestamp', 'ff6f8cb0c57d1e1'],
|
||||
['ff6f8cb0-c57d-61e1-8b21-0800200c9a66', 'getVariant', 2],
|
||||
['ff6f8cb0-c57d-61e1-8b21-0800200c9a66', 'getVariant', Variant::Rfc4122],
|
||||
['ff6f8cb0-c57d-61e1-8b21-0800200c9a66', 'getVersion', 6],
|
||||
['ff6f8cb0-c57d-61e1-8b21-0800200c9a66', 'isNil', false],
|
||||
|
||||
@@ -183,7 +184,7 @@ class FieldsTest extends TestCase
|
||||
['00000000-0000-0000-0000-000000000000', 'getTimeLow', '00000000'],
|
||||
['00000000-0000-0000-0000-000000000000', 'getTimeMid', '0000'],
|
||||
['00000000-0000-0000-0000-000000000000', 'getTimestamp', '000000000000000'],
|
||||
['00000000-0000-0000-0000-000000000000', 'getVariant', 0],
|
||||
['00000000-0000-0000-0000-000000000000', 'getVariant', Variant::ReservedNcs],
|
||||
['00000000-0000-0000-0000-000000000000', 'getVersion', null],
|
||||
['00000000-0000-0000-0000-000000000000', 'isNil', true],
|
||||
|
||||
@@ -195,7 +196,7 @@ class FieldsTest extends TestCase
|
||||
['000001f5-5cde-21ea-8400-0242ac130003', 'getTimeLow', '000001f5'],
|
||||
['000001f5-5cde-21ea-8400-0242ac130003', 'getTimeMid', '5cde'],
|
||||
['000001f5-5cde-21ea-8400-0242ac130003', 'getTimestamp', '1ea5cde00000000'],
|
||||
['000001f5-5cde-21ea-8400-0242ac130003', 'getVariant', 2],
|
||||
['000001f5-5cde-21ea-8400-0242ac130003', 'getVariant', Variant::Rfc4122],
|
||||
['000001f5-5cde-21ea-8400-0242ac130003', 'getVersion', 2],
|
||||
['000001f5-5cde-21ea-8400-0242ac130003', 'isNil', false],
|
||||
];
|
||||
|
||||
@@ -9,6 +9,7 @@ use Ramsey\Uuid\Exception\InvalidBytesException;
|
||||
use Ramsey\Uuid\Rfc4122\Fields;
|
||||
use Ramsey\Uuid\Rfc4122\VariantTrait;
|
||||
use Ramsey\Uuid\Test\TestCase;
|
||||
use Ramsey\Uuid\Variant;
|
||||
|
||||
use function hex2bin;
|
||||
use function str_replace;
|
||||
@@ -54,7 +55,7 @@ class VariantTraitTest extends TestCase
|
||||
'getBytes' => $bytes,
|
||||
]);
|
||||
|
||||
$this->assertSame($expectedVariant, $trait->getVariant());
|
||||
$this->assertSame(Variant::from($expectedVariant), $trait->getVariant());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+50
-49
@@ -31,6 +31,7 @@ use Ramsey\Uuid\UuidFactory;
|
||||
use Ramsey\Uuid\UuidInterface;
|
||||
use Ramsey\Uuid\Validator\GenericValidator;
|
||||
use Ramsey\Uuid\Validator\ValidatorInterface;
|
||||
use Ramsey\Uuid\Variant;
|
||||
use stdClass;
|
||||
|
||||
use function base64_decode;
|
||||
@@ -344,7 +345,7 @@ class UuidTest extends TestCase
|
||||
*
|
||||
* @dataProvider provideVariousVariantUuids
|
||||
*/
|
||||
public function testGetVariantForVariousVariantUuids(string $uuid, int $variant): void
|
||||
public function testGetVariantForVariousVariantUuids(string $uuid, Variant $variant): void
|
||||
{
|
||||
/** @var \Ramsey\Uuid\Rfc4122\UuidInterface $uuidInstance */
|
||||
$uuidInstance = Uuid::fromString($uuid);
|
||||
@@ -357,22 +358,22 @@ class UuidTest extends TestCase
|
||||
public function provideVariousVariantUuids(): array
|
||||
{
|
||||
return [
|
||||
['ff6f8cb0-c57d-11e1-0b21-0800200c9a66', Uuid::RESERVED_NCS],
|
||||
['ff6f8cb0-c57d-11e1-1b21-0800200c9a66', Uuid::RESERVED_NCS],
|
||||
['ff6f8cb0-c57d-11e1-2b21-0800200c9a66', Uuid::RESERVED_NCS],
|
||||
['ff6f8cb0-c57d-11e1-3b21-0800200c9a66', Uuid::RESERVED_NCS],
|
||||
['ff6f8cb0-c57d-11e1-4b21-0800200c9a66', Uuid::RESERVED_NCS],
|
||||
['ff6f8cb0-c57d-11e1-5b21-0800200c9a66', Uuid::RESERVED_NCS],
|
||||
['ff6f8cb0-c57d-11e1-6b21-0800200c9a66', Uuid::RESERVED_NCS],
|
||||
['ff6f8cb0-c57d-11e1-7b21-0800200c9a66', Uuid::RESERVED_NCS],
|
||||
['ff6f8cb0-c57d-11e1-8b21-0800200c9a66', Uuid::RFC_4122],
|
||||
['ff6f8cb0-c57d-11e1-9b21-0800200c9a66', Uuid::RFC_4122],
|
||||
['ff6f8cb0-c57d-11e1-ab21-0800200c9a66', Uuid::RFC_4122],
|
||||
['ff6f8cb0-c57d-11e1-bb21-0800200c9a66', Uuid::RFC_4122],
|
||||
['ff6f8cb0-c57d-11e1-cb21-0800200c9a66', Uuid::RESERVED_MICROSOFT],
|
||||
['ff6f8cb0-c57d-11e1-db21-0800200c9a66', Uuid::RESERVED_MICROSOFT],
|
||||
['ff6f8cb0-c57d-11e1-eb21-0800200c9a66', Uuid::RESERVED_FUTURE],
|
||||
['ff6f8cb0-c57d-11e1-fb21-0800200c9a66', Uuid::RESERVED_FUTURE],
|
||||
['ff6f8cb0-c57d-11e1-0b21-0800200c9a66', Variant::ReservedNcs],
|
||||
['ff6f8cb0-c57d-11e1-1b21-0800200c9a66', Variant::ReservedNcs],
|
||||
['ff6f8cb0-c57d-11e1-2b21-0800200c9a66', Variant::ReservedNcs],
|
||||
['ff6f8cb0-c57d-11e1-3b21-0800200c9a66', Variant::ReservedNcs],
|
||||
['ff6f8cb0-c57d-11e1-4b21-0800200c9a66', Variant::ReservedNcs],
|
||||
['ff6f8cb0-c57d-11e1-5b21-0800200c9a66', Variant::ReservedNcs],
|
||||
['ff6f8cb0-c57d-11e1-6b21-0800200c9a66', Variant::ReservedNcs],
|
||||
['ff6f8cb0-c57d-11e1-7b21-0800200c9a66', Variant::ReservedNcs],
|
||||
['ff6f8cb0-c57d-11e1-8b21-0800200c9a66', Variant::Rfc4122],
|
||||
['ff6f8cb0-c57d-11e1-9b21-0800200c9a66', Variant::Rfc4122],
|
||||
['ff6f8cb0-c57d-11e1-ab21-0800200c9a66', Variant::Rfc4122],
|
||||
['ff6f8cb0-c57d-11e1-bb21-0800200c9a66', Variant::Rfc4122],
|
||||
['ff6f8cb0-c57d-11e1-cb21-0800200c9a66', Variant::ReservedMicrosoft],
|
||||
['ff6f8cb0-c57d-11e1-db21-0800200c9a66', Variant::ReservedMicrosoft],
|
||||
['ff6f8cb0-c57d-11e1-eb21-0800200c9a66', Variant::ReservedFuture],
|
||||
['ff6f8cb0-c57d-11e1-fb21-0800200c9a66', Variant::ReservedFuture],
|
||||
];
|
||||
}
|
||||
|
||||
@@ -429,7 +430,7 @@ class UuidTest extends TestCase
|
||||
/** @var UuidV1 $uuid */
|
||||
$uuid = Uuid::uuid1();
|
||||
$this->assertInstanceOf(DateTimeInterface::class, $uuid->getDateTime());
|
||||
$this->assertSame(2, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(Variant::Rfc4122, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(1, $uuid->getFields()->getVersion());
|
||||
}
|
||||
|
||||
@@ -438,7 +439,7 @@ class UuidTest extends TestCase
|
||||
/** @var UuidV1 $uuid */
|
||||
$uuid = Uuid::uuid1('0800200c9a66', 0x1669);
|
||||
$this->assertInstanceOf(DateTimeInterface::class, $uuid->getDateTime());
|
||||
$this->assertSame(2, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(Variant::Rfc4122, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(1, $uuid->getFields()->getVersion());
|
||||
$this->assertSame('1669', $uuid->getFields()->getClockSeq()->toString());
|
||||
$this->assertSame('0800200c9a66', $uuid->getFields()->getNode()->toString());
|
||||
@@ -450,7 +451,7 @@ class UuidTest extends TestCase
|
||||
/** @var UuidV1 $uuid */
|
||||
$uuid = Uuid::uuid1(new Hexadecimal('0800200c9a66'), 0x1669);
|
||||
$this->assertInstanceOf(DateTimeInterface::class, $uuid->getDateTime());
|
||||
$this->assertSame(2, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(Variant::Rfc4122, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(1, $uuid->getFields()->getVersion());
|
||||
$this->assertSame('1669', $uuid->getFields()->getClockSeq()->toString());
|
||||
$this->assertSame('0800200c9a66', $uuid->getFields()->getNode()->toString());
|
||||
@@ -463,7 +464,7 @@ class UuidTest extends TestCase
|
||||
$uuid = Uuid::uuid1('7160355e');
|
||||
|
||||
$this->assertInstanceOf(DateTimeInterface::class, $uuid->getDateTime());
|
||||
$this->assertSame(2, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(Variant::Rfc4122, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(1, $uuid->getFields()->getVersion());
|
||||
$this->assertSame('00007160355e', $uuid->getFields()->getNode()->toString());
|
||||
}
|
||||
@@ -474,7 +475,7 @@ class UuidTest extends TestCase
|
||||
$uuid = Uuid::uuid1(new Hexadecimal('7160355e'));
|
||||
|
||||
$this->assertInstanceOf(DateTimeInterface::class, $uuid->getDateTime());
|
||||
$this->assertSame(2, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(Variant::Rfc4122, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(1, $uuid->getFields()->getVersion());
|
||||
$this->assertSame('00007160355e', $uuid->getFields()->getNode()->toString());
|
||||
}
|
||||
@@ -485,7 +486,7 @@ class UuidTest extends TestCase
|
||||
$uuid = Uuid::uuid1('71B0aD5e');
|
||||
|
||||
$this->assertInstanceOf(DateTimeInterface::class, $uuid->getDateTime());
|
||||
$this->assertSame(2, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(Variant::Rfc4122, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(1, $uuid->getFields()->getVersion());
|
||||
$this->assertSame('000071b0ad5e', $uuid->getFields()->getNode()->toString());
|
||||
}
|
||||
@@ -521,7 +522,7 @@ class UuidTest extends TestCase
|
||||
/** @var UuidV1 $uuid */
|
||||
$uuid = Uuid::uuid1();
|
||||
$this->assertInstanceOf(DateTimeInterface::class, $uuid->getDateTime());
|
||||
$this->assertSame(2, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(Variant::Rfc4122, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(1, $uuid->getFields()->getVersion());
|
||||
}
|
||||
|
||||
@@ -530,7 +531,7 @@ class UuidTest extends TestCase
|
||||
/** @var UuidV1 $uuid */
|
||||
$uuid = Uuid::uuid1(new Hexadecimal((string) (new RandomNodeProvider())->getNode()));
|
||||
$this->assertInstanceOf(DateTimeInterface::class, $uuid->getDateTime());
|
||||
$this->assertSame(2, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(Variant::Rfc4122, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(1, $uuid->getFields()->getVersion());
|
||||
}
|
||||
|
||||
@@ -539,7 +540,7 @@ class UuidTest extends TestCase
|
||||
/** @var UuidV6 $uuid */
|
||||
$uuid = Uuid::uuid6();
|
||||
$this->assertInstanceOf(DateTimeInterface::class, $uuid->getDateTime());
|
||||
$this->assertSame(2, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(Variant::Rfc4122, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(6, $uuid->getFields()->getVersion());
|
||||
}
|
||||
|
||||
@@ -548,7 +549,7 @@ class UuidTest extends TestCase
|
||||
/** @var UuidV6 $uuid */
|
||||
$uuid = Uuid::uuid6(new Hexadecimal('0800200c9a66'), 0x1669);
|
||||
$this->assertInstanceOf(DateTimeInterface::class, $uuid->getDateTime());
|
||||
$this->assertSame(2, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(Variant::Rfc4122, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(6, $uuid->getFields()->getVersion());
|
||||
$this->assertSame('1669', $uuid->getFields()->getClockSeq()->toString());
|
||||
$this->assertSame('0800200c9a66', $uuid->getFields()->getNode()->toString());
|
||||
@@ -561,7 +562,7 @@ class UuidTest extends TestCase
|
||||
$uuid = Uuid::uuid6(new Hexadecimal('7160355e'));
|
||||
|
||||
$this->assertInstanceOf(DateTimeInterface::class, $uuid->getDateTime());
|
||||
$this->assertSame(2, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(Variant::Rfc4122, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(6, $uuid->getFields()->getVersion());
|
||||
$this->assertSame('00007160355e', $uuid->getFields()->getNode()->toString());
|
||||
}
|
||||
@@ -572,7 +573,7 @@ class UuidTest extends TestCase
|
||||
$uuid = Uuid::uuid6(new Hexadecimal('71B0aD5e'));
|
||||
|
||||
$this->assertInstanceOf(DateTimeInterface::class, $uuid->getDateTime());
|
||||
$this->assertSame(2, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(Variant::Rfc4122, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(6, $uuid->getFields()->getVersion());
|
||||
$this->assertSame('000071b0ad5e', $uuid->getFields()->getNode()->toString());
|
||||
}
|
||||
@@ -600,7 +601,7 @@ class UuidTest extends TestCase
|
||||
/** @var UuidV6 $uuid */
|
||||
$uuid = Uuid::uuid6();
|
||||
$this->assertInstanceOf(DateTimeInterface::class, $uuid->getDateTime());
|
||||
$this->assertSame(2, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(Variant::Rfc4122, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(6, $uuid->getFields()->getVersion());
|
||||
}
|
||||
|
||||
@@ -609,7 +610,7 @@ class UuidTest extends TestCase
|
||||
/** @var UuidV6 $uuid */
|
||||
$uuid = Uuid::uuid6(new Hexadecimal((string) (new RandomNodeProvider())->getNode()));
|
||||
$this->assertInstanceOf(DateTimeInterface::class, $uuid->getDateTime());
|
||||
$this->assertSame(2, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(Variant::Rfc4122, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(6, $uuid->getFields()->getVersion());
|
||||
}
|
||||
|
||||
@@ -632,7 +633,7 @@ class UuidTest extends TestCase
|
||||
/** @var \Ramsey\Uuid\Rfc4122\UuidInterface $uobj2 */
|
||||
$uobj2 = Uuid::uuid3(Uuid::fromString($ns), $name);
|
||||
|
||||
$this->assertSame(2, $uobj1->getFields()->getVariant());
|
||||
$this->assertSame(Variant::Rfc4122, $uobj1->getFields()->getVariant());
|
||||
$this->assertSame(3, $uobj1->getFields()->getVersion());
|
||||
$this->assertSame(Uuid::fromString($uuid)->toString(), $uobj1->toString());
|
||||
$this->assertTrue($uobj1->equals($uobj2));
|
||||
@@ -671,7 +672,7 @@ class UuidTest extends TestCase
|
||||
{
|
||||
/** @var \Ramsey\Uuid\Rfc4122\UuidInterface $uuid */
|
||||
$uuid = Uuid::uuid4();
|
||||
$this->assertSame(2, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(Variant::Rfc4122, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(4, $uuid->getFields()->getVersion());
|
||||
}
|
||||
|
||||
@@ -773,7 +774,7 @@ class UuidTest extends TestCase
|
||||
/** @var \Ramsey\Uuid\Rfc4122\UuidInterface $uobj2 */
|
||||
$uobj2 = Uuid::uuid5(Uuid::fromString($ns), $name);
|
||||
|
||||
$this->assertSame(2, $uobj1->getFields()->getVariant());
|
||||
$this->assertSame(Variant::Rfc4122, $uobj1->getFields()->getVariant());
|
||||
$this->assertSame(5, $uobj1->getFields()->getVersion());
|
||||
$this->assertSame(Uuid::fromString($uuid)->toString(), $uobj1->toString());
|
||||
$this->assertTrue($uobj1->equals($uobj2));
|
||||
@@ -1159,7 +1160,7 @@ class UuidTest extends TestCase
|
||||
$this->assertSame($urn, $uuid->getUrn());
|
||||
$this->assertSame($time, $uuid->getFields()->getTimestamp()->toString());
|
||||
$this->assertSame($clockSeq, $uuid->getFields()->getClockSeq()->toString());
|
||||
$this->assertSame($variant, $uuid->getFields()->getVariant());
|
||||
$this->assertSame(Variant::from($variant), $uuid->getFields()->getVariant());
|
||||
$this->assertSame($version, $uuid->getFields()->getVersion());
|
||||
}
|
||||
}
|
||||
@@ -1191,7 +1192,7 @@ class UuidTest extends TestCase
|
||||
'urn' => 'urn:uuid:00000000-0000-0000-0000-000000000000',
|
||||
'time' => '000000000000000',
|
||||
'clock_seq' => '0000',
|
||||
'variant' => Uuid::RESERVED_NCS,
|
||||
'variant' => 0,
|
||||
'version' => null,
|
||||
],
|
||||
[
|
||||
@@ -1211,7 +1212,7 @@ class UuidTest extends TestCase
|
||||
'urn' => 'urn:uuid:00010203-0405-0607-0809-0a0b0c0d0e0f',
|
||||
'time' => '607040500010203',
|
||||
'clock_seq' => '0809',
|
||||
'variant' => Uuid::RESERVED_NCS,
|
||||
'variant' => 0,
|
||||
'version' => null,
|
||||
],
|
||||
[
|
||||
@@ -1231,7 +1232,7 @@ class UuidTest extends TestCase
|
||||
'urn' => 'urn:uuid:02d9e6d5-9467-382e-8f9b-9300a64ac3cd',
|
||||
'time' => '82e946702d9e6d5',
|
||||
'clock_seq' => '0f9b',
|
||||
'variant' => Uuid::RFC_4122,
|
||||
'variant' => 2,
|
||||
'version' => Uuid::UUID_TYPE_HASH_MD5,
|
||||
],
|
||||
[
|
||||
@@ -1251,7 +1252,7 @@ class UuidTest extends TestCase
|
||||
'urn' => 'urn:uuid:12345678-1234-5678-1234-567812345678',
|
||||
'time' => '678123412345678',
|
||||
'clock_seq' => '1234',
|
||||
'variant' => Uuid::RESERVED_NCS,
|
||||
'variant' => 0,
|
||||
'version' => null,
|
||||
],
|
||||
[
|
||||
@@ -1271,7 +1272,7 @@ class UuidTest extends TestCase
|
||||
'urn' => 'urn:uuid:6ba7b810-9dad-11d1-80b4-00c04fd430c8',
|
||||
'time' => '1d19dad6ba7b810',
|
||||
'clock_seq' => '00b4',
|
||||
'variant' => Uuid::RFC_4122,
|
||||
'variant' => 2,
|
||||
'version' => Uuid::UUID_TYPE_TIME,
|
||||
],
|
||||
[
|
||||
@@ -1291,7 +1292,7 @@ class UuidTest extends TestCase
|
||||
'urn' => 'urn:uuid:6ba7b811-9dad-11d1-80b4-00c04fd430c8',
|
||||
'time' => '1d19dad6ba7b811',
|
||||
'clock_seq' => '00b4',
|
||||
'variant' => Uuid::RFC_4122,
|
||||
'variant' => 2,
|
||||
'version' => Uuid::UUID_TYPE_TIME,
|
||||
],
|
||||
[
|
||||
@@ -1311,7 +1312,7 @@ class UuidTest extends TestCase
|
||||
'urn' => 'urn:uuid:6ba7b812-9dad-11d1-80b4-00c04fd430c8',
|
||||
'time' => '1d19dad6ba7b812',
|
||||
'clock_seq' => '00b4',
|
||||
'variant' => Uuid::RFC_4122,
|
||||
'variant' => 2,
|
||||
'version' => Uuid::UUID_TYPE_TIME,
|
||||
],
|
||||
[
|
||||
@@ -1331,7 +1332,7 @@ class UuidTest extends TestCase
|
||||
'urn' => 'urn:uuid:6ba7b814-9dad-11d1-80b4-00c04fd430c8',
|
||||
'time' => '1d19dad6ba7b814',
|
||||
'clock_seq' => '00b4',
|
||||
'variant' => Uuid::RFC_4122,
|
||||
'variant' => 2,
|
||||
'version' => Uuid::UUID_TYPE_TIME,
|
||||
],
|
||||
[
|
||||
@@ -1351,7 +1352,7 @@ class UuidTest extends TestCase
|
||||
'urn' => 'urn:uuid:7d444840-9dc0-11d1-b245-5ffdce74fad2',
|
||||
'time' => '1d19dc07d444840',
|
||||
'clock_seq' => '3245',
|
||||
'variant' => Uuid::RFC_4122,
|
||||
'variant' => 2,
|
||||
'version' => Uuid::UUID_TYPE_TIME,
|
||||
],
|
||||
[
|
||||
@@ -1371,7 +1372,7 @@ class UuidTest extends TestCase
|
||||
'urn' => 'urn:uuid:e902893a-9d22-3c7e-a7b8-d6e313b71d9f',
|
||||
'time' => 'c7e9d22e902893a',
|
||||
'clock_seq' => '27b8',
|
||||
'variant' => Uuid::RFC_4122,
|
||||
'variant' => 2,
|
||||
'version' => Uuid::UUID_TYPE_HASH_MD5,
|
||||
],
|
||||
[
|
||||
@@ -1391,7 +1392,7 @@ class UuidTest extends TestCase
|
||||
'urn' => 'urn:uuid:eb424026-6f54-4ef8-a4d0-bb658a1fc6cf',
|
||||
'time' => 'ef86f54eb424026',
|
||||
'clock_seq' => '24d0',
|
||||
'variant' => Uuid::RFC_4122,
|
||||
'variant' => 2,
|
||||
'version' => Uuid::UUID_TYPE_RANDOM,
|
||||
],
|
||||
[
|
||||
@@ -1411,7 +1412,7 @@ class UuidTest extends TestCase
|
||||
'urn' => 'urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6',
|
||||
'time' => '1d07decf81d4fae',
|
||||
'clock_seq' => '2765',
|
||||
'variant' => Uuid::RFC_4122,
|
||||
'variant' => 2,
|
||||
'version' => Uuid::UUID_TYPE_TIME,
|
||||
],
|
||||
[
|
||||
@@ -1431,7 +1432,7 @@ class UuidTest extends TestCase
|
||||
'urn' => 'urn:uuid:fffefdfc-fffe-fffe-fffe-fffefdfcfbfa',
|
||||
'time' => 'ffefffefffefdfc',
|
||||
'clock_seq' => '3ffe',
|
||||
'variant' => Uuid::RESERVED_FUTURE,
|
||||
'variant' => 7,
|
||||
'version' => null,
|
||||
],
|
||||
[
|
||||
@@ -1451,7 +1452,7 @@ class UuidTest extends TestCase
|
||||
'urn' => 'urn:uuid:ffffffff-ffff-ffff-ffff-ffffffffffff',
|
||||
'time' => 'fffffffffffffff',
|
||||
'clock_seq' => '3fff',
|
||||
'variant' => Uuid::RESERVED_FUTURE,
|
||||
'variant' => 7,
|
||||
'version' => null,
|
||||
],
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user