diff --git a/src/Methods/StringsMethods.php b/src/Methods/StringsMethods.php index 5d5ef6d..a851a83 100644 --- a/src/Methods/StringsMethods.php +++ b/src/Methods/StringsMethods.php @@ -180,7 +180,7 @@ public static function isUrl($string) public static function startsWith($haystack, $needles) { foreach ((array) $needles as $needle) { - if ($needle !== '' && strpos($haystack, $needle) === 0) { + if ($needle !== '' && strpos($haystack, (string) $needle) === 0) { return true; } } diff --git a/tests/Types/StringTest.php b/tests/Types/StringTest.php index d4d36ec..98908a1 100644 --- a/tests/Types/StringTest.php +++ b/tests/Types/StringTest.php @@ -136,6 +136,13 @@ public function testCanAssertAStringStartsWith() $this->assertFalse(Strings::startsWith('barfoo', 'foo')); } + public function testCanAssertAStringStartsWithInteger() + { + $this->assertTrue(Strings::startsWith('123456.something', 123456)); + $this->assertTrue(Strings::startsWith('123456.something', [123456])); + $this->assertFalse(Strings::startsWith('654321.something', 123456)); + } + public function testCanAssertAStringEndsWith() { $this->assertTrue(Strings::endsWith('foobar', 'bar'));