summaryrefslogtreecommitdiff
path: root/tests/phpunit/includes/specials/SpecialBooksourcesTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/phpunit/includes/specials/SpecialBooksourcesTest.php')
-rw-r--r--tests/phpunit/includes/specials/SpecialBooksourcesTest.php36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/phpunit/includes/specials/SpecialBooksourcesTest.php b/tests/phpunit/includes/specials/SpecialBooksourcesTest.php
new file mode 100644
index 00000000..69485a03
--- /dev/null
+++ b/tests/phpunit/includes/specials/SpecialBooksourcesTest.php
@@ -0,0 +1,36 @@
+<?php
+class SpecialBooksourcesTest extends MediaWikiTestCase {
+ public static function provideISBNs() {
+ return array(
+ array( '978-0-300-14424-6', true ),
+ array( '0-14-020652-3', true ),
+ array( '020652-3', false ),
+ array( '9781234567897', true ),
+ array( '1-4133-0454-0', true ),
+ array( '978-1413304541', true ),
+ array( '0136091814', true ),
+ array( '0136091812', false ),
+ array( '9780136091813', true ),
+ array( '9780136091817', false ),
+ array( '123456789X', true ),
+
+ // Bug 67021
+ array( '1413304541', false ),
+ array( '141330454X', false ),
+ array( '1413304540', true ),
+ array( '14133X4540', false ),
+ array( '97814133X4541', false ),
+ array( '978035642615X', false ),
+ array( '9781413304541', true ),
+ array( '9780356426150', true ),
+ );
+ }
+
+ /**
+ * @covers SpecialBookSources::isValidISBN
+ * @dataProvider provideISBNs
+ */
+ public function testIsValidISBN( $isbn, $isValid ) {
+ $this->assertSame( $isValid, SpecialBookSources::isValidISBN( $isbn ) );
+ }
+}