From 9970000ba24d27ce16a9c43b09b6f54bfa57002d Mon Sep 17 00:00:00 2001 From: Krinkle Date: Thu, 19 May 2011 21:35:32 +0000 Subject: [PATCH] QUnit reorganization * Moved QUnit directory from /resources/test/ to /tests/qunit/. * Includes an .htaccess file in /tests/qunit/ to allow reading this from the browser (since /tests/.htaccess disallows this by default, as it should) * Deleted "/unit/main.css" which wasn't used for anything (was an idea I had but redundant now) * Renamed /qunit/unit/ to /qunit/suites/ * Re-organized structure within /suites/ to match that of MediaWiki's. (ie. /resources/jquery, /resources/mediawiki.util etc.) This will make it easier to write a "check if all JS have a test suite" thingy. * Added a few "Clean up" sections in the test suites to remove added elements (namely added portlet links) --- resources/test/index.html | 71 ------------------ resources/test/unit/main.css | 5 -- tests/qunit/.htaccess | 1 + tests/qunit/index.html | 75 +++++++++++++++++++ .../test => tests/qunit}/sample/awesome.js | 0 .../resources}/jquery/jquery.autoEllipsis.js | 0 .../resources}/jquery/jquery.colorUtil.js | 0 .../resources}/jquery/jquery.mwPrototypes.js | 0 .../mediawiki.util/mediawiki.util.js | 44 +++++++---- .../suites/resources}/mediawiki/mediawiki.js | 0 .../resources}/mediawiki/mediawiki.user.js | 0 .../test => tests/qunit}/testswarm.inject.js | 0 12 files changed, 105 insertions(+), 91 deletions(-) delete mode 100644 resources/test/index.html delete mode 100644 resources/test/unit/main.css create mode 100644 tests/qunit/.htaccess create mode 100644 tests/qunit/index.html rename {resources/test => tests/qunit}/sample/awesome.js (100%) rename {resources/test/unit => tests/qunit/suites/resources}/jquery/jquery.autoEllipsis.js (100%) rename {resources/test/unit => tests/qunit/suites/resources}/jquery/jquery.colorUtil.js (100%) rename {resources/test/unit => tests/qunit/suites/resources}/jquery/jquery.mwPrototypes.js (100%) rename {resources/test/unit => tests/qunit/suites/resources}/mediawiki.util/mediawiki.util.js (81%) rename {resources/test/unit => tests/qunit/suites/resources}/mediawiki/mediawiki.js (100%) rename {resources/test/unit => tests/qunit/suites/resources}/mediawiki/mediawiki.user.js (100%) rename {resources/test => tests/qunit}/testswarm.inject.js (100%) diff --git a/resources/test/index.html b/resources/test/index.html deleted file mode 100644 index 3138182223..0000000000 --- a/resources/test/index.html +++ /dev/null @@ -1,71 +0,0 @@ - - - - MediaWiki JavaScript Test Suite - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

MediaWiki JavaScript Test Suite

-

-
-

