+ /**
+ * @covers RecentChange::parseParams
+ */
+ public function testParseParams() {
+ $params = array(
+ 'root' => array(
+ 'A' => 1,
+ 'B' => 'two'
+ )
+ );
+
+ $this->assertParseParams(
+ $params,
+ 'a:1:{s:4:"root";a:2:{s:1:"A";i:1;s:1:"B";s:3:"two";}}'
+ );
+
+ $this->assertParseParams(
+ null,
+ null
+ );
+
+ $this->assertParseParams(
+ null,
+ serialize( false )
+ );
+
+ $this->assertParseParams(
+ null,
+ 'not-an-array'
+ );
+ }
+
+ /**
+ * @param array $expectedParseParams
+ * @param string|null $rawRcParams
+ */
+ protected function assertParseParams( $expectedParseParams, $rawRcParams ) {
+ $rc = new RecentChange;
+ $rc->setAttribs( array( 'rc_params' => $rawRcParams ) );
+
+ $actualParseParams = $rc->parseParams();
+
+ $this->assertEquals( $expectedParseParams, $actualParseParams );
+ }
+