summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/SemanticMediaWiki/tests/qunit/smw/data/ext.smw.dataItem.wikiPage.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/extensions/SemanticMediaWiki/tests/qunit/smw/data/ext.smw.dataItem.wikiPage.test.js')
-rw-r--r--www/wiki/extensions/SemanticMediaWiki/tests/qunit/smw/data/ext.smw.dataItem.wikiPage.test.js240
1 files changed, 240 insertions, 0 deletions
diff --git a/www/wiki/extensions/SemanticMediaWiki/tests/qunit/smw/data/ext.smw.dataItem.wikiPage.test.js b/www/wiki/extensions/SemanticMediaWiki/tests/qunit/smw/data/ext.smw.dataItem.wikiPage.test.js
new file mode 100644
index 00000000..ad65dbd3
--- /dev/null
+++ b/www/wiki/extensions/SemanticMediaWiki/tests/qunit/smw/data/ext.smw.dataItem.wikiPage.test.js
@@ -0,0 +1,240 @@
+/*!
+ * This file is part of the Semantic MediaWiki QUnit test suite
+ * @see https://semantic-mediawiki.org/wiki/QUnit
+ *
+ * @section LICENSE
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+ *
+ * @since 1.9
+ *
+ * @file
+ *
+ * @ingroup SMW
+ * @ingroup Test
+ *
+ * @licence GNU GPL v2+
+ * @author mwjames
+ */
+( function ( $, mw, smw ) {
+ 'use strict';
+
+ QUnit.module( 'ext.smw.dataItem.wikiPage', QUnit.newMwEnvironment() );
+
+ // Data provider
+ var testCases = [
+ {
+ test: [ '', '', '' ],
+ expected: { 'name': null, 'text': null, 'uri': null, 'ns': 0, 'html': null, 'known': true }
+ } ,
+ {
+ test: [ 'foo', '', '' ],
+ expected: { 'name': 'foo', 'text': 'foo', 'uri': null, 'ns': 0, 'html': 'foo', 'known': true }
+ },
+ {
+ test: [ 'bar', '', 6 ],
+ expected: { 'name': 'bar', 'text': 'bar', 'uri': null, 'ns': 6, 'html': 'bar', 'known': true }
+ },
+ {
+ test: [ 'bar', '', 0, true ],
+ expected: { 'name': 'bar', 'text': 'bar', 'uri': null, 'ns': 0, 'html': 'bar', 'known': true }
+ },
+ {
+ test: [ 'bar', '', 2, false ],
+ expected: { 'name': 'bar', 'text': 'bar', 'uri': null, 'ns': 2, 'html': 'bar', 'known': false }
+ },
+ {
+ test: [ 'fooBar', 'http://fooBar', 0, false ],
+ expected: { 'name': 'fooBar', 'text': 'fooBar', 'uri': 'http://fooBar', 'ns': 0, 'html': '<a href=\"http://fooBar\" class=\"new\">fooBar</a>', 'known': false }
+ },
+ {
+ test: [ 'fooBar#_9a0c8abb8ef729b5c7', 'http://fooBar#_9a0c8abb8ef729b5c7', 0, false ],
+ expected: { 'name': 'fooBar#_9a0c8abb8ef729b5c7', 'text': 'fooBar', 'uri': 'http://fooBar#_9a0c8abb8ef729b5c7', 'ns': 0, 'html': '<a href=\"http://fooBar#_9a0c8abb8ef729b5c7\" class=\"new\">fooBar</a>', 'known': false }
+ },
+ {
+ test: [ 'fooBar', 'http://fooBar', 0, true ],
+ expected: { 'name': 'fooBar', 'text': 'fooBar', 'uri': 'http://fooBar', 'ns': 0, 'html': '<a href=\"http://fooBar\">fooBar</a>', 'known': true }
+ },
+ {
+ test: [ 'Foo#_QUERY9a665a578eb95c1', 'http://Foo#_QUERY9a665a578eb95c1', 0, true ],
+ expected: { 'name': 'Foo#_QUERY9a665a578eb95c1', 'text': 'Foo', 'uri': 'http://Foo#_QUERY9a665a578eb95c1', 'ns': 0, 'html': '<a href=\"http://Foo#_QUERY9a665a578eb95c1\">Foo</a>', 'known': true }
+ },
+ {
+ test: [ 'Foo#_QUERY#9a665a578eb95c1', 'http://Foo#_QUERY#9a665a578eb95c1', 0, true ],
+ expected: { 'name': 'Foo#_QUERY#9a665a578eb95c1', 'text': 'Foo', 'uri': 'http://Foo#_QUERY#9a665a578eb95c1', 'ns': 0, 'html': '<a href=\"http://Foo#_QUERY#9a665a578eb95c1\">Foo</a>', 'known': true }
+ }
+ ];
+
+ /**
+ * Test accessibility
+ *
+ * @since: 1.9
+ */
+ QUnit.test( 'instance', function ( assert ) {
+ assert.expect( 1 );
+
+ var result = new smw.dataItem.wikiPage( 'foo', 'bar' );
+ assert.ok( result instanceof Object, 'the smw.dataItem.wikiPage instance was accessible' );
+
+ } );
+
+ /**
+ * Test type
+ *
+ * @since: 1.9
+ */
+ QUnit.test( 'getDIType', function ( assert ) {
+ assert.expect( 1 );
+
+ var result = new smw.dataItem.wikiPage( 'foo', 'bar' );
+ assert.equal( result.getDIType(), '_wpg', 'returned _wpg' );
+
+ } );
+
+ /**
+ * Test getPrefixedText
+ *
+ * @since: 1.9
+ */
+ QUnit.test( 'getPrefixedText', function ( assert ) {
+ assert.expect( 10 );
+
+ var result;
+
+ $.map( testCases, function ( testCase ) {
+ result = new smw.dataItem.wikiPage( testCase.test[0], testCase.test[1], testCase.test[2] );
+ assert.equal( result.getPrefixedText(), testCase.expected.name , 'returned ' + testCase.expected.name );
+ } );
+
+ } );
+
+ /**
+ * Test getText
+ *
+ * @since: 1.9
+ */
+ QUnit.test( 'getText', function ( assert ) {
+ assert.expect( 10 );
+
+ var result;
+
+ $.map( testCases, function ( testCase ) {
+ result = new smw.dataItem.wikiPage( testCase.test[0], testCase.test[1], testCase.test[2] );
+ assert.equal( result.getText(), testCase.expected.text , 'returned ' + testCase.expected.text );
+ } );
+
+ } );
+
+ /**
+ * Test getUri
+ *
+ * @since: 1.9
+ */
+ QUnit.test( 'getUri', function ( assert ) {
+ assert.expect( 10 );
+
+ var result;
+
+ $.map( testCases, function ( testCase ) {
+ result = new smw.dataItem.wikiPage( testCase.test[0], testCase.test[1], testCase.test[2] );
+ assert.equal( result.getUri(), testCase.expected.uri , 'returned ' + testCase.expected.uri );
+ } );
+
+ } );
+
+ /**
+ * Test getNamespaceId
+ *
+ * @since: 1.9
+ */
+ QUnit.test( 'getNamespaceId', function ( assert ) {
+ assert.expect( 10 );
+
+ var result;
+
+ $.map( testCases, function ( testCase ) {
+ result = new smw.dataItem.wikiPage( testCase.test[0], testCase.test[1], testCase.test[2] );
+ assert.equal( result.getNamespaceId(), testCase.expected.ns , 'returned ' + testCase.expected.ns );
+ } );
+
+ } );
+
+ /**
+ * Test getTitle
+ *
+ * @since: 1.9
+ */
+ QUnit.test( 'getTitle', function ( assert ) {
+ assert.expect( 2 );
+
+ var wikiPage = new smw.dataItem.wikiPage( 'File:foo', 'bar' );
+ var title = new mw.Title( 'File:foo' );
+
+ assert.ok( wikiPage.getTitle() instanceof mw.Title, '.getTitle() returned a Title instance' );
+ assert.deepEqual( wikiPage.getTitle(), title, 'returned a Title instance' );
+
+ } );
+
+ /**
+ * Test isKnown
+ *
+ * @since: 1.9
+ */
+ QUnit.test( 'isKnown', function ( assert ) {
+ assert.expect( 10 );
+
+ var result;
+
+ $.map( testCases, function ( testCase ) {
+ result = new smw.dataItem.wikiPage( testCase.test[0], testCase.test[1], testCase.test[2], testCase.test[3] );
+ assert.equal( result.isKnown(), testCase.expected.known, 'returned ' + testCase.expected.known );
+ } );
+
+ } );
+
+ /**
+ * Test getHtml
+ *
+ * @since: 1.9
+ */
+ QUnit.test( 'getHtml( false )', function ( assert ) {
+ assert.expect( 10 );
+
+ var result;
+
+ $.map( testCases, function ( testCase ) {
+ result = new smw.dataItem.wikiPage( testCase.test[0], testCase.test[1], testCase.test[2] );
+ assert.equal( result.getHtml( false ), testCase.expected.text, 'returned ' + testCase.expected.text );
+ } );
+
+ } );
+
+ /**
+ * Test getHtml
+ *
+ * @since: 1.9
+ */
+ QUnit.test( 'getHtml( true )', function ( assert ) {
+ assert.expect( 10 );
+
+ var result;
+
+ $.map( testCases, function ( testCase ) {
+ result = new smw.dataItem.wikiPage( testCase.test[0], testCase.test[1], testCase.test[2], testCase.test[3] );
+ assert.equal( result.getHtml( true ), testCase.expected.html, 'returned ' + testCase.expected.html );
+ } );
+
+ } );
+
+}( jQuery, mediaWiki, semanticMediaWiki ) );