-
    - -
    -
    -
    -
    - -
    -
    -
    - - diff --git a/resources/test/unit/main.css b/resources/test/unit/main.css deleted file mode 100644 index b4b24e123d..0000000000 --- a/resources/test/unit/main.css +++ /dev/null @@ -1,5 +0,0 @@ -/* Hide mediawiki elements */ -div#mw-js-message, -#mw-content { - display: none !important; -} \ No newline at end of file diff --git a/tests/qunit/.htaccess b/tests/qunit/.htaccess new file mode 100644 index 0000000000..605d2f4ca2 --- /dev/null +++ b/tests/qunit/.htaccess @@ -0,0 +1 @@ +Allow from all diff --git a/tests/qunit/index.html b/tests/qunit/index.html new file mode 100644 index 0000000000..c610e57f05 --- /dev/null +++ b/tests/qunit/index.html @@ -0,0 +1,75 @@ + + + + MediaWiki JavaScript Test Suite + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    MediaWiki JavaScript Test Suite

    +

    +
    +

    +
      + + + +
      +
      +
      +
      +
        +
      +
      +
      +
      + + diff --git a/resources/test/sample/awesome.js b/tests/qunit/sample/awesome.js similarity index 100% rename from resources/test/sample/awesome.js rename to tests/qunit/sample/awesome.js diff --git a/resources/test/unit/jquery/jquery.autoEllipsis.js b/tests/qunit/suites/resources/jquery/jquery.autoEllipsis.js similarity index 100% rename from resources/test/unit/jquery/jquery.autoEllipsis.js rename to tests/qunit/suites/resources/jquery/jquery.autoEllipsis.js diff --git a/resources/test/unit/jquery/jquery.colorUtil.js b/tests/qunit/suites/resources/jquery/jquery.colorUtil.js similarity index 100% rename from resources/test/unit/jquery/jquery.colorUtil.js rename to tests/qunit/suites/resources/jquery/jquery.colorUtil.js diff --git a/resources/test/unit/jquery/jquery.mwPrototypes.js b/tests/qunit/suites/resources/jquery/jquery.mwPrototypes.js similarity index 100% rename from resources/test/unit/jquery/jquery.mwPrototypes.js rename to tests/qunit/suites/resources/jquery/jquery.mwPrototypes.js diff --git a/resources/test/unit/mediawiki.util/mediawiki.util.js b/tests/qunit/suites/resources/mediawiki.util/mediawiki.util.js similarity index 81% rename from resources/test/unit/mediawiki.util/mediawiki.util.js rename to tests/qunit/suites/resources/mediawiki.util/mediawiki.util.js index 2df7d03359..8addd03f6a 100644 --- a/resources/test/unit/mediawiki.util/mediawiki.util.js +++ b/tests/qunit/suites/resources/mediawiki.util/mediawiki.util.js @@ -23,10 +23,10 @@ test( 'addCSS', function(){ var a = mw.util.addCSS( '#bodyContent { visibility: hidden; }' ); ok( a, 'function works' ); deepEqual( a.disabled, false, 'property "disabled" is available and set to false' ); - + var $b = $('#bodyContent'); equal( $b.css('visibility'), 'hidden', 'Added style properties are in effect.' ); - + }); @@ -42,11 +42,11 @@ test( 'wikiGetlink', function(){ mw.config.set( 'wgArticlePath', '/wiki/$1' ); var hrefA = mw.util.wikiGetlink( 'Sandbox' ); - + equal( hrefA, '/wiki/Sandbox', 'Simple title; Get link for "Sandbox"' ); var hrefB = mw.util.wikiGetlink( 'Foo:Sandbox ? 5+5=10 ! (test)/subpage' ); - + equal( hrefB, '/wiki/Foo:Sandbox_%3F_5%2B5%3D10_%21_%28test%29/subpage', 'Advanced title; Get link for "Foo:Sandbox ? 5+5=10 ! (test)/subpage"' ); }); @@ -88,7 +88,7 @@ test( 'getActionFrom', function(){ // Default settings mw.config.set( { 'wgActionPaths': [], - 'wgArticlePath': '/w/index.php/$1' + 'wgArticlePath': '/w/index.php/$1' }); equal( mw.util.getActionFrom( urlD ), 'view', 'wgArticlePath (/index.php/$1) support' ); @@ -122,7 +122,7 @@ test( 'getTitleFrom', function(){ // Default settings mw.config.set( { 'wgActionPaths': [], - 'wgArticlePath': '/w/index.php/$1' + 'wgArticlePath': '/w/index.php/$1' }); equal( mw.util.getTitleFrom( urlD ), 'Article', 'wgArticlePath (/index.php/$1) support' ); @@ -146,14 +146,25 @@ test( '$content', function(){ test( 'addPortletLink', function(){ - var a = mw.util.addPortletLink( 'p-tb', 'http://mediawiki.org/wiki/ResourceLoader', 'ResourceLoader', 't-rl', 'More info about ResourceLoader on MediaWiki.org ', 'l', '#t-specialpages' ); - - ok( $.isDomElement(a), 'addPortletLink returns a DomElement' ); - - var b = mw.util.addPortletLink( "p-tb", "http://mediawiki.org/", "MediaWiki.org", "t-mworg", "Go to MediaWiki.org ", "m", "#t-rl" ); - - equal( $(a).text(), 'ResourceLoader', 'Link contains correct text' ); - equal( $(b).next().text(), 'ResourceLoader', 'Link was inserted in correct nextnode position' ); + var A = mw.util.addPortletLink( 'p-tb', 'http://mediawiki.org/wiki/ResourceLoader', + 'ResourceLoader', 't-rl', 'More info about ResourceLoader on MediaWiki.org ', 'l', '#t-specialpages' ); + + ok( $.isDomElement( A ), 'addPortletLink returns a valid DOM Element according to $.isDomElement' ); + + var B = mw.util.addPortletLink( "p-tb", "http://mediawiki.org/", + "MediaWiki.org", "t-mworg", "Go to MediaWiki.org ", "m", A ); + + equal( $( B ).attr( 'id' ), 't-mworg', 'Link has correct ID set' ); + equal( $( B ).closest( '.portal' ).attr( 'id' ), 'p-tb', 'Link was inserted within correct portlet' ); + equal( $( B ).next().attr( 'id' ), 't-rl', 'Link is in the correct position (by passing nextnode)' ); + + var C = mw.util.addPortletLink( "p-tb", "http://mediawiki.org/wiki/RL/DM", + "Default modules", "t-rldm", "List of all default modules ", "d", "#t-rl" ); + + equal( $( C ).next().attr( 'id' ), 't-rl', 'Link is in the correct position (by passing CSS selector)' ); + + // Clean up + $( [A, B, C] ).remove(); }); @@ -161,7 +172,10 @@ test( 'jsMessage', function(){ var a = mw.util.jsMessage( "MediaWiki is Awesome." ); - ok( a, 'Basic return value checking' ); + ok( a, 'Basic checking of return value' ); + + // Clean up + $( '#mw-js-message' ).remove(); }); diff --git a/resources/test/unit/mediawiki/mediawiki.js b/tests/qunit/suites/resources/mediawiki/mediawiki.js similarity index 100% rename from resources/test/unit/mediawiki/mediawiki.js rename to tests/qunit/suites/resources/mediawiki/mediawiki.js diff --git a/resources/test/unit/mediawiki/mediawiki.user.js b/tests/qunit/suites/resources/mediawiki/mediawiki.user.js similarity index 100% rename from resources/test/unit/mediawiki/mediawiki.user.js rename to tests/qunit/suites/resources/mediawiki/mediawiki.user.js diff --git a/resources/test/testswarm.inject.js b/tests/qunit/testswarm.inject.js similarity index 100% rename from resources/test/testswarm.inject.js rename to tests/qunit/testswarm.inject.js -- 2.20.1