ref: 5f5b8eadc1ee8b25c95806d9ce882944e084c8df
converter/vendor/rybakit/msgpack/tests/Unit/UnpackOptionsTest.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
<?php /* * This file is part of the rybakit/msgpack.php package. * * (c) Eugene Leonovich <gen.work@gmail.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace MessagePack\Tests\Unit; use MessagePack\Exception\InvalidOptionException; use MessagePack\UnpackOptions; use PHPUnit\Framework\TestCase; final class UnpackOptionsTest extends TestCase { /** * @dataProvider provideIsserData */ public function testFromBitmask(string $isserName, bool $expectedResult, int $bitmask) : void { $options = UnpackOptions::fromBitmask($bitmask); self::assertSame($expectedResult, $options->{$isserName}()); } public function provideIsserData() : array { return [ ['isBigIntAsStrMode', true, 0], ['isBigIntAsStrMode', true, UnpackOptions::BIGINT_AS_STR], ['isBigIntAsStrMode', false, UnpackOptions::BIGINT_AS_GMP], ['isBigIntAsStrMode', false, UnpackOptions::BIGINT_AS_EXCEPTION], ['isBigIntAsGmpMode', false, 0], ['isBigIntAsGmpMode', false, UnpackOptions::BIGINT_AS_STR], ['isBigIntAsGmpMode', true, UnpackOptions::BIGINT_AS_GMP], ['isBigIntAsGmpMode', false, UnpackOptions::BIGINT_AS_EXCEPTION], ['isBigIntAsExceptionMode', false, 0], ['isBigIntAsExceptionMode', false, UnpackOptions::BIGINT_AS_STR], ['isBigIntAsExceptionMode', false, UnpackOptions::BIGINT_AS_GMP], ['isBigIntAsExceptionMode', true, UnpackOptions::BIGINT_AS_EXCEPTION], ]; } /** * @dataProvider provideInvalidOptionsData */ public function testFromBitmaskWithInvalidOptions(int $bitmask, string $errorMessage) : void { try { UnpackOptions::fromBitmask($bitmask); } catch (InvalidOptionException $e) { self::assertSame($e->getMessage(), $errorMessage); return; } self::fail(InvalidOptionException::class.' was not thrown.'); } public function provideInvalidOptionsData() : iterable { yield [ UnpackOptions::BIGINT_AS_GMP | UnpackOptions::BIGINT_AS_STR, 'Invalid option bigint, use one of MessagePack\UnpackOptions::BIGINT_AS_STR, MessagePack\UnpackOptions::BIGINT_AS_GMP or MessagePack\UnpackOptions::BIGINT_AS_EXCEPTION.', ]; } } |