http://www.mediawiki.org/wiki/Special:Code/MediaWiki/70162
Revision: 70162
Author: btongminh
Date: 2010-07-29 18:39:42 +0000 (Thu, 29 Jul 2010)
Log Message:
-----------
Fix UploadFromUrl test cases, UploadFromUrlJob::run return value, and disable
broken features in UploadFromUrlJob
* Use a more specific filename in UploadFromUrlTest and fix some assertions.
* Return boolean from UploadFromUrlJob::run
* Force ignorewarnings and leavemessage in UploadFromUrlJob
Modified Paths:
--------------
trunk/phase3/includes/job/UploadFromUrlJob.php
trunk/phase3/maintenance/tests/UploadFromUrlTest.php
Modified: trunk/phase3/includes/job/UploadFromUrlJob.php
===================================================================
--- trunk/phase3/includes/job/UploadFromUrlJob.php 2010-07-29 18:39:37 UTC
(rev 70161)
+++ trunk/phase3/includes/job/UploadFromUrlJob.php 2010-07-29 18:39:42 UTC
(rev 70162)
@@ -18,6 +18,14 @@
}
public function run() {
+ # Until we find a way to store data in sessions, set
leaveMessage to
+ # true unconditionally
+ $this->params['leaveMessage'] = true;
+ # Similar for ignorewarnings. This is not really a good
fallback, but
+ # there is no easy way to get a wikitext formatted warning
message to
+ # show to the user
+ $this->params['ignoreWarnings'] = true;
+
# Initialize this object and the upload object
$this->upload = new UploadFromUrl();
$this->upload->initialize(
@@ -31,7 +39,7 @@
$status = $this->upload->fetchFile();
if ( !$status->isOk() ) {
$this->leaveMessage( $status );
- return;
+ return true;
}
# Verify upload
@@ -39,13 +47,13 @@
if ( $result['status'] != UploadBase::OK ) {
$status = $this->upload->convertVerifyErrorToStatus(
$result );
$this->leaveMessage( $status );
- return;
+ return true;
}
# Check warnings
if ( !$this->params['ignoreWarnings'] ) {
$warnings = $this->upload->checkWarnings();
- if ( $warnings ) {
+ if ( $warnings ) {
if ( $this->params['leaveMessage'] ) {
$this->user->leaveUserMessage(
wfMsg( 'upload-warning-subj' ),
@@ -59,7 +67,7 @@
}
// FIXME: stash in session
- return;
+ return true;
}
}
@@ -71,6 +79,8 @@
$this->user
);
$this->leaveMessage( $status );
+ return true;
+
}
/**
Modified: trunk/phase3/maintenance/tests/UploadFromUrlTest.php
===================================================================
--- trunk/phase3/maintenance/tests/UploadFromUrlTest.php 2010-07-29
18:39:37 UTC (rev 70161)
+++ trunk/phase3/maintenance/tests/UploadFromUrlTest.php 2010-07-29
18:39:42 UTC (rev 70162)
@@ -112,7 +112,7 @@
$this->doApiRequest( array(
'action' => 'upload',
'url' => 'http://www.example.com/test.png',
- 'filename' => 'Test.png',
+ 'filename' => 'UploadFromUrlTest.png',
'token' => $token,
), $data );
} catch ( UsageException $e ) {
@@ -128,18 +128,14 @@
'action' => 'upload',
'url' =>
'http://bits.wikimedia.org/skins-1.5/common/images/poweredby_mediawiki_88x31.png',
'asyncdownload' => 1,
- 'filename' => 'Test.png',
+ 'filename' => 'UploadFromUrlTest.png',
'token' => $token,
), $data );
- $this->assertTrue( $data[0]['upload']['queued'], 'Job added' );
-
+ $this->assertEquals( $data[0]['upload']['result'], 'Queued',
'Queued upload' );
+
$job = Job::pop();
- $this->assertThat( $job, $this->isInstanceOf(
'UploadFromUrlJob' ),
- "Got Job Object" );
-
- $job = Job::pop_type( 'upload' );
- $this->assertFalse( $job );
+ $this->assertThat( $job, $this->isInstanceOf(
'UploadFromUrlJob' ), 'Queued upload inserted' );
}
/**
@@ -153,7 +149,7 @@
$wgUser->addGroup( 'users' );
$data = $this->doApiRequest( array(
'action' => 'upload',
- 'filename' => 'Test.png',
+ 'filename' => 'UploadFromUrlTest.png',
'url' =>
'http://bits.wikimedia.org/skins-1.5/common/images/poweredby_mediawiki_88x31.png',
'asyncdownload' => 1,
'token' => $token,
@@ -164,7 +160,7 @@
$status = $job->run();
- $this->assertTrue( $status->isOk() );
+ $this->assertTrue( $status );
return $data;
}
@@ -178,14 +174,14 @@
$token = md5( $data[2]['wsToken'] ) . EDIT_TOKEN_SUFFIX;
$job = Job::pop();
- $this->assertFalse( $job );
+ $this->assertFalse( $job, 'Starting with an empty jobqueue' );
- $this->deleteFile( 'Test.png' );
+ //$this->deleteFile( 'UploadFromUrlTest.png' );
$wgUser->addGroup( 'users' );
$data = $this->doApiRequest( array(
'action' => 'upload',
- 'filename' => 'Test.png',
+ 'filename' => 'UploadFromUrlTest.png',
'url' =>
'http://bits.wikimedia.org/skins-1.5/common/images/poweredby_mediawiki_88x31.png',
'ignorewarnings' => true,
'token' => $token,
@@ -203,18 +199,17 @@
* @depends testDoDownload
*/
function testVerifyDownload( $data ) {
- $t = Title::newFromText( "Test.png", NS_FILE );
+ $t = Title::newFromText( "UploadFromUrlTest.png", NS_FILE );
$this->assertTrue( $t->exists() );
- $this->deleteFile( 'Test.png' );
+ $this->deleteFile( 'UploadFromUrlTest.png' );
}
/**
*
*/
function deleteFile( $name ) {
-
$t = Title::newFromText( $name, NS_FILE );
$this->assertTrue($t->exists(), "File '$name' exists");
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs