From 275bb29f36410cf19ecf52361f63783c3cad6f48 Mon Sep 17 00:00:00 2001 From: Awilum Date: Mon, 9 May 2022 16:35:25 +0300 Subject: [PATCH] feat(tests): upd tests for `types` directive --- .../core/Entries/Directives/TypesDirectiveTest.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/tests/src/flextype/core/Entries/Directives/TypesDirectiveTest.php b/tests/src/flextype/core/Entries/Directives/TypesDirectiveTest.php index 34a94951..355af9b5 100644 --- a/tests/src/flextype/core/Entries/Directives/TypesDirectiveTest.php +++ b/tests/src/flextype/core/Entries/Directives/TypesDirectiveTest.php @@ -16,21 +16,27 @@ test('types directive', function () { entries()->create('type-bool', ['foo' => '@type:bool true']); entries()->create('type-boolean', ['foo' => '@type:boolean false']); entries()->create('type-float', ['foo' => '@type:float 1.5']); - entries()->create('type-array', ['foo' => '@type:array 1,2,3,4,5']); + entries()->create('type-array', ['foo' => '@type:array foo=bar']); entries()->create('type-array-2', ['foo' => '@type:array [1,2,3,4,5]']); entries()->create('type-array-3', ['foo' => '@type:array {"foo": "Foo"}']); entries()->create('type-array-4', ['foo' => '@type:array foo']); entries()->create('type-collection', ['foo' => '@type:collection foo']); entries()->create('type-null', ['foo' => '@type:null foo']); + entries()->create('type-json', ['foo' => '@type:json foo=Foo']); + entries()->create('type-json-2', ['foo' => '@type:json {"foo": "Foo"}']); + entries()->create('type-json-3', ['foo' => '@type:json [1,2,3,4,5]']); $this->assertEquals(100, entries()->fetch('type-int')['foo']); $this->assertEquals(100, entries()->fetch('type-integer')['foo']); $this->assertEquals(true, entries()->fetch('type-bool')['foo']); $this->assertEquals(false, entries()->fetch('type-boolean')['foo']); $this->assertEquals(1.5, entries()->fetch('type-float')['foo']); - $this->assertEquals([1,2,3,4,5], entries()->fetch('type-array')['foo']); + $this->assertEquals(['foo' => 'bar'], entries()->fetch('type-array')['foo']); $this->assertEquals([1,2,3,4,5], entries()->fetch('type-array-2')['foo']); $this->assertEquals(['foo' => 'Foo'], entries()->fetch('type-array-3')['foo']); - $this->assertEquals(['foo'], entries()->fetch('type-array-4')['foo']); + $this->assertEquals(['foo' => ''], entries()->fetch('type-array-4')['foo']); $this->assertEquals(null, entries()->fetch('type-null')['foo']); + $this->assertEquals('{"foo":"Foo"}', entries()->fetch('type-json')['foo']); + $this->assertEquals('{"foo": "Foo"}', entries()->fetch('type-json-2')['foo']); + $this->assertEquals('[1,2,3,4,5]', entries()->fetch('type-json-3')['foo']); }); \ No newline at end of file