protected function assertMoved( $from, $to, $id, $opts = null ) {
$opts = (array)$opts;
+ Title::clearCaches();
$fromTitle = Title::newFromText( $from );
$toTitle = Title::newFromText( $to );
$this->assertSame( $toTitle->getPrefixedText(), $target->getPrefixedText() );
}
- $this->assertSame( $id, $toTitle->getArticleId() );
+ $this->assertSame( $id, $toTitle->getArticleID() );
}
/**
'to' => '[',
] );
} finally {
- $this->assertSame( $id, Title::newFromText( $name )->getArticleId() );
+ $this->assertSame( $id, Title::newFromText( $name )->getArticleID() );
+ }
+ }
+
+ public function testMoveWhileBlocked() {
+ $this->assertNull( Block::newFromTarget( '127.0.0.1' ), 'Sanity check' );
+
+ $block = new Block( [
+ 'address' => self::$users['sysop']->getUser()->getName(),
+ 'by' => self::$users['sysop']->getUser()->getId(),
+ 'reason' => 'Capriciousness',
+ 'timestamp' => '19370101000000',
+ 'expiry' => 'infinity',
+ 'enableAutoblock' => true,
+ ] );
+ $block->insert();
+
+ $name = ucfirst( __FUNCTION__ );
+ $id = $this->createPage( $name );
+
+ try {
+ $this->doApiRequestWithToken( [
+ 'action' => 'move',
+ 'from' => $name,
+ 'to' => "$name 2",
+ ] );
+ $this->fail( 'Expected exception not thrown' );
+ } catch ( ApiUsageException $ex ) {
+ $this->assertSame( 'You have been blocked from editing.', $ex->getMessage() );
+ $this->assertNotNull( Block::newFromTarget( '127.0.0.1' ), 'Autoblock spread' );
+ } finally {
+ $block->delete();
+ self::$users['sysop']->getUser()->clearInstanceCache();
+ $this->assertSame( $id, Title::newFromText( $name )->getArticleID() );
}
}
'to' => "$name 3",
] );
} finally {
- $this->assertSame( $id, Title::newFromText( "$name 2" )->getArticleId() );
+ $this->assertSame( $id, Title::newFromText( "$name 2" )->getArticleID() );
$this->assertFalse( Title::newFromText( "$name 3" )->exists(),
"\"$name 3\" should not exist" );
}
'tags' => 'custom tag',
] );
} finally {
- $this->assertSame( $id, Title::newFromText( $name )->getArticleId() );
+ $this->assertSame( $id, Title::newFromText( $name )->getArticleID() );
$this->assertFalse( Title::newFromText( "$name 2" )->exists(),
"\"$name 2\" should not exist" );
}
] );
$this->assertMoved( $name, "$name 2", $id );
- $this->assertSame( $talkId, Title::newFromText( "Talk:$name" )->getArticleId() );
+ $this->assertSame( $talkId, Title::newFromText( "Talk:$name" )->getArticleID() );
$this->assertSame( $talkDestinationId,
- Title::newFromText( "Talk:$name 2" )->getArticleId() );
+ Title::newFromText( "Talk:$name 2" )->getArticleID() );
$this->assertSame( [ [
'message' => 'articleexists',
'params' => [],
}
$this->assertSame( $ids["$name/error"],
- Title::newFromText( "$name/error" )->getArticleId() );
+ Title::newFromText( "$name/error" )->getArticleID() );
$this->assertSame( $ids["$name 2/error"],
- Title::newFromText( "$name 2/error" )->getArticleId() );
+ Title::newFromText( "$name 2/error" )->getArticleID() );
$results = array_merge( $res[0]['move']['subpages'], $res[0]['move']['subpages-talk'] );
foreach ( $results as $arr ) {
'to' => "$name 2",
], null, $user );
} finally {
- $this->assertSame( $id, Title::newFromText( "$name" )->getArticleId() );
+ $this->assertSame( $id, Title::newFromText( "$name" )->getArticleID() );
$this->assertFalse( Title::newFromText( "$name 2" )->exists(),
"\"$name 2\" should not exist" );
}
] );
$this->assertMoved( "Talk:$name", $name, $idBase );
- $this->assertSame( $idSub, Title::newFromText( "Talk:$name/1" )->getArticleId() );
+ $this->assertSame( $idSub, Title::newFromText( "Talk:$name/1" )->getArticleID() );
$this->assertFalse( Title::newFromText( "$name/1" )->exists(),
"\"$name/1\" should not exist" );