From 110014c7de72e252070737928a6e0c33b45a74ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thiemo=20M=C3=A4ttig?= Date: Mon, 27 Apr 2015 15:56:28 +0200 Subject: [PATCH 1/2] Revert "Alter guarantees provided by StatementList::toArray" --- src/Statement/StatementList.php | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/Statement/StatementList.php b/src/Statement/StatementList.php index 944c8294..e3393164 100644 --- a/src/Statement/StatementList.php +++ b/src/Statement/StatementList.php @@ -237,10 +237,7 @@ public function getIterator() { } /** - * Returns the wrapped array of statements. This retrieval operation is cheap. - * No guarantees are given about the keys of the returned array. - * - * @return Statement[] + * @return Statement[] Numerically indexed (non-sparse) array. */ public function toArray() { return $this->statements; From 287e36aa5b31119237bcb48bcf17e200df1daa9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thiemo=20M=C3=A4ttig?= Date: Tue, 5 May 2015 20:16:39 +0200 Subject: [PATCH 2/2] Fix method introduced in #471 --- src/Statement/StatementList.php | 2 ++ tests/unit/Statement/StatementListTest.php | 21 ++++----------------- 2 files changed, 6 insertions(+), 17 deletions(-) diff --git a/src/Statement/StatementList.php b/src/Statement/StatementList.php index e3393164..bf793fa7 100644 --- a/src/Statement/StatementList.php +++ b/src/Statement/StatementList.php @@ -115,6 +115,8 @@ public function removeStatementsWithGuid( $guid ) { unset( $this->statements[$index] ); } } + + $this->statements = array_values( $this->statements ); } /** diff --git a/tests/unit/Statement/StatementListTest.php b/tests/unit/Statement/StatementListTest.php index a9321c1f..42ade791 100644 --- a/tests/unit/Statement/StatementListTest.php +++ b/tests/unit/Statement/StatementListTest.php @@ -268,11 +268,7 @@ public function testGivenGuidOfPresentStatement_statementIsRemoved() { $list = new StatementList( array( $statement1, $statement2, $statement3 ) ); $list->removeStatementsWithGuid( 'foo' ); - $statements = array(); - $statements[1] = $statement2; - $statements[2] = $statement3; - - $this->assertEquals( $statements, $list->toArray() ); + $this->assertEquals( new StatementList( $statement2, $statement3 ), $list ); } public function testGivenGuidOfMultipleStatements_multipleStatementsAreRemoved() { @@ -283,10 +279,7 @@ public function testGivenGuidOfMultipleStatements_multipleStatementsAreRemoved() $list = new StatementList( array( $statement1, $statement2, $statement3 ) ); $list->removeStatementsWithGuid( 'bar' ); - $this->assertEquals( - new StatementList( array( $statement1 ) ), - $list - ); + $this->assertEquals( new StatementList( $statement1 ), $list ); } public function testGivenNotPresentGuid_listIsNotModified() { @@ -297,10 +290,7 @@ public function testGivenNotPresentGuid_listIsNotModified() { $list = new StatementList( array( $statement1, $statement2, $statement3 ) ); $list->removeStatementsWithGuid( 'baz' ); - $this->assertEquals( - new StatementList( array( $statement1, $statement2, $statement3 ) ), - $list - ); + $this->assertEquals( new StatementList( $statement1, $statement2, $statement3 ), $list ); } public function testGivenNullGuid_allStatementsWithNoGuidAreRemoved() { @@ -311,10 +301,7 @@ public function testGivenNullGuid_allStatementsWithNoGuidAreRemoved() { $list = new StatementList( array( $statement1, $statement2, $statement3 ) ); $list->removeStatementsWithGuid( null ); - $this->assertEquals( - new StatementList( array( $statement1 ) ), - $list - ); + $this->assertEquals( new StatementList( $statement1 ), $list ); } public function testCanConstructWithClaimsObjectContainingOnlyStatements() {