Jeroen De Dauw has submitted this change and it was merged.
Change subject: Clone Change objects returned by TestChanges.
..
Clone Change objects returned by TestChanges.
Previously, test cases would modify the tests and leak state to subsequent
tests.
Change-Id: Id9e3f0e82f8de0d6b175ac19457d87e5e40f1134
---
M lib/tests/phpunit/changes/TestChanges.php
1 file changed, 37 insertions(+), 24 deletions(-)
Approvals:
Jeroen De Dauw: Looks good to me, approved
jenkins-bot: Verified
diff --git a/lib/tests/phpunit/changes/TestChanges.php
b/lib/tests/phpunit/changes/TestChanges.php
index 8dd2092..741f1e8 100644
--- a/lib/tests/phpunit/changes/TestChanges.php
+++ b/lib/tests/phpunit/changes/TestChanges.php
@@ -157,37 +157,45 @@
$new-removeSiteLink( 'enwiki', false );
$changes['remove-enwiki-sitelink'] =
EntityChange::newFromUpdate( EntityChange::UPDATE, $old, $new );
$old = $new-copy();
+
+ // apply all the defaults --
+ $defaults = array(
+ 'user_id' = 0,
+ 'time' = '2013010100',
+ 'type' = 'test',
+ );
+
+ $rev = 1000;
+
+ /* @var EntityChange $change */
+ foreach ( $changes as $key = $change ) {
+ $change-setComment( $key:1| );
+
+ $meta = array(
+ 'comment' = '',
+ 'page_id' = 23,
+ 'bot' = false,
+ 'rev_id' = $rev,
+ 'parent_id' = $rev -1,
+ 'user_text' = 'Some User',
+ 'time' = wfTimestamp( TS_MW ),
+ );
+
+ $change-setMetadata( $meta );
+ self::applyDefaults( $change, $defaults );
+
+ $rev += 1;
+ }
}
- $defaults = array(
- 'user_id' = 0,
- 'time' = '2013010100',
- 'type' = 'test',
- );
-
- $rev = 1000;
+ $clones = array();
/* @var EntityChange $change */
foreach ( $changes as $key = $change ) {
- $change-setComment( $key:1| );
-
- $meta = array(
- 'comment' = '',
- 'page_id' = 23,
- 'bot' = false,
- 'rev_id' = $rev,
- 'parent_id' = $rev -1,
- 'user_text' = 'Some User',
- 'time' = wfTimestamp( TS_MW ),
- );
-
- $change-setMetadata( $meta );
- self::applyDefaults( $change, $defaults );
-
- $rev += 1;
+ $clones[$key] = clone $change;
}
- return $changes;
+ return $clones;
}
/**
@@ -211,6 +219,7 @@
// filter info field by key
if ( $infoFilter !== null ) {
$infoFilter = array_flip( $infoFilter );
+ $filteredChanges = array();
/* @var \Wikibase\ChangeRow $change */
foreach ( $changes as $change ) {
@@ -221,7 +230,11 @@
$change-setField( 'info', $info );
}
+
+ $filteredChanges[] = $change;
}
+
+ $changes = $filteredChanges;
}
return $changes;
--
To view, visit https://gerrit.wikimedia.org/r/74148
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Id9e3f0e82f8de0d6b175ac19457d87e5e40f1134
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Daniel Kinzler daniel.kinz...@wikimedia.de
Gerrit-Reviewer: Addshore addshorew...@gmail.com
Gerrit-Reviewer: Aude aude.w...@gmail.com
Gerrit-Reviewer: Daniel Werner daniel.wer...@wikimedia.de
Gerrit-Reviewer: Denny Vrandecic denny.vrande...@wikimedia.de
Gerrit-Reviewer: Jeroen De Dauw jeroended...@gmail.com
Gerrit-Reviewer: jenkins-bot
___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits