Skip to content

Commit 32f107d

Browse files
committed
Make Collection splice return new static.
1 parent fb9e9e3 commit 32f107d

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

src/Illuminate/Support/Collection.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -378,7 +378,7 @@ public function slice($offset, $length = null, $preserveKeys = false)
378378
*/
379379
public function splice($offset, $length = 0, $replacement = array())
380380
{
381-
array_splice($this->items, $offset, $length, $replacement);
381+
return new static(array_splice($this->items, $offset, $length, $replacement));
382382
}
383383

384384
/**

tests/Support/SupportCollectionTest.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -245,15 +245,16 @@ public function testSplice()
245245
{
246246
$data = new Collection(array('foo', 'baz'));
247247
$data->splice(1, 0, 'bar');
248-
$this->assertEquals(array('foo', 'bar', 'baz'), array_values($data->all()));
248+
$this->assertEquals(array('foo', 'bar', 'baz'), $data->all());
249249

250250
$data = new Collection(array('foo', 'baz'));
251251
$data->splice(1, 1);
252-
$this->assertEquals(array('foo'), array_values($data->all()));
252+
$this->assertEquals(array('foo'), $data->all());
253253

254254
$data = new Collection(array('foo', 'baz'));
255-
$data->splice(1, 1, 'bar');
256-
$this->assertEquals(array('foo', 'bar'), array_values($data->all()));
255+
$cut = $data->splice(1, 1, 'bar');
256+
$this->assertEquals(array('foo', 'bar'), $data->all());
257+
$this->assertEquals(array('baz'), $cut->all());
257258
}
258259

259260
public function testGetListValueWithAccessors()

0 commit comments

Comments
 (0)