Tests: Some tests in [41722] were using newer PHPUnit features.

`test_cache` used PHPUnit's object mocking to test some internal behaviour in `Plural_Forms`, but made use of the `willReturn()` method, which was introduced in PHPUnit 4.0 as shorthand for `will($this->returnValue())`. Fixed by switching to the longer form.

Several tests used the `@expectedException` directive to catch generic `Exception` exceptions, which was added in PHPUnit 3.7. Fixed by changing to an explicit `try` / `catch` test.

See #41562.



git-svn-id: https://develop.svn.wordpress.org/trunk@41725 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Gary Pendergast 2017-10-04 04:10:47 +00:00
parent fa43ebdefd
commit 1eba2e5e3e
1 changed files with 49 additions and 53 deletions

View File

@ -156,62 +156,58 @@ class PluralFormsTest extends WP_UnitTestCase {
$this->assertSame( $expected, $actual );
}
/**
* @expectedException Exception
* @expectedExceptionMessage Unknown symbol "#"
*/
public function test_invalid_operator() {
$pluralForms = new Plural_Forms( 'n # 2' );
public function data_exceptions() {
return array(
array(
'n # 2', // Invalid expression to parse
'Unknown symbol "#"', // Expected exception message
false, // Whether to call the get() method or not
),
array(
'n & 1',
'Unknown operator "&"',
false,
),
array(
'((n)',
'Mismatched parentheses',
false,
),
array(
'(n))',
'Mismatched parentheses',
false,
),
array(
'n : 2',
'Missing starting "?" ternary operator',
false,
),
array(
'n ? 1',
'Unknown operator "?"',
true,
),
array(
'n n',
'Too many values remaining on the stack',
true,
),
);
}
/**
* @expectedException Exception
* @expectedExceptionMessage Unknown operator "&"
* @dataProvider data_exceptions
*/
public function test_partial_operator() {
$pluralForms = new Plural_Forms( 'n & 1' );
}
/**
* @expectedException Exception
* @expectedExceptionMessage Mismatched parentheses
*/
public function test_mismatched_open_paren() {
$pluralForms = new Plural_Forms( '((n)' );
}
/**
* @expectedException Exception
* @expectedExceptionMessage Mismatched parentheses
*/
public function test_mismatched_close_paren() {
$pluralForms = new Plural_Forms( '(n))' );
}
/**
* @expectedException Exception
* @expectedExceptionMessage Missing starting "?" ternary operator
*/
public function test_missing_ternary_operator() {
$pluralForms = new Plural_Forms( 'n : 2' );
}
/**
* @expectedException Exception
* @expectedExceptionMessage Unknown operator "?"
*/
public function test_missing_ternary_else() {
$pluralForms = new Plural_Forms( 'n ? 1' );
$pluralForms->get( 1 );
}
/**
* @expectedException Exception
* @expectedExceptionMessage Too many values remaining on the stack
*/
public function test_overflow_stack() {
$pluralForms = new Plural_Forms( 'n n' );
$pluralForms->get( 1 );
public function test_exceptions( $expression, $expected_exception, $call_get ) {
try {
$pluralForms = new Plural_Forms( $expression );
if( $call_get ) {
$pluralForms->get( 1 );
}
} catch ( Exception $e ) {
$this->assertEquals( $expected_exception, $e->getMessage() );
}
}
public function test_cache() {
@ -223,7 +219,7 @@ class PluralFormsTest extends WP_UnitTestCase {
$mock->expects($this->once())
->method('execute')
->with($this->identicalTo(2))
->willReturn(1);
->will($this->returnValue(1));
$first = $mock->get( 2 );
$second = $mock->get( 2 );