}
/**
+ * Test 'ok' and 'errors' getters.
*
+ * @covers Status::__get
*/
- public function testOkAndErrors() {
+ public function testOkAndErrorsGetters() {
$status = Status::newGood( 'foo' );
$this->assertTrue( $status->ok );
$status = Status::newFatal( 'foo', 1, 2 );
);
}
+ /**
+ * Test 'ok' setter.
+ *
+ * @covers Status::__set
+ */
+ public function testOkSetter() {
+ $status = new Status();
+ $status->ok = false;
+ $this->assertFalse( $status->isOK() );
+ $status->ok = true;
+ $this->assertTrue( $status->isOK() );
+ }
+
/**
* @dataProvider provideSetResult
* @covers Status::setResult
/**
* @dataProvider provideIsOk
- * @covers Status::isOk
+ * @covers Status::setOK
+ * @covers Status::isOK
*/
public function testIsOk( $ok ) {
$status = new Status();
- $status->ok = $ok;
+ $status->setOK( $ok );
$this->assertEquals( $ok, $status->isOK() );
}
*/
public function testIsGood( $ok, $errors, $expected ) {
$status = new Status();
- $status->ok = $ok;
+ $status->setOK( $ok );
foreach ( $errors as $error ) {
$status->warning( $error );
}
* @covers Status::error
* @covers Status::getErrorsArray
* @covers Status::getStatusArray
+ * @covers Status::getErrors
*/
public function testErrorWithMessage( $mockDetails ) {
$status = new Status();
];
$status = new Status();
- $status->ok = false;
+ $status->setOK( false );
$testCases['GoodButNoError'] = [
$status,
"Internal error: Status::getWikiText: Invalid result object: no error text but not OK\n",
];
$status = new Status();
- $status->ok = false;
+ $status->setOK( false );
$testCases['GoodButNoError'] = [
$status,
[ "Status::getMessage: Invalid result object: no error text but not OK\n" ],
];
}
+ /**
+ * @dataProvider provideErrorsWarningsOnly
+ * @covers Status::splitByErrorType
+ * @covers StatusValue::splitByErrorType
+ */
+ public function testGetErrorsWarningsOnlyStatus( $errorText, $warningText, $type, $errorResult,
+ $warningResult
+ ) {
+ $status = Status::newGood();
+ if ( $errorText ) {
+ $status->fatal( $errorText );
+ }
+ if ( $warningText ) {
+ $status->warning( $warningText );
+ }
+ $testStatus = $status->splitByErrorType()[$type];
+ $this->assertEquals( $errorResult, $testStatus->getErrorsByType( 'error' ) );
+ $this->assertEquals( $warningResult, $testStatus->getErrorsByType( 'warning' ) );
+ }
+
+ public static function provideErrorsWarningsOnly() {
+ return [
+ [
+ 'Just an error',
+ 'Just a warning',
+ 0,
+ [
+ 0 => [
+ 'type' => 'error',
+ 'message' => 'Just an error',
+ 'params' => []
+ ],
+ ],
+ [],
+ ], [
+ 'Just an error',
+ 'Just a warning',
+ 1,
+ [],
+ [
+ 0 => [
+ 'type' => 'warning',
+ 'message' => 'Just a warning',
+ 'params' => []
+ ],
+ ],
+ ], [
+ null,
+ null,
+ 1,
+ [],
+ [],
+ ], [
+ null,
+ null,
+ 0,
+ [],
+ [],
+ ]
+ ];
+ }
+
}