diff --git a/src/Guid.php b/src/Guid.php index 5503090..fdbf0aa 100644 --- a/src/Guid.php +++ b/src/Guid.php @@ -4,6 +4,7 @@ namespace SmartEmailing\Types; +use Nette\Utils\Strings; use SmartEmailing\Types\Comparable\ComparableInterface; use SmartEmailing\Types\Comparable\StringComparableTrait; use SmartEmailing\Types\ExtractableTraits\StringExtractableTrait; @@ -15,12 +16,16 @@ final class Guid implements ToStringInterface, ComparableInterface use ToStringTrait; use StringComparableTrait; + private string $value; + private function __construct( - private string $value + string $value ) { if (\preg_match('/^[a-f\d]{8}(-[a-f\d]{4}){4}[a-f\d]{8}$/i', $value) !== 1) { throw new InvalidTypeException('Invalid guid value'); } + + $this->value = Strings::lower($value); } public static function fromHex32( diff --git a/tests/GuidTest.phpt b/tests/GuidTest.phpt index 8384ef4..0c9a5d5 100644 --- a/tests/GuidTest.phpt +++ b/tests/GuidTest.phpt @@ -4,6 +4,7 @@ declare(strict_types = 1); namespace SmartEmailing\Types; +use Nette\Utils\Strings; use Tester\Assert; use Tester\TestCase; @@ -32,11 +33,16 @@ final class GuidTest extends TestCase $validValues = [ 'd7c8539e-089e-11e8-b161-2edbc134be21', + 'd7c8539e-089E-11E8-B161-2edbc134be21', ]; foreach ($validValues as $validValue) { $guid = Guid::from($validValue); - Assert::equal($validValue, $guid->getValue()); + + Assert::equal( + Strings::lower($validValue), + $guid->getValue() + ); } }