1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Framework\Stdlib\Test\Unit;
- use \Magento\Framework\Stdlib\BooleanUtils;
- class BooleanUtilsTest extends \PHPUnit\Framework\TestCase
- {
- /**
- * @var BooleanUtils
- */
- protected $object;
- protected function setUp()
- {
- $this->object = new BooleanUtils();
- }
- public function testConstructor()
- {
- $object = new BooleanUtils(['yep'], ['nope']);
- $this->assertTrue($object->toBoolean('yep'));
- $this->assertFalse($object->toBoolean('nope'));
- }
- /**
- * @param mixed $input
- * @param bool $expected
- *
- * @dataProvider toBooleanDataProvider
- */
- public function testToBoolean($input, $expected)
- {
- $actual = $this->object->toBoolean($input);
- $this->assertSame($expected, $actual);
- }
- /**
- * @return array
- */
- public function toBooleanDataProvider()
- {
- return [
- 'boolean "true"' => [true, true],
- 'boolean "false"' => [false, false],
- 'boolean string "true"' => ['true', true],
- 'boolean string "false"' => ['false', false],
- 'boolean numeric "1"' => [1, true],
- 'boolean numeric "0"' => [0, false],
- 'boolean string "1"' => ['1', true],
- 'boolean string "0"' => ['0', false]
- ];
- }
- /**
- * @param mixed $input
- *
- * @dataProvider toBooleanExceptionDataProvider
- * @expectedException \InvalidArgumentException
- * @expectedExceptionMessage Boolean value is expected
- */
- public function testToBooleanException($input)
- {
- $this->object->toBoolean($input);
- }
- /**
- * @return array
- */
- public function toBooleanExceptionDataProvider()
- {
- return [
- 'boolean string "on"' => ['on'],
- 'boolean string "off"' => ['off'],
- 'boolean string "yes"' => ['yes'],
- 'boolean string "no"' => ['no'],
- 'boolean string "TRUE"' => ['TRUE'],
- 'boolean string "FALSE"' => ['FALSE'],
- 'empty string' => [''],
- 'null' => [null]
- ];
- }
- }
|