Skip to content

Commit

Permalink
prepare release
Browse files Browse the repository at this point in the history
  • Loading branch information
spiralbot committed Jan 7, 2025
1 parent 0fbfdeb commit b0da9a9
Show file tree
Hide file tree
Showing 8 changed files with 55 additions and 46 deletions.
4 changes: 2 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,15 @@
},
"require": {
"php": ">=8.1",
"spiral/core": "^3.15"
"spiral/core": "^3.14.9"
},
"autoload": {
"psr-4": {
"Spiral\\Serializer\\": "src"
}
},
"require-dev": {
"spiral/boot": "^3.15",
"spiral/boot": "^3.14.9",
"google/protobuf": "^3.25",
"phpunit/phpunit": "^10.1",
"vimeo/psalm": "^5.9"
Expand Down
14 changes: 7 additions & 7 deletions tests/Bootloader/SerializerBootloaderTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@ public function testDefaultSerializerIsConfigured(): void
]);

$manager = $this->container->get(SerializerManager::class);
self::assertInstanceOf(SerializerManager::class, $manager);
self::assertInstanceOf(PhpSerializer::class, $manager->getSerializer('serializer'));
self::assertInstanceOf(JsonSerializer::class, $manager->getSerializer('json'));
$this->assertInstanceOf(SerializerManager::class, $manager);
$this->assertInstanceOf(PhpSerializer::class, $manager->getSerializer('serializer'));
$this->assertInstanceOf(JsonSerializer::class, $manager->getSerializer('json'));

$this->expectException(SerializerNotFoundException::class);
$manager->getSerializer('foo');
Expand All @@ -50,8 +50,8 @@ public function testAddSerializer(): void
$registry->register('callback', new CallbackSerializer(fn () => null, fn () => null));

$manager = $this->container->get(SerializerManager::class);
self::assertInstanceOf(SerializerManager::class, $manager);
self::assertInstanceOf(CallbackSerializer::class, $manager->getSerializer('callback'));
$this->assertInstanceOf(SerializerManager::class, $manager);
$this->assertInstanceOf(CallbackSerializer::class, $manager->getSerializer('callback'));

$this->expectException(SerializerNotFoundException::class);
$manager->getSerializer('foo');
Expand All @@ -64,15 +64,15 @@ public function testAddSerializerByClassString(): void
$this->configureSerializer(['json' => PhpSerializer::class]);

$manager = $this->container->get(SerializerManager::class);
self::assertInstanceOf(PhpSerializer::class, $manager->getSerializer('json'));
$this->assertInstanceOf(PhpSerializer::class, $manager->getSerializer('json'));
}

public function testAddSerializerByAutowire(): void
{
$this->configureSerializer(['json' => new Autowire(PhpSerializer::class)]);

$manager = $this->container->get(SerializerManager::class);
self::assertInstanceOf(PhpSerializer::class, $manager->getSerializer('json'));
$this->assertInstanceOf(PhpSerializer::class, $manager->getSerializer('json'));
}

private function configureSerializer(array $serializers = []): void
Expand Down
8 changes: 4 additions & 4 deletions tests/Serializer/CallbackSerializerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ final class CallbackSerializerTest extends TestCase
public function testSerializer(): void
{
$serializer = new CallbackSerializer(
static fn (mixed $payload): mixed => $payload,
static fn (mixed $payload): mixed => $payload
static fn (mixed $payload) => $payload,
static fn (mixed $payload) => $payload
);

self::assertSame('serialize', $serializer->serialize('serialize'));
self::assertSame('unserialize', $serializer->unserialize('unserialize'));
$this->assertSame('serialize', $serializer->serialize('serialize'));
$this->assertSame('unserialize', $serializer->unserialize('unserialize'));
}
}
6 changes: 3 additions & 3 deletions tests/Serializer/JsonSerializerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ public function testSerializer(): void
{
$serializer = new JsonSerializer();

self::assertSame('["some","elements"]', $serializer->serialize(['some', 'elements']));
self::assertSame(['some', 'elements'], $serializer->unserialize('["some","elements"]'));
self::assertSame(['some', 'elements'], $serializer->unserialize(new class() implements \Stringable {
$this->assertSame('["some","elements"]', $serializer->serialize(['some', 'elements']));
$this->assertSame(['some', 'elements'], $serializer->unserialize('["some","elements"]'));
$this->assertSame(['some', 'elements'], $serializer->unserialize(new class() implements \Stringable {
public function __toString(): string
{
return '["some","elements"]';
Expand Down
22 changes: 11 additions & 11 deletions tests/Serializer/PhpSerializerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ public function testSerializer(): void
{
$serializer = new PhpSerializer();

self::assertSame('a:2:{i:0;s:4:"some";i:1;s:8:"elements";}', $serializer->serialize(['some', 'elements']));
self::assertSame(['some', 'elements'], $serializer->unserialize('a:2:{i:0;s:4:"some";i:1;s:8:"elements";}'));
self::assertSame(['some', 'elements'], $serializer->unserialize(new class() implements \Stringable {
$this->assertSame('a:2:{i:0;s:4:"some";i:1;s:8:"elements";}', $serializer->serialize(['some', 'elements']));
$this->assertSame(['some', 'elements'], $serializer->unserialize('a:2:{i:0;s:4:"some";i:1;s:8:"elements";}'));
$this->assertSame(['some', 'elements'], $serializer->unserialize(new class() implements \Stringable {
public function __toString(): string
{
return 'a:2:{i:0;s:4:"some";i:1;s:8:"elements";}';
Expand All @@ -30,19 +30,19 @@ public function __toString(): string
'O:41:"Spiral\Tests\Serializer\Fixture\SomeClass":3:{s:2:"id";i:2;s:4:"text";s:4:"text";s:6:"active";b:0;}',
SomeClass::class
);
self::assertInstanceOf(SomeClass::class, $object);
self::assertSame(2, $object->id);
self::assertSame('text', $object->text);
self::assertFalse($object->active);
$this->assertInstanceOf(SomeClass::class, $object);
$this->assertSame(2, $object->id);
$this->assertSame('text', $object->text);
$this->assertFalse($object->active);

$byInterface = $serializer->unserialize(
'O:41:"Spiral\Tests\Serializer\Fixture\SomeClass":3:{s:2:"id";i:2;s:4:"text";s:4:"text";s:6:"active";b:0;}',
SomeInterface::class
);
self::assertInstanceOf(SomeClass::class, $byInterface);
self::assertSame(2, $byInterface->id);
self::assertSame('text', $byInterface->text);
self::assertFalse($byInterface->active);
$this->assertInstanceOf(SomeClass::class, $byInterface);
$this->assertSame(2, $byInterface->id);
$this->assertSame('text', $byInterface->text);
$this->assertFalse($byInterface->active);
}

public function testClassIsNotExistException(): void
Expand Down
15 changes: 12 additions & 3 deletions tests/Serializer/ProtoSerializerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,16 +23,25 @@ public function testSerializeMessage(): void
{
$message = new PingRequest(['url' => 'foo']);

self::assertSame($message->serializeToString(), $this->serializer->serialize($message));
$this->assertSame(
$message->serializeToString(),
$this->serializer->serialize($message)
);
}

public function testUnserialize(): void
{
$message = new PingRequest(['url' => 'foo']);

self::assertEquals($message, $this->serializer->unserialize($message->serializeToString(), PingRequest::class));
$this->assertEquals(
$message,
$this->serializer->unserialize($message->serializeToString(), PingRequest::class)
);

self::assertEquals($message, $this->serializer->unserialize($message->serializeToString(), new PingRequest()));
$this->assertEquals(
$message,
$this->serializer->unserialize($message->serializeToString(), new PingRequest())
);
}

public function testInvalidPayloadException(): void
Expand Down
10 changes: 5 additions & 5 deletions tests/SerializerManagerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,11 @@ protected function setUp(): void

public function testGetSerializer(): void
{
self::assertInstanceOf(PhpSerializer::class, $this->serializer->getSerializer('serializer'));
self::assertInstanceOf(JsonSerializer::class, $this->serializer->getSerializer('json'));
$this->assertInstanceOf(PhpSerializer::class, $this->serializer->getSerializer('serializer'));
$this->assertInstanceOf(JsonSerializer::class, $this->serializer->getSerializer('json'));

// default serializer
self::assertInstanceOf(JsonSerializer::class, $this->serializer->getSerializer());
$this->assertInstanceOf(JsonSerializer::class, $this->serializer->getSerializer());

$this->expectException(SerializerNotFoundException::class);
$this->serializer->getSerializer('bad');
Expand All @@ -39,7 +39,7 @@ public function testGetSerializer(): void
#[DataProvider('serializeDataProvider')]
public function testSerialize(mixed $payload, string $expected, ?string $format = null): void
{
self::assertSame($expected, $this->serializer->serialize($payload, $format));
$this->assertSame($expected, $this->serializer->serialize($payload, $format));
}

public function testBadSerializer(): void
Expand All @@ -54,7 +54,7 @@ public function testBadSerializer(): void
#[DataProvider('unserializeDataProvider')]
public function testUnserialize(string|\Stringable $payload, mixed $expected, ?string $format = null): void
{
self::assertSame($expected, $this->serializer->unserialize($payload, format: $format));
$this->assertSame($expected, $this->serializer->unserialize($payload, format: $format));
}

public static function serializeDataProvider(): \Traversable
Expand Down
22 changes: 11 additions & 11 deletions tests/SerializerRegistryTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,24 +16,24 @@ public function testRegister(): void
{
$registry = new SerializerRegistry();

self::assertFalse($registry->has('foo'));
self::assertFalse($registry->has('bar'));
$this->assertFalse($registry->has('foo'));
$this->assertFalse($registry->has('bar'));

$registry->register('foo', new PhpSerializer());
$registry->register('bar', new JsonSerializer());

self::assertTrue($registry->has('foo'));
self::assertTrue($registry->has('bar'));
self::assertInstanceOf(PhpSerializer::class, $registry->get('foo'));
self::assertInstanceOf(JsonSerializer::class, $registry->get('bar'));
$this->assertTrue($registry->has('foo'));
$this->assertTrue($registry->has('bar'));
$this->assertInstanceOf(PhpSerializer::class, $registry->get('foo'));
$this->assertInstanceOf(JsonSerializer::class, $registry->get('bar'));
}

public function testGet(): void
{
$registry = new SerializerRegistry();
$registry->register('foo', new PhpSerializer());

self::assertInstanceOf(PhpSerializer::class, $registry->get('foo'));
$this->assertInstanceOf(PhpSerializer::class, $registry->get('foo'));
$this->expectException(SerializerNotFoundException::class);
$registry->get('bar');
}
Expand All @@ -42,13 +42,13 @@ public function testHas(): void
{
$registry = new SerializerRegistry();

self::assertFalse($registry->has('foo'));
self::assertFalse($registry->has('bar'));
$this->assertFalse($registry->has('foo'));
$this->assertFalse($registry->has('bar'));

$registry->register('foo', new PhpSerializer());
$registry->register('bar', new JsonSerializer());

self::assertTrue($registry->has('foo'));
self::assertTrue($registry->has('bar'));
$this->assertTrue($registry->has('foo'));
$this->assertTrue($registry->has('bar'));
}
}

0 comments on commit b0da9a9

Please sign in to comment.