From 3fd785654372d493c031d9b541ab33a881023a32 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Fri, 26 Feb 2021 19:16:17 +0300 Subject: * switch to composer for qrcode and otp dependencies * move most OTP-related stuff into userhelper * remove old phpqrcode and otphp libraries --- .../php-settings-container/tests/ContainerTest.php | 105 +++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 vendor/chillerlan/php-settings-container/tests/ContainerTest.php (limited to 'vendor/chillerlan/php-settings-container/tests/ContainerTest.php') diff --git a/vendor/chillerlan/php-settings-container/tests/ContainerTest.php b/vendor/chillerlan/php-settings-container/tests/ContainerTest.php new file mode 100644 index 000000000..ddae538f3 --- /dev/null +++ b/vendor/chillerlan/php-settings-container/tests/ContainerTest.php @@ -0,0 +1,105 @@ + + * @copyright 2018 Smiley + * @license MIT + */ + +namespace chillerlan\SettingsTest; + +use PHPUnit\Framework\TestCase; +use Exception, TypeError; + +class ContainerTraitTest extends TestCase{ + + public function testConstruct(){ + $container = new TestContainer([ + 'test1' => 'test1', + 'test2' => 'test2', + 'test3' => 'test3', + 'test4' => 'test4', + ]); + + $this->assertSame('test1', $container->test1); + $this->assertSame('test2', $container->test2); + $this->assertNull($container->test3); + $this->assertSame('test4', $container->test4); + + $this->assertSame('success', $container->testConstruct); + } + + public function testGet(){ + $container = new TestContainer; + + $this->assertSame('foo', $container->test1); + $this->assertNull($container->test2); + $this->assertNull($container->test3); + $this->assertNull($container->test4); + $this->assertNull($container->foo); + + // isset test + $this->assertTrue(isset($container->test1)); + $this->assertFalse(isset($container->test2)); + $this->assertFalse(isset($container->test3)); + $this->assertFalse(isset($container->test4)); + $this->assertFalse(isset($container->foo)); + + // custom getter + $container->test6 = 'foo'; + $this->assertSame(sha1('foo'), $container->test6); + // nullable/isset test + $container->test6 = null; + $this->assertFalse(isset($container->test6)); + $this->assertSame('null', $container->test6); + } + + public function testSet(){ + $container = new TestContainer; + $container->test1 = 'bar'; + $container->test2 = 'what'; + $container->test3 = 'nope'; + + $this->assertSame('bar', $container->test1); + $this->assertSame('what', $container->test2); + $this->assertNull($container->test3); + + // unset + unset($container->test1); + $this->assertFalse(isset($container->test1)); + + // custom setter + $container->test5 = 'bar'; + $this->assertSame('bar_test5', $container->test5); + } + + public function testToArray(){ + $container = new TestContainer(['test1' => 'no', 'test2' => true, 'testConstruct' => 'success']); + + $this->assertSame(['test1' => 'no', 'test2' => true, 'testConstruct' => 'success', 'test4' => null, 'test5' => null, 'test6' => null], $container->toArray()); + } + + public function testToJSON(){ + $container = (new TestContainer)->fromJSON('{"test1":"no","test2":true,"testConstruct":"success"}'); + + $expected = '{"test1":"no","test2":true,"testConstruct":"success","test4":null,"test5":null,"test6":null}'; + + $this->assertSame($expected, $container->toJSON()); + $this->assertSame($expected, (string)$container); + } + + public function testFromJsonException(){ + $this->expectException(Exception::class); + (new TestContainer)->fromJSON('-'); + + } + public function testFromJsonTypeError(){ + $this->expectException(TypeError::class); + (new TestContainer)->fromJSON('2'); + } + +} -- cgit v1.2.3