/**
* @covers ParserOutput::addExternalLink
+ * @covers LinksUpdate::getAddedExternalLinks
+ * @covers LinksUpdate::getRemovedExternalLinks
*/
public function testUpdate_externallinks() {
/** @var ParserOutput $po */
$po->addExternalLink( "http://testing.com/wiki/Foo" );
- $this->assertLinksUpdate(
+ $update = $this->assertLinksUpdate(
$t,
$po,
'externallinks',
[ 'http://testing.com/wiki/Foo', 'http://com.testing./wiki/Foo' ],
]
);
+
+ $this->assertArrayEquals( [
+ "http://testing.com/wiki/Foo"
+ ], $update->getAddedExternalLinks() );
+
+ $po = new ParserOutput();
+ $po->setTitleText( $t->getPrefixedText() );
+ $po->addExternalLink( 'http://testing.com/wiki/Bar' );
+ $update = $this->assertLinksUpdate(
+ $t,
+ $po,
+ 'externallinks',
+ 'el_to, el_index',
+ 'el_from = ' . self::$testingPageId,
+ [
+ [ 'http://testing.com/wiki/Bar', 'http://com.testing./wiki/Bar' ],
+ ]
+ );
+
+ $this->assertArrayEquals( [
+ "http://testing.com/wiki/Bar"
+ ], $update->getAddedExternalLinks() );
+ $this->assertArrayEquals( [
+ "http://testing.com/wiki/Foo"
+ ], $update->getRemovedExternalLinks() );
}
/**
$queueGroup->ack( $job );
}
}
+
+ public function testIsRecursive() {
+ list( $title, $po ) = $this->makeTitleAndParserOutput( 'Test', 1 );
+ $linksUpdate = new LinksUpdate( $title, $po );
+ $this->assertTrue( $linksUpdate->isRecursive(), 'LinksUpdate is recursive by default' );
+
+ $linksUpdate = new LinksUpdate( $title, $po, true );
+ $this->assertTrue( $linksUpdate->isRecursive(),
+ 'LinksUpdate is recursive when asked to be recursive' );
+
+ $linksUpdate = new LinksUpdate( $title, $po, false );
+ $this->assertFalse( $linksUpdate->isRecursive(),
+ 'LinksUpdate is not recursive when asked to be not recursive' );
+ }
}