diff options
author | Yaco <franco@reevo.org> | 2020-06-04 11:01:00 -0300 |
---|---|---|
committer | Yaco <franco@reevo.org> | 2020-06-04 11:01:00 -0300 |
commit | fc7369835258467bf97eb64f184b93691f9a9fd5 (patch) | |
tree | daabd60089d2dd76d9f5fb416b005fbe159c799d /www/wiki/tests/phpunit/includes/specials/SpecialBooksourcesTest.php |
first commit
Diffstat (limited to 'www/wiki/tests/phpunit/includes/specials/SpecialBooksourcesTest.php')
-rw-r--r-- | www/wiki/tests/phpunit/includes/specials/SpecialBooksourcesTest.php | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/www/wiki/tests/phpunit/includes/specials/SpecialBooksourcesTest.php b/www/wiki/tests/phpunit/includes/specials/SpecialBooksourcesTest.php new file mode 100644 index 00000000..9c71261e --- /dev/null +++ b/www/wiki/tests/phpunit/includes/specials/SpecialBooksourcesTest.php @@ -0,0 +1,51 @@ +<?php +class SpecialBooksourcesTest extends SpecialPageTestBase { + public static function provideISBNs() { + return [ + [ '978-0-300-14424-6', true ], + [ '0-14-020652-3', true ], + [ '020652-3', false ], + [ '9781234567897', true ], + [ '1-4133-0454-0', true ], + [ '978-1413304541', true ], + [ '0136091814', true ], + [ '0136091812', false ], + [ '9780136091813', true ], + [ '9780136091817', false ], + [ '123456789X', true ], + + // T69021 + [ '1413304541', false ], + [ '141330454X', false ], + [ '1413304540', true ], + [ '14133X4540', false ], + [ '97814133X4541', false ], + [ '978035642615X', false ], + [ '9781413304541', true ], + [ '9780356426150', true ], + ]; + } + + /** + * @covers SpecialBookSources::isValidISBN + * @dataProvider provideISBNs + */ + public function testIsValidISBN( $isbn, $isValid ) { + $this->assertSame( $isValid, SpecialBookSources::isValidISBN( $isbn ) ); + } + + protected function newSpecialPage() { + return new SpecialBookSources(); + } + + /** + * @covers SpecialBookSources::execute + */ + public function testExecute() { + list( $html, ) = $this->executeSpecialPage( 'Invalid', null, 'qqx' ); + $this->assertContains( '(booksources-invalid-isbn)', $html ); + list( $html, ) = $this->executeSpecialPage( '0-7475-3269-9', null, 'qqx' ); + $this->assertNotContains( '(booksources-invalid-isbn)', $html ); + $this->assertContains( '(booksources-text)', $html ); + } +} |