var
// Based on IPTest.php > testisIPv4
IPV4_CASES = [
- [false, false, 'Boolean false is not an IP'],
- [false, true, 'Boolean true is not an IP'],
- [false, '', 'Empty string is not an IP'],
- [false, 'abc', '"abc" is not an IP'],
- [false, ':', 'Colon is not an IP'],
- [false, '124.24.52', 'IPv4 not enough quads'],
- [false, '24.324.52.13', 'IPv4 out of range'],
- [false, '.24.52.13', 'IPv4 starts with period'],
-
- [true, '124.24.52.13', '124.24.52.134 is a valid IP'],
- [true, '1.24.52.13', '1.24.52.13 is a valid IP'],
- [false, '74.24.52.13/20', 'IPv4 ranges are not recognized as valid IPs']
+ [ false, false, 'Boolean false is not an IP' ],
+ [ false, true, 'Boolean true is not an IP' ],
+ [ false, '', 'Empty string is not an IP' ],
+ [ false, 'abc', '"abc" is not an IP' ],
+ [ false, ':', 'Colon is not an IP' ],
+ [ false, '124.24.52', 'IPv4 not enough quads' ],
+ [ false, '24.324.52.13', 'IPv4 out of range' ],
+ [ false, '.24.52.13', 'IPv4 starts with period' ],
+
+ [ true, '124.24.52.13', '124.24.52.134 is a valid IP' ],
+ [ true, '1.24.52.13', '1.24.52.13 is a valid IP' ],
+ [ false, '74.24.52.13/20', 'IPv4 ranges are not recognized as valid IPs' ]
],
// Based on IPTest.php > testisIPv6
IPV6_CASES = [
- [false, ':fc:100::', 'IPv6 starting with lone ":"'],
- [false, 'fc:100:::', 'IPv6 ending with a ":::"'],
- [false, 'fc:300', 'IPv6 with only 2 words'],
- [false, 'fc:100:300', 'IPv6 with only 3 words'],
-
- [false, 'fc:100:a:d:1:e:ac:0::', 'IPv6 with 8 words ending with "::"'],
- [false, 'fc:100:a:d:1:e:ac:0:1::', 'IPv6 with 9 words ending with "::"'],
-
- [false, ':::'],
- [false, '::0:', 'IPv6 ending in a lone ":"'],
-
- [true, '::', 'IPv6 zero address'],
-
- [false, '::fc:100:a:d:1:e:ac:0', 'IPv6 with "::" and 8 words'],
- [false, '::fc:100:a:d:1:e:ac:0:1', 'IPv6 with 9 words'],
-
- [false, ':fc::100', 'IPv6 starting with lone ":"'],
- [false, 'fc::100:', 'IPv6 ending with lone ":"'],
- [false, 'fc:::100', 'IPv6 with ":::" in the middle'],
-
- [true, 'fc::100', 'IPv6 with "::" and 2 words'],
- [true, 'fc::100:a', 'IPv6 with "::" and 3 words'],
- [true, 'fc::100:a:d', 'IPv6 with "::" and 4 words'],
- [true, 'fc::100:a:d:1', 'IPv6 with "::" and 5 words'],
- [true, 'fc::100:a:d:1:e', 'IPv6 with "::" and 6 words'],
- [true, 'fc::100:a:d:1:e:ac', 'IPv6 with "::" and 7 words'],
- [true, '2001::df', 'IPv6 with "::" and 2 words'],
- [true, '2001:5c0:1400:a::df', 'IPv6 with "::" and 5 words'],
- [true, '2001:5c0:1400:a::df:2', 'IPv6 with "::" and 6 words'],
-
- [false, 'fc::100:a:d:1:e:ac:0', 'IPv6 with "::" and 8 words'],
- [false, 'fc::100:a:d:1:e:ac:0:1', 'IPv6 with 9 words']
+ [ false, ':fc:100::', 'IPv6 starting with lone ":"' ],
+ [ false, 'fc:100:::', 'IPv6 ending with a ":::"' ],
+ [ false, 'fc:300', 'IPv6 with only 2 words' ],
+ [ false, 'fc:100:300', 'IPv6 with only 3 words' ],
+
+ [ false, 'fc:100:a:d:1:e:ac:0::', 'IPv6 with 8 words ending with "::"' ],
+ [ false, 'fc:100:a:d:1:e:ac:0:1::', 'IPv6 with 9 words ending with "::"' ],
+
+ [ false, ':::' ],
+ [ false, '::0:', 'IPv6 ending in a lone ":"' ],
+
+ [ true, '::', 'IPv6 zero address' ],
+
+ [ false, '::fc:100:a:d:1:e:ac:0', 'IPv6 with "::" and 8 words' ],
+ [ false, '::fc:100:a:d:1:e:ac:0:1', 'IPv6 with 9 words' ],
+
+ [ false, ':fc::100', 'IPv6 starting with lone ":"' ],
+ [ false, 'fc::100:', 'IPv6 ending with lone ":"' ],
+ [ false, 'fc:::100', 'IPv6 with ":::" in the middle' ],
+
+ [ true, 'fc::100', 'IPv6 with "::" and 2 words' ],
+ [ true, 'fc::100:a', 'IPv6 with "::" and 3 words' ],
+ [ true, 'fc::100:a:d', 'IPv6 with "::" and 4 words' ],
+ [ true, 'fc::100:a:d:1', 'IPv6 with "::" and 5 words' ],
+ [ true, 'fc::100:a:d:1:e', 'IPv6 with "::" and 6 words' ],
+ [ true, 'fc::100:a:d:1:e:ac', 'IPv6 with "::" and 7 words' ],
+ [ true, '2001::df', 'IPv6 with "::" and 2 words' ],
+ [ true, '2001:5c0:1400:a::df', 'IPv6 with "::" and 5 words' ],
+ [ true, '2001:5c0:1400:a::df:2', 'IPv6 with "::" and 6 words' ],
+
+ [ false, 'fc::100:a:d:1:e:ac:0', 'IPv6 with "::" and 8 words' ],
+ [ false, 'fc::100:a:d:1:e:ac:0:1', 'IPv6 with 9 words' ]
];
Array.prototype.push.apply( IPV6_CASES,
'::fc:100:a:d:1:e:ac',
'fc:100:a:d:1:e:ac:0'
], function ( el ) {
- return [[ true, el, el + ' is a valid IP' ]];
+ return [ [ true, el, el + ' is a valid IP' ] ];
} )
);
);
assert.equal( $tbMW.closest( '.portlet' ).attr( 'id' ), 'p-test-tb', 'Link was inserted within correct portlet' );
- assert.strictEqual( $tbMW.next()[0], tbRL, 'Link is in the correct position (nextnode as Node object)' );
+ assert.strictEqual( $tbMW.next()[ 0 ], tbRL, 'Link is in the correct position (nextnode as Node object)' );
cuQuux = mw.util.addPortletLink( 'p-test-custom', '#', 'Quux', null, 'Example [shift-x]', 'q' );
$cuQuux = $( cuQuux );
tbRLDM = mw.util.addPortletLink( 'p-test-tb', '//mediawiki.org/wiki/RL/DM',
'Default modules', 't-rldm', 'List of all default modules ', 'd', '#t-rl' );
- assert.strictEqual( $( tbRLDM ).next()[0], tbRL, 'Link is in the correct position (CSS selector as nextnode)' );
+ assert.strictEqual( $( tbRLDM ).next()[ 0 ], tbRL, 'Link is in the correct position (CSS selector as nextnode)' );
caFoo = mw.util.addPortletLink( 'p-test-views', '#', 'Foo' );
assert.strictEqual( $( caFoo ).find( 'span' ).length, 1, 'A <span> element should be added for porlets with vectorTabs class.' );
addedAfter = mw.util.addPortletLink( 'p-test-tb', '#', 'After foo', 'post-foo', 'After foo', null, $( tbRL ) );
- assert.strictEqual( $( addedAfter ).next()[0], tbRL, 'Link is in the correct position (jQuery object as nextnode)' );
+ assert.strictEqual( $( addedAfter ).next()[ 0 ], tbRL, 'Link is in the correct position (jQuery object as nextnode)' );
// test case - nonexistent id as next node
tbRLDMnonexistentid = mw.util.addPortletLink( 'p-test-tb', '//mediawiki.org/wiki/RL/DM',
'Default modules', 't-rldm-nonexistent', 'List of all default modules ', 'd', '#t-rl-nonexistent' );
- assert.equal( tbRLDMnonexistentid, $( '#p-test-tb li:last' )[0], 'Fallback to adding at the end (nextnode non-matching CSS selector)' );
+ assert.equal( tbRLDMnonexistentid, $( '#p-test-tb li:last' )[ 0 ], 'Fallback to adding at the end (nextnode non-matching CSS selector)' );
// test case - empty jquery object as next node
tbRLDMemptyjquery = mw.util.addPortletLink( 'p-test-tb', '//mediawiki.org/wiki/RL/DM',
'Default modules', 't-rldm-empty-jquery', 'List of all default modules ', 'd', $( '#t-rl-nonexistent' ) );
- assert.equal( tbRLDMemptyjquery, $( '#p-test-tb li:last' )[0], 'Fallback to adding at the end (nextnode as empty jQuery object)' );
+ assert.equal( tbRLDMemptyjquery, $( '#p-test-tb li:last' )[ 0 ], 'Fallback to adding at the end (nextnode as empty jQuery object)' );
} );
QUnit.test( 'validateEmail', 6, function ( assert ) {
QUnit.test( 'isIPv6Address', 40, function ( assert ) {
$.each( IPV6_CASES, function ( i, ipCase ) {
- assert.strictEqual( mw.util.isIPv6Address( ipCase[1] ), ipCase[0], ipCase[2] );
+ assert.strictEqual( mw.util.isIPv6Address( ipCase[ 1 ] ), ipCase[ 0 ], ipCase[ 2 ] );
} );
} );
QUnit.test( 'isIPv4Address', 11, function ( assert ) {
$.each( IPV4_CASES, function ( i, ipCase ) {
- assert.strictEqual( mw.util.isIPv4Address( ipCase[1] ), ipCase[0], ipCase[2] );
+ assert.strictEqual( mw.util.isIPv4Address( ipCase[ 1 ] ), ipCase[ 0 ], ipCase[ 2 ] );
} );
} );
QUnit.test( 'isIPAddress', 51, function ( assert ) {
$.each( IPV4_CASES, function ( i, ipCase ) {
- assert.strictEqual( mw.util.isIPv4Address( ipCase[1] ), ipCase[0], ipCase[2] );
+ assert.strictEqual( mw.util.isIPv4Address( ipCase[ 1 ] ), ipCase[ 0 ], ipCase[ 2 ] );
} );
$.each( IPV6_CASES, function ( i, ipCase ) {
- assert.strictEqual( mw.util.isIPv6Address( ipCase[1] ), ipCase[0], ipCase[2] );
+ assert.strictEqual( mw.util.isIPv6Address( ipCase[ 1 ] ), ipCase[ 0 ], ipCase[ 2 ] );
} );
} );
}( mediaWiki, jQuery ) );