2014-12-30 19:15:48 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
class QuestyCaptchaTest extends MediaWikiTestCase {
|
|
|
|
/**
|
|
|
|
* @covers QuestyCaptcha::getCaptcha
|
|
|
|
* @dataProvider provideGetCaptcha
|
|
|
|
*/
|
|
|
|
public function testGetCaptcha( $config, $expected ) {
|
|
|
|
|
|
|
|
# setMwGlobals() requires $wgCaptchaQuestion to be set
|
|
|
|
if ( !isset( $GLOBALS['wgCaptchaQuestions'] ) ) {
|
|
|
|
$GLOBALS['wgCaptchaQuestions'] = array();
|
|
|
|
}
|
|
|
|
$this->setMwGlobals( 'wgCaptchaQuestions', $config );
|
|
|
|
$this->mergeMwGlobalArrayValue(
|
|
|
|
'wgAutoloadClasses',
|
2015-05-21 17:05:31 +00:00
|
|
|
array( 'QuestyCaptcha' => __DIR__ . '/../QuestyCaptcha/QuestyCaptcha.class.php' )
|
2014-12-30 19:15:48 +00:00
|
|
|
);
|
|
|
|
|
|
|
|
$qc = new QuestyCaptcha();
|
|
|
|
$this->assertEquals( $expected, $qc->getCaptcha() );
|
|
|
|
}
|
|
|
|
|
|
|
|
public static function provideGetCaptcha() {
|
|
|
|
return array(
|
|
|
|
array(
|
|
|
|
array(
|
|
|
|
array(
|
|
|
|
'question' => 'FooBar',
|
|
|
|
'answer' => 'Answer!',
|
|
|
|
),
|
|
|
|
),
|
|
|
|
array(
|
|
|
|
'question' => 'FooBar',
|
|
|
|
'answer' => 'Answer!',
|
|
|
|
),
|
|
|
|
),
|
|
|
|
array(
|
|
|
|
array(
|
|
|
|
'FooBar' => 'Answer!',
|
|
|
|
),
|
|
|
|
array(
|
|
|
|
'question' => 'FooBar',
|
|
|
|
'answer' => 'Answer!',
|
|
|
|
),
|
|
|
|
)
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|