Adrian Lang has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/126216

Change subject: Add ParserOutput::unsetProperty, add tests
......................................................................

Add ParserOutput::unsetProperty, add tests

Change-Id: I29af31918c48a1225b6487c74fd638de26f07b28
---
M includes/parser/ParserOutput.php
M tests/phpunit/includes/parser/ParserOutputTest.php
2 files changed, 32 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/16/126216/1

diff --git a/includes/parser/ParserOutput.php b/includes/parser/ParserOutput.php
index d1e3e58..eab2705 100644
--- a/includes/parser/ParserOutput.php
+++ b/includes/parser/ParserOutput.php
@@ -455,6 +455,10 @@
                return isset( $this->mProperties[$name] ) ? 
$this->mProperties[$name] : false;
        }
 
+       public function unsetProperty( $name ) {
+               unset( $this->mProperties[$name] );
+       }
+
        public function getProperties() {
                if ( !isset( $this->mProperties ) ) {
                        $this->mProperties = array();
diff --git a/tests/phpunit/includes/parser/ParserOutputTest.php 
b/tests/phpunit/includes/parser/ParserOutputTest.php
index c73666d..c024cee 100644
--- a/tests/phpunit/includes/parser/ParserOutputTest.php
+++ b/tests/phpunit/includes/parser/ParserOutputTest.php
@@ -56,4 +56,32 @@
                $this->assertNull( $po->getExtensionData( "one" ) );
                $this->assertEquals( "Bar", $po->getExtensionData( "two" ) );
        }
+
+       /**
+        * @covers ParserOutput::setProperty
+        * @covers ParserOutput::getProperty
+        * @covers ParserOutput::unsetProperty
+        * @covers ParserOutput::getProperties
+        */
+       public function testProperties() {
+               $po = new ParserOutput();
+
+               $po->setProperty( 'foo', 'val' );
+
+               $properties = $po->getProperties();
+               $this->assertEquals( $po->getProperty( 'foo' ), 'val' );
+               $this->assertEquals( $properties['foo'], 'val' );
+
+               $po->setProperty( 'foo', 'second val' );
+
+               $properties = $po->getProperties();
+               $this->assertEquals( $po->getProperty( 'foo' ), 'second val' );
+               $this->assertEquals( $properties['foo'], 'second val' );
+
+               $po->unsetProperty( 'foo' );
+
+               $properties = $po->getProperties();
+               $this->assertEquals( $po->getProperty( 'foo' ), false );
+               $this->assertArrayNotHasKey( 'foo', $properties );
+       }
 }

-- 
To view, visit https://gerrit.wikimedia.org/r/126216
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I29af31918c48a1225b6487c74fd638de26f07b28
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Adrian Lang <adrian.l...@wikimedia.de>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to