From 8bc49f030534f84db0e4573f01699ece0cd1c1f1 Mon Sep 17 00:00:00 2001 From: Peter Gribanov Date: Tue, 28 Mar 2017 13:44:29 +0300 Subject: [PATCH 1/3] test serializable --- tests/EnumTest.php | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/tests/EnumTest.php b/tests/EnumTest.php index 72ec873..eea6fe2 100755 --- a/tests/EnumTest.php +++ b/tests/EnumTest.php @@ -250,4 +250,23 @@ public function testEqualsConflictValues() { $this->assertFalse(EnumFixture::FOO()->equals(EnumConflict::FOO())); } + + public function testSerialize() + { + $this->assertEquals( + '4f3a33303a224d79434c6162735c54657374735c456e756d5c456e756d46697874757265223a313a7b733a383a22002a0076616c7565223b733a333a22666f6f223b7d', + bin2hex(serialize(EnumFixture::FOO())) + ); + } + + public function testUnserialize() + { + /* @var $value EnumFixture */ + $value = unserialize(hex2bin( + '4f3a33303a224d79434c6162735c54657374735c456e756d5c456e756d46697874757265223a313a7b733a383a22002a0076616c7565223b733a333a22666f6f223b7d' + )); + + $this->assertEquals(EnumFixture::FOO, $value->getValue()); + $this->assertTrue(EnumFixture::FOO()->equals($value)); + } } From 2b0cda86b3d6293643288da91f5746210656c37d Mon Sep 17 00:00:00 2001 From: Peter Gribanov Date: Tue, 28 Mar 2017 14:00:02 +0300 Subject: [PATCH 2/3] add compatibility for PHP 5.3 --- tests/EnumTest.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/EnumTest.php b/tests/EnumTest.php index eea6fe2..390cd0e 100755 --- a/tests/EnumTest.php +++ b/tests/EnumTest.php @@ -262,7 +262,8 @@ public function testSerialize() public function testUnserialize() { /* @var $value EnumFixture */ - $value = unserialize(hex2bin( + $value = unserialize(pack( + 'H*', '4f3a33303a224d79434c6162735c54657374735c456e756d5c456e756d46697874757265223a313a7b733a383a22002a0076616c7565223b733a333a22666f6f223b7d' )); From 42dbbdeec24d5a5d6a8971626fd243d614fecd13 Mon Sep 17 00:00:00 2001 From: Peter Gribanov Date: Fri, 19 Apr 2019 16:05:29 +0300 Subject: [PATCH 3/3] split string for Pretty CI: "Line exceeds 120 characters" --- tests/EnumTest.php | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/tests/EnumTest.php b/tests/EnumTest.php index d75a380..dff2069 100755 --- a/tests/EnumTest.php +++ b/tests/EnumTest.php @@ -297,19 +297,21 @@ private function assertJsonEqualsJson($json1, $json2) public function testSerialize() { - $this->assertEquals( - '4f3a33303a224d79434c6162735c54657374735c456e756d5c456e756d46697874757265223a313a7b733a383a22002a0076616c7565223b733a333a22666f6f223b7d', - bin2hex(serialize(EnumFixture::FOO())) - ); + // split string for Pretty CI: "Line exceeds 120 characters" + $bin = '4f3a33303a224d79434c6162735c54657374735c456e756d5c456e756d4669787'. + '4757265223a313a7b733a383a22002a0076616c7565223b733a333a22666f6f223b7d'; + + $this->assertEquals($bin, bin2hex(serialize(EnumFixture::FOO()))); } public function testUnserialize() { + // split string for Pretty CI: "Line exceeds 120 characters" + $bin = '4f3a33303a224d79434c6162735c54657374735c456e756d5c456e756d4669787'. + '4757265223a313a7b733a383a22002a0076616c7565223b733a333a22666f6f223b7d'; + /* @var $value EnumFixture */ - $value = unserialize(pack( - 'H*', - '4f3a33303a224d79434c6162735c54657374735c456e756d5c456e756d46697874757265223a313a7b733a383a22002a0076616c7565223b733a333a22666f6f223b7d' - )); + $value = unserialize(pack('H*', $bin)); $this->assertEquals(EnumFixture::FOO, $value->getValue()); $this->assertTrue(EnumFixture::FOO()->equals($value));