http://www.mediawiki.org/wiki/Special:Code/MediaWiki/93519

Revision: 93519
Author:   krinkle
Date:     2011-07-30 08:08:24 +0000 (Sat, 30 Jul 2011)
Log Message:
-----------
Increasing coverage of mw.Title with unit tests.

* QUnit Completeness Test ?\226?\128?\147 Before:
Title.prototype.getNamespaceId
Title.prototype.getPrefixedText
Title.prototype.getExtension
Title.prototype.setNameAndExtension
Title.prototype.getUrl
Title.prototype.exists

* QUnit Completeness Test ?\226?\128?\147 After:
Title.prototype.getNamespaceId
Title.prototype.getPrefixedText
Title.prototype.getExtension

Modified Paths:
--------------
    trunk/phase3/tests/qunit/suites/resources/mediawiki/mediawiki.Title.js

Modified: trunk/phase3/tests/qunit/suites/resources/mediawiki/mediawiki.Title.js
===================================================================
--- trunk/phase3/tests/qunit/suites/resources/mediawiki/mediawiki.Title.js      
2011-07-30 07:41:57 UTC (rev 93518)
+++ trunk/phase3/tests/qunit/suites/resources/mediawiki/mediawiki.Title.js      
2011-07-30 08:08:24 UTC (rev 93519)
@@ -134,3 +134,63 @@
                title.setNamespace( 'Entirely Unknown' );
        });
 });
+
+test( 'Case-sensivity', function() {
+       expect(3);
+       _titleConfig();
+
+       var title;
+
+       // Default config
+       mw.config.set( 'wgCaseSensitiveNamespaces', [] );
+
+       title = new mw.Title( 'article' );
+       equal( title.toString(), 'Article', 'Default config: No sensitive 
namespaces by default. First-letter becomes uppercase' );
+
+       // $wgCapitalLinks = false;
+       mw.config.set( 'wgCaseSensitiveNamespaces', [0, -2, 1, 4, 5, 6, 7, 10, 
11, 12, 13, 14, 15] );
+
+       title = new mw.Title( 'article' );
+       equal( title.toString(), 'article', '$wgCapitalLinks=false: Article 
namespace is sensitive, first-letter case stays lowercase' );
+
+       title = new mw.Title( 'john', 2 );
+       equal( title.toString(), 'User:John', '$wgCapitalLinks=false: User 
namespace is insensitive, first-letter becomes uppercase' );
+});
+
+test( 'Exists', function() {
+       expect(3);
+       _titleConfig();
+
+       var title;
+
+       // Empty registry, checks default to null
+
+       title = new mw.Title( 'Some random page', 4 );
+       strictEqual( title.exists(), null, 'Return null with empty existance 
registry' );
+
+       // Basic registry, checks default to boolean
+       mw.Title.exist.set( ['Does_exist', 'User_talk:NeilK', 
'Wikipedia:Sandbox_rules'], true );
+       mw.Title.exist.set( ['Does_not_exist', 'User:John', 'Foobar'], false );
+
+       title = new mw.Title( 'Project:Sandbox rules' );
+       assertTrue( title.exists(), 'Return true for page titles marked as 
existing' );
+       title = new mw.Title( 'Foobar' );
+       assertFalse( title.exists(), 'Return false for page titles marked as 
inexisting' );
+
+});
+
+test( 'Url', function() {
+       expect(2);
+       _titleConfig();
+
+       var title;
+
+       // Config
+       mw.config.set( 'wgArticlePath', '/wiki/$1' );
+
+       title = new mw.Title( 'Foobar' );
+       equal( title.getUrl(), '/wiki/Foobar', 'Basic functionally, toString 
passing to wikiGetlink' );
+
+       title = new mw.Title( 'John Doe', 3 );
+       equal( title.getUrl(), '/wiki/User_talk:John_Doe', 'Escaping in title 
and namespace for urls' );
+});
\ No newline at end of file


_______________________________________________
MediaWiki-CVS mailing list
MediaWiki-CVS@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to