assertSame($exp, I::int($value), "Test returned ".decbin(I::int($value))." for value: ".var_export($value, true)); } } public function testGetStringInfo() { $tests = [ [null, I::NULL], ["", I::VALID | I::EMPTY], [1, I::VALID], [PHP_INT_MAX, I::VALID], [1.0, I::VALID], ["1.0", I::VALID], ["001.0", I::VALID], ["1.0e2", I::VALID], ["1", I::VALID], ["001", I::VALID], ["1e2", I::VALID], ["+1.0", I::VALID], ["+001.0", I::VALID], ["+1.0e2", I::VALID], ["+1", I::VALID], ["+001", I::VALID], ["+1e2", I::VALID], [0, I::VALID], ["0", I::VALID], ["000", I::VALID], [0.0, I::VALID], ["0.0", I::VALID], ["000.000", I::VALID], ["+0", I::VALID], ["+000", I::VALID], ["+0.0", I::VALID], ["+000.000", I::VALID], [-1, I::VALID], [-1.0, I::VALID], ["-1.0", I::VALID], ["-001.0", I::VALID], ["-1.0e2", I::VALID], ["-1", I::VALID], ["-001", I::VALID], ["-1e2", I::VALID], [-0, I::VALID], ["-0", I::VALID], ["-000", I::VALID], [-0.0, I::VALID], ["-0.0", I::VALID], ["-000.000", I::VALID], [false, 0], [true, 0], [INF, 0], [-INF, 0], [NAN, 0], [[], 0], ["some string", I::VALID], [" ", I::VALID | I::WHITE], [new \StdClass, 0], [new StrClass(""), I::VALID | I::EMPTY], [new StrClass("1"), I::VALID], [new StrClass("0"), I::VALID], [new StrClass("-1"), I::VALID], [new StrClass("Msg"), I::VALID], [new StrClass(" "), I::VALID | I::WHITE], ]; foreach ($tests as $test) { list($value, $exp) = $test; $this->assertSame($exp, I::str($value), "Test returned ".decbin(I::str($value))." for value: ".var_export($value, true)); } } public function testValidateDatabaseIdentifier() { $tests = [ [null, false, true], ["", false, true], [1, true, true], [PHP_INT_MAX, true, true], [1.0, true, true], ["1.0", true, true], ["001.0", true, true], ["1.0e2", true, true], ["1", true, true], ["001", true, true], ["1e2", true, true], ["+1.0", true, true], ["+001.0", true, true], ["+1.0e2", true, true], ["+1", true, true], ["+001", true, true], ["+1e2", true, true], [0, false, true], ["0", false, true], ["000", false, true], [0.0, false, true], ["0.0", false, true], ["000.000", false, true], ["+0", false, true], ["+000", false, true], ["+0.0", false, true], ["+000.000", false, true], [-1, false, false], [-1.0, false, false], ["-1.0", false, false], ["-001.0", false, false], ["-1.0e2", false, false], ["-1", false, false], ["-001", false, false], ["-1e2", false, false], [-0, false, true], ["-0", false, true], ["-000", false, true], [-0.0, false, true], ["-0.0", false, true], ["-000.000", false, true], [false, false, false], [true, false, false], [INF, false, false], [-INF, false, false], [NAN, false, false], [[], false, false], ["some string", false, false], [" ", false, false], [new \StdClass, false, false], [new StrClass(""), false, true], [new StrClass("1"), true, true], [new StrClass("0"), false, true], [new StrClass("-1"), false, false], [new StrClass("Msg"), false, false], [new StrClass(" "), false, false], ]; foreach ($tests as $test) { list($value, $exp, $expNull) = $test; $this->assertSame($exp, I::id($value), "Non-null test failed for value: ".var_export($value, true)); $this->assertSame($expNull, I::id($value, true), "Null test failed for value: ".var_export($value, true)); } } }