Skip to content

Commit f7a5cfc

Browse files
authored
[9.x] Add Ignore Case of Str::contains and Str::containsAll to Stringable contains and containsAll (#44369)
* Added in test for implementation of ignoreCase on contains and contains all of Stringable * Added in implentation of ignoreCase to contains and containsAll of Stringable
1 parent 22e85eb commit f7a5cfc

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

src/Illuminate/Support/Stringable.php

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -168,22 +168,24 @@ public function camel()
168168
* Determine if a given string contains a given substring.
169169
*
170170
* @param string|iterable<string> $needles
171+
* @param bool $ignoreCase
171172
* @return bool
172173
*/
173-
public function contains($needles)
174+
public function contains($needles, $ignoreCase = false)
174175
{
175-
return Str::contains($this->value, $needles);
176+
return Str::contains($this->value, $needles, $ignoreCase);
176177
}
177178

178179
/**
179180
* Determine if a given string contains all array values.
180181
*
181182
* @param iterable<string> $needles
183+
* @param bool $ignoreCase
182184
* @return bool
183185
*/
184-
public function containsAll($needles)
186+
public function containsAll($needles, $ignoreCase = false)
185187
{
186-
return Str::containsAll($this->value, $needles);
188+
return Str::containsAll($this->value, $needles, $ignoreCase);
187189
}
188190

189191
/**

tests/Support/SupportStringableTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -623,6 +623,7 @@ public function testContains()
623623
$this->assertTrue($this->stringable('taylor')->contains(['ylo']));
624624
$this->assertTrue($this->stringable('taylor')->contains(['xxx', 'ylo']));
625625
$this->assertTrue($this->stringable('taylor')->contains(collect(['xxx', 'ylo'])));
626+
$this->assertTrue($this->stringable('taylor')->contains(['LOR'], true));
626627
$this->assertFalse($this->stringable('taylor')->contains('xxx'));
627628
$this->assertFalse($this->stringable('taylor')->contains(['xxx']));
628629
$this->assertFalse($this->stringable('taylor')->contains(''));
@@ -631,6 +632,7 @@ public function testContains()
631632
public function testContainsAll()
632633
{
633634
$this->assertTrue($this->stringable('taylor otwell')->containsAll(['taylor', 'otwell']));
635+
$this->assertTrue($this->stringable('taylor otwell')->containsAll(['TAYLOR', 'OTWELL'], true));
634636
$this->assertTrue($this->stringable('taylor otwell')->containsAll(collect(['taylor', 'otwell'])));
635637
$this->assertTrue($this->stringable('taylor otwell')->containsAll(['taylor']));
636638
$this->assertFalse($this->stringable('taylor otwell')->containsAll(['taylor', 'xxx']));

0 commit comments

Comments
 (0)