Externals: updated QUnit to http://github.com/jquery/qunit commit 67ba5a338d836014c24345dc218ab3c9bb63b06e

The various updates to the unit test suites introduced 0 regressions due to update of QUnit, however the addition of jquery.ui.dialog.css to the dialog test suite did introduce one regression, to the dialog option height tests.
Also removed some old crufty woefully incomplete unused and rotted test harnesses.
This commit is contained in:
Richard Worth 2010-02-25 11:09:39 +00:00
parent 1fd3e6bd0b
commit 9483dcdbe6
37 changed files with 1392 additions and 1874 deletions

159
external/jsdiff.js vendored
View File

@ -1,159 +0,0 @@
/*
* Javascript Diff Algorithm
* By John Resig (http://ejohn.org/)
* Modified by Chu Alan "sprite"
*
* More Info:
* http://ejohn.org/projects/javascript-diff-algorithm/
*/
function escape(s) {
var n = s;
n = n.replace(/&/g, "&");
n = n.replace(/</g, "&lt;");
n = n.replace(/>/g, "&gt;");
n = n.replace(/"/g, "&quot;");
return n;
}
function diffString( o, n ) {
o = o.replace(/\s+$/, '');
n = n.replace(/\s+$/, '');
var out = diff(o == "" ? [] : o.split(/\s+/), n == "" ? [] : n.split(/\s+/) );
var str = "";
var oSpace = o.match(/\s+/g);
if (oSpace == null) {
oSpace = ["\n"];
} else {
oSpace.push("\n");
}
var nSpace = n.match(/\s+/g);
if (nSpace == null) {
nSpace = ["\n"];
} else {
nSpace.push("\n");
}
if (out.n.length == 0) {
for (var i = 0; i < out.o.length; i++) {
str += '<del>' + escape(out.o[i]) + oSpace[i] + "</del>";
}
} else {
if (out.n[0].text == null) {
for (n = 0; n < out.o.length && out.o[n].text == null; n++) {
str += '<del>' + escape(out.o[n]) + oSpace[n] + "</del>";
}
}
for ( var i = 0; i < out.n.length; i++ ) {
if (out.n[i].text == null) {
str += '<ins>' + escape(out.n[i]) + nSpace[i] + "</ins>";
} else {
var pre = "";
for (n = out.n[i].row + 1; n < out.o.length && out.o[n].text == null; n++ ) {
pre += '<del>' + escape(out.o[n]) + oSpace[n] + "</del>";
}
str += " " + out.n[i].text + nSpace[i] + pre;
}
}
}
return str;
}
function randomColor() {
return "rgb(" + (Math.random() * 100) + "%, " +
(Math.random() * 100) + "%, " +
(Math.random() * 100) + "%)";
}
function diffString2( o, n ) {
o = o.replace(/\s+$/, '');
n = n.replace(/\s+$/, '');
var out = diff(o == "" ? [] : o.split(/\s+/), n == "" ? [] : n.split(/\s+/) );
var oSpace = o.match(/\s+/g);
if (oSpace == null) {
oSpace = ["\n"];
} else {
oSpace.push("\n");
}
var nSpace = n.match(/\s+/g);
if (nSpace == null) {
nSpace = ["\n"];
} else {
nSpace.push("\n");
}
var os = "";
var colors = new Array();
for (var i = 0; i < out.o.length; i++) {
colors[i] = randomColor();
if (out.o[i].text != null) {
os += '<span style="background-color: ' +colors[i]+ '">' +
escape(out.o[i].text) + oSpace[i] + "</span>";
} else {
os += "<del>" + escape(out.o[i]) + oSpace[i] + "</del>";
}
}
var ns = "";
for (var i = 0; i < out.n.length; i++) {
if (out.n[i].text != null) {
ns += '<span style="background-color: ' +colors[out.n[i].row]+ '">' +
escape(out.n[i].text) + nSpace[i] + "</span>";
} else {
ns += "<ins>" + escape(out.n[i]) + nSpace[i] + "</ins>";
}
}
return { o : os , n : ns };
}
function diff( o, n ) {
var ns = new Object();
var os = new Object();
for ( var i = 0; i < n.length; i++ ) {
if ( ns[ n[i] ] == null )
ns[ n[i] ] = { rows: new Array(), o: null };
ns[ n[i] ].rows.push( i );
}
for ( var i = 0; i < o.length; i++ ) {
if ( os[ o[i] ] == null )
os[ o[i] ] = { rows: new Array(), n: null };
os[ o[i] ].rows.push( i );
}
for ( var i in ns ) {
if ( ns[i].rows.length == 1 && typeof(os[i]) != "undefined" && os[i].rows.length == 1 ) {
n[ ns[i].rows[0] ] = { text: n[ ns[i].rows[0] ], row: os[i].rows[0] };
o[ os[i].rows[0] ] = { text: o[ os[i].rows[0] ], row: ns[i].rows[0] };
}
}
for ( var i = 0; i < n.length - 1; i++ ) {
if ( n[i].text != null && n[i+1].text == null && n[i].row + 1 < o.length && o[ n[i].row + 1 ].text == null &&
n[i+1] == o[ n[i].row + 1 ] ) {
n[i+1] = { text: n[i+1], row: n[i].row + 1 };
o[n[i].row+1] = { text: o[n[i].row+1], row: i + 1 };
}
}
for ( var i = n.length - 1; i > 0; i-- ) {
if ( n[i].text != null && n[i-1].text == null && n[i].row > 0 && o[ n[i].row - 1 ].text == null &&
n[i-1] == o[ n[i].row - 1 ] ) {
n[i-1] = { text: n[i-1], row: n[i].row - 1 };
o[n[i].row-1] = { text: o[n[i].row-1], row: i - 1 };
}
}
return { o: o, n: n };
}

119
external/qunit.css vendored Normal file
View File

@ -0,0 +1,119 @@
ol#qunit-tests {
font-family:"Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial;
margin:0;
padding:0;
list-style-position:inside;
font-size: smaller;
}
ol#qunit-tests li{
padding:0.4em 0.5em 0.4em 2.5em;
border-bottom:1px solid #fff;
font-size:small;
list-style-position:inside;
}
ol#qunit-tests li ol{
box-shadow: inset 0px 2px 13px #999;
-moz-box-shadow: inset 0px 2px 13px #999;
-webkit-box-shadow: inset 0px 2px 13px #999;
margin-top:0.5em;
margin-left:0;
padding:0.5em;
background-color:#fff;
border-radius:15px;
-moz-border-radius: 15px;
-webkit-border-radius: 15px;
}
ol#qunit-tests li li{
border-bottom:none;
margin:0.5em;
background-color:#fff;
list-style-position: inside;
padding:0.4em 0.5em 0.4em 0.5em;
}
ol#qunit-tests li li.pass{
border-left:26px solid #C6E746;
background-color:#fff;
color:#5E740B;
}
ol#qunit-tests li li.fail{
border-left:26px solid #EE5757;
background-color:#fff;
color:#710909;
}
ol#qunit-tests li.pass{
background-color:#D2E0E6;
color:#528CE0;
}
ol#qunit-tests li.fail{
background-color:#EE5757;
color:#000;
}
ol#qunit-tests li strong {
cursor:pointer;
}
h1#qunit-header{
background-color:#0d3349;
margin:0;
padding:0.5em 0 0.5em 1em;
color:#fff;
font-family:"Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial;
border-top-right-radius:15px;
border-top-left-radius:15px;
-moz-border-radius-topright:15px;
-moz-border-radius-topleft:15px;
-webkit-border-top-right-radius:15px;
-webkit-border-top-left-radius:15px;
text-shadow: rgba(0, 0, 0, 0.5) 4px 4px 1px;
}
h2#qunit-banner{
font-family:"Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial;
height:5px;
margin:0;
padding:0;
}
h2#qunit-banner.qunit-pass{
background-color:#C6E746;
}
h2#qunit-banner.qunit-fail, #qunit-testrunner-toolbar {
background-color:#EE5757;
}
#qunit-testrunner-toolbar {
font-family:"Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial;
padding:0;
/*width:80%;*/
padding:0em 0 0.5em 2em;
font-size: small;
}
h2#qunit-userAgent {
font-family:"Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial;
background-color:#2b81af;
margin:0;
padding:0;
color:#fff;
font-size: small;
padding:0.5em 0 0.5em 2.5em;
text-shadow: rgba(0, 0, 0, 0.5) 2px 2px 1px;
}
p#qunit-testresult{
font-family:"Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial;
margin:0;
font-size: small;
color:#2b81af;
border-bottom-right-radius:15px;
border-bottom-left-radius:15px;
-moz-border-radius-bottomright:15px;
-moz-border-radius-bottomleft:15px;
-webkit-border-bottom-right-radius:15px;
-webkit-border-bottom-left-radius:15px;
background-color:#D2E0E6;
padding:0.5em 0.5em 0.5em 2.5em;
}
strong b.fail{
color:#710909;
}
strong b.pass{
color:#5E740B;
}

1043
external/qunit.js vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,925 +0,0 @@
/*
* QUnit - jQuery unit testrunner
*
* http://docs.jquery.com/QUnit
*
* Copyright (c) 2009 John Resig, Jörn Zaefferer
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* $Id: testrunner.js 6588 2009-09-29 00:07:51Z jeresig $
*/
(function() {
// Test for equality any JavaScript type.
// Discussions and reference: http://philrathe.com/articles/equiv
// Test suites: http://philrathe.com/tests/equiv
// Author: Philippe Rathé <prathe@gmail.com>
var equiv = function () {
var innerEquiv; // the real equiv function
var callers = []; // stack to decide between skip/abort functions
// Determine what is o.
function hoozit(o) {
if (o.constructor === String) {
return "string";
} else if (o.constructor === Boolean) {
return "boolean";
} else if (o.constructor === Number) {
if (isNaN(o)) {
return "nan";
} else {
return "number";
}
} else if (typeof o === "undefined") {
return "undefined";
// consider: typeof null === object
} else if (o === null) {
return "null";
// consider: typeof [] === object
} else if (o instanceof Array) {
return "array";
// consider: typeof new Date() === object
} else if (o instanceof Date) {
return "date";
// consider: /./ instanceof Object;
// /./ instanceof RegExp;
// typeof /./ === "function"; // => false in IE and Opera,
// true in FF and Safari
} else if (o instanceof RegExp) {
return "regexp";
} else if (typeof o === "object") {
return "object";
} else if (o instanceof Function) {
return "function";
} else {
return undefined;
}
}
// Call the o related callback with the given arguments.
function bindCallbacks(o, callbacks, args) {
var prop = hoozit(o);
if (prop) {
if (hoozit(callbacks[prop]) === "function") {
return callbacks[prop].apply(callbacks, args);
} else {
return callbacks[prop]; // or undefined
}
}
}
var callbacks = function () {
// for string, boolean, number and null
function useStrictEquality(b, a) {
if (b instanceof a.constructor || a instanceof b.constructor) {
// to catch short annotaion VS 'new' annotation of a declaration
// e.g. var i = 1;
// var j = new Number(1);
return a == b;
} else {
return a === b;
}
}
return {
"string": useStrictEquality,
"boolean": useStrictEquality,
"number": useStrictEquality,
"null": useStrictEquality,
"undefined": useStrictEquality,
"nan": function (b) {
return isNaN(b);
},
"date": function (b, a) {
return hoozit(b) === "date" && a.valueOf() === b.valueOf();
},
"regexp": function (b, a) {
return hoozit(b) === "regexp" &&
a.source === b.source && // the regex itself
a.global === b.global && // and its modifers (gmi) ...
a.ignoreCase === b.ignoreCase &&
a.multiline === b.multiline;
},
// - skip when the property is a method of an instance (OOP)
// - abort otherwise,
// initial === would have catch identical references anyway
"function": function () {
var caller = callers[callers.length - 1];
return caller !== Object &&
typeof caller !== "undefined";
},
"array": function (b, a) {
var i;
var len;
// b could be an object literal here
if ( ! (hoozit(b) === "array")) {
return false;
}
len = a.length;
if (len !== b.length) { // safe and faster
return false;
}
for (i = 0; i < len; i++) {
if( ! innerEquiv(a[i], b[i])) {
return false;
}
}
return true;
},
"object": function (b, a) {
var i;
var eq = true; // unless we can proove it
var aProperties = [], bProperties = []; // collection of strings
// comparing constructors is more strict than using instanceof
if ( a.constructor !== b.constructor) {
return false;
}
// stack constructor before traversing properties
callers.push(a.constructor);
for (i in a) { // be strict: don't ensures hasOwnProperty and go deep
aProperties.push(i); // collect a's properties
if ( ! innerEquiv(a[i], b[i])) {
eq = false;
}
}
callers.pop(); // unstack, we are done
for (i in b) {
bProperties.push(i); // collect b's properties
}
// Ensures identical properties name
return eq && innerEquiv(aProperties.sort(), bProperties.sort());
}
};
}();
innerEquiv = function () { // can take multiple arguments
var args = Array.prototype.slice.apply(arguments);
if (args.length < 2) {
return true; // end transition
}
return (function (a, b) {
if (a === b) {
return true; // catch the most you can
} else if (a === null || b === null || typeof a === "undefined" || typeof b === "undefined" || hoozit(a) !== hoozit(b)) {
return false; // don't lose time with error prone cases
} else {
return bindCallbacks(a, callbacks, [b, a]);
}
// apply transition with (1..n) arguments
})(args[0], args[1]) && arguments.callee.apply(this, args.splice(1, args.length -1));
};
return innerEquiv;
}();
var GETParams = location.search.slice(1).split('&'), ngindex = -1;
for ( var i = 0; i < GETParams.length; i++ ) {
GETParams[i] = decodeURIComponent( GETParams[i] );
if ( GETParams[i] === "noglobals" ) {
ngindex = i;
}
}
var noglobals = ngindex !== -1;
if ( noglobals ) {
GETParams.splice( ngindex, 1 );
}
var config = {
stats: {
all: 0,
bad: 0
},
queue: [],
// block until document ready
blocking: true,
//restrict modules/tests by get parameters
filters: GETParams,
isLocal: !!(window.location.protocol == 'file:')
};
// public API as global methods
extend(window, {
test: test,
module: module,
expect: expect,
ok: ok,
equals: equals,
start: start,
stop: stop,
reset: reset,
isLocal: config.isLocal,
same: function(a, b, message) {
push(equiv(a, b), a, b, message);
},
QUnit: {
equiv: equiv,
ok: ok,
done: function(failures, total){},
log: function(result, message){}
},
// legacy methods below
isSet: isSet,
isObj: isObj,
compare: function() {
throw "compare is deprecated - use same() instead";
},
compare2: function() {
throw "compare2 is deprecated - use same() instead";
},
serialArray: function() {
throw "serialArray is deprecated - use jsDump.parse() instead";
},
q: q,
t: t,
url: url,
triggerEvent: triggerEvent
});
addEvent(window, "load", function(){
if ( !document.getElementById("header") ) {
var header = document.createElement("h1");
header.id = "header";
header.innerHTML = document.title;
var banner = document.createElement("h2");
banner.id = "banner";
var userAgent = document.createElement("h2");
userAgent.id = "userAgent";
var ol = document.createElement("ol");
ol.id = "tests";
document.body.insertBefore( ol, document.body.firstChild );
document.body.insertBefore( userAgent, document.body.firstChild );
document.body.insertBefore( banner, document.body.firstChild );
document.body.insertBefore( header, document.body.firstChild );
}
var userAgent = document.getElementById("userAgent");
if ( userAgent ) {
userAgent.innerHTML = navigator.userAgent;
var toolbar = document.createElement("div");
toolbar.className = "testrunner-toolbar";
userAgent.parentNode.insertBefore( toolbar, userAgent );
var filter = document.createElement("input");
filter.type = "checkbox";
filter.id = "filter-pass";
filter.disabled = true;
addEvent( filter, "click", function(){
var li = document.getElementsByTagName("li");
for ( var i = 0; i < li.length; i++ ) {
if ( li[i].className.indexOf("pass") > -1 ) {
li[i].style.display = filter.checked ? "none" : "block";
}
}
});
toolbar.appendChild( filter );
var label = document.createElement("label");
label.setAttribute("for", "filter-pass");
label.innerHTML = "Hide passed tests";
toolbar.appendChild( label );
var missing = document.createElement("input");
missing.type = "checkbox";
missing.id = "filter-missing";
missing.disabled = true;
addEvent( missing, "click", function(){
var li = document.getElementsByTagName("li");
for ( var i = 0; i < li.length; i++ ) {
if ( li[i].className.indexOf("fail") > -1 && li[i].innerHTML.indexOf('missing test - untested code is broken code') > - 1 ) {
li[i].parentNode.parentNode.style.display = missing.checked ? "none" : "block";
}
}
});
toolbar.appendChild( missing );
label = document.createElement("label");
label.setAttribute("for", "filter-missing");
label.innerHTML = "Hide missing tests (untested code is broken code)";
toolbar.appendChild( label );
}
runTest();
});
function synchronize(callback) {
config.queue.push(callback);
if(!config.blocking) {
process();
}
}
function process() {
while(config.queue.length && !config.blocking) {
config.queue.shift()();
}
}
function stop(timeout) {
config.blocking = true;
if (timeout)
config.timeout = setTimeout(function() {
QUnit.ok( false, "Test timed out" );
start();
}, timeout);
}
function start() {
// A slight delay, to avoid any current callbacks
setTimeout(function() {
if(config.timeout)
clearTimeout(config.timeout);
config.blocking = false;
process();
}, 13);
}
function validTest( name ) {
var i = config.filters.length,
run = false;
if( !i )
return true;
while( i-- ){
var filter = config.filters[i],
not = filter.charAt(0) == '!';
if( not )
filter = filter.slice(1);
if( name.indexOf(filter) != -1 )
return !not;
if( not )
run = true;
}
return run;
}
function runTest() {
config.blocking = false;
var started = +new Date;
config.fixture = document.getElementById('main').innerHTML;
if ( window.jQuery ) {
config.ajaxSettings = window.jQuery.ajaxSettings;
}
synchronize(function() {
var html = ['Tests completed in ',
+new Date - started, ' milliseconds.<br/>',
'<span class="bad">', config.stats.all - config.stats.bad, '</span> tests of <span class="all">', config.stats.all, '</span> passed, ', config.stats.bad,' failed.'].join('');
var result = document.createElement("p");
result.id = "testresult";
result.className = "result";
result.innerHTML = html;
document.body.appendChild( result );
document.getElementById("banner").className +=
" " + (config.stats.bad ? "fail" : "pass");
QUnit.done( config.stats.bad, config.stats.all );
});
}
var pollution;
function saveGlobal(){
pollution = [ ];
if ( noglobals ) {
for ( var key in window ) {
pollution.push(key);
}
}
}
function checkPollution( name ){
var old = pollution;
saveGlobal();
if ( pollution.length > old.length ){
ok( false, "Introduced global variable(s): " + diff(old, pollution).join(", ") );
config.expected++;
}
}
function diff( clean, dirty ){
var results = [];
for ( var i = 0; i < dirty.length; i++ ) {
for ( var c = 0; c < clean.length; c++ ) {
if ( clean[c] === dirty[i] ) {
results.push( clean[c] );
}
}
}
return results;
}
function test(name, callback) {
if ( config.currentModule ) {
name = config.currentModule + " module: " + name;
}
var lifecycle = extend({
setup: function() {},
teardown: function() {}
}, config.moduleLifecycle);
if ( !validTest(name) ) {
return;
}
var testEnvironment = {};
synchronize(function() {
config.assertions = [];
config.expected = null;
try {
if ( !pollution ) {
saveGlobal();
}
lifecycle.setup.call(testEnvironment);
} catch(e) {
QUnit.ok( false, "Setup failed on " + name + ": " + e.message );
}
});
synchronize(function() {
try {
callback.call(testEnvironment);
} catch(e) {
fail("Test " + name + " died, exception and test follows", e, callback);
QUnit.ok( false, "Died on test #" + (config.assertions.length + 1) + ": " + e.message );
// else next test will carry the responsibility
saveGlobal();
}
});
synchronize(function() {
try {
checkPollution();
lifecycle.teardown.call(testEnvironment);
} catch(e) {
QUnit.ok( false, "Teardown failed on " + name + ": " + e.message );
}
});
synchronize(function() {
try {
reset();
} catch(e) {
fail("reset() failed, following Test " + name + ", exception and reset fn follows", e, reset);
}
if ( config.expected && config.expected != config.assertions.length ) {
QUnit.ok( false, "Expected " + config.expected + " assertions, but " + config.assertions.length + " were run" );
}
var good = 0, bad = 0;
var ol = document.createElement("ol");
ol.style.display = "none";
config.stats.all += config.assertions.length;
for ( var i = 0; i < config.assertions.length; i++ ) {
var assertion = config.assertions[i];
var li = document.createElement("li");
li.className = assertion.result ? "pass" : "fail";
li.innerHTML = assertion.message || "(no message)";
ol.appendChild( li );
assertion.result ? good++ : bad++;
}
config.stats.bad += bad;
var b = document.createElement("strong");
b.innerHTML = name + " <b style='color:black;'>(<b class='fail'>" + bad + "</b>, <b class='pass'>" + good + "</b>, " + config.assertions.length + ")</b>";
addEvent(b, "click", function(){
var next = b.nextSibling, display = next.style.display;
next.style.display = display === "none" ? "block" : "none";
});
addEvent(b, "dblclick", function(e){
var target = (e || window.event).target;
if ( target.nodeName.toLowerCase() === "strong" ) {
var text = "", node = target.firstChild;
while ( node.nodeType === 3 ) {
text += node.nodeValue;
node = node.nextSibling;
}
text = text.replace(/(^\s*|\s*$)/g, "");
location.href = location.href.match(/^(.+?)(\?.*)?$/)[1] + "?" + encodeURIComponent(text);
}
});
var li = document.createElement("li");
li.className = bad ? "fail" : "pass";
li.appendChild( b );
li.appendChild( ol );
document.getElementById("tests").appendChild( li );
if(bad) {
document.getElementById("filter-pass").disabled = null;
document.getElementById("filter-missing").disabled = null;
}
});
}
function fail(message, exception, callback) {
if( typeof console != "undefined" && console.error && console.warn ) {
console.error(message);
console.error(exception);
console.warn(callback.toString());
} else if (window.opera && opera.postError) {
opera.postError(message, exception, callback.toString);
}
}
// call on start of module test to prepend name to all tests
function module(name, lifecycle) {
config.currentModule = name;
config.moduleLifecycle = lifecycle;
}
/**
* Specify the number of expected assertions to gurantee that failed test (no assertions are run at all) don't slip through.
*/
function expect(asserts) {
config.expected = asserts;
}
/**
* Resets the test setup. Useful for tests that modify the DOM.
*/
function reset() {
if ( window.jQuery ) {
jQuery("#main").html( config.fixture );
jQuery.event.global = {};
jQuery.ajaxSettings = extend({}, config.ajaxSettings);
} else {
document.getElementById("main").innerHTML = config.fixture;
}
}
/**
* Asserts true.
* @example ok( "asdfasdf".length > 5, "There must be at least 5 chars" );
*/
function ok(a, msg) {
QUnit.log(a, msg);
config.assertions.push({
result: !!a,
message: msg
});
}
/**
* Asserts that two arrays are the same
*/
function isSet(a, b, msg) {
function serialArray( a ) {
var r = [];
if ( a && a.length )
for ( var i = 0; i < a.length; i++ ) {
var str = a[i].nodeName;
if ( str ) {
str = str.toLowerCase();
if ( a[i].id )
str += "#" + a[i].id;
} else
str = a[i];
r.push( str );
}
return "[ " + r.join(", ") + " ]";
}
var ret = true;
if ( a && b && a.length != undefined && a.length == b.length ) {
for ( var i = 0; i < a.length; i++ )
if ( a[i] != b[i] )
ret = false;
} else
ret = false;
QUnit.ok( ret, !ret ? (msg + " expected: " + serialArray(b) + " result: " + serialArray(a)) : msg );
}
/**
* Asserts that two objects are equivalent
*/
function isObj(a, b, msg) {
var ret = true;
if ( a && b ) {
for ( var i in a )
if ( a[i] != b[i] )
ret = false;
for ( i in b )
if ( a[i] != b[i] )
ret = false;
} else
ret = false;
QUnit.ok( ret, msg );
}
/**
* Returns an array of elements with the given IDs, eg.
* @example q("main", "foo", "bar")
* @result [<div id="main">, <span id="foo">, <input id="bar">]
*/
function q() {
var r = [];
for ( var i = 0; i < arguments.length; i++ )
r.push( document.getElementById( arguments[i] ) );
return r;
}
/**
* Asserts that a select matches the given IDs
* @example t("Check for something", "//[a]", ["foo", "baar"]);
* @result returns true if "//[a]" return two elements with the IDs 'foo' and 'baar'
*/
function t(a,b,c) {
var f = jQuery(b);
var s = "";
for ( var i = 0; i < f.length; i++ )
s += (s && ",") + '"' + f[i].id + '"';
isSet(f, q.apply(q,c), a + " (" + b + ")");
}
/**
* Add random number to url to stop IE from caching
*
* @example url("data/test.html")
* @result "data/test.html?10538358428943"
*
* @example url("data/test.php?foo=bar")
* @result "data/test.php?foo=bar&10538358345554"
*/
function url(value) {
return value + (/\?/.test(value) ? "&" : "?") + new Date().getTime() + "" + parseInt(Math.random()*100000);
}
/**
* Checks that the first two arguments are equal, with an optional message.
* Prints out both actual and expected values.
*
* Prefered to ok( actual == expected, message )
*
* @example equals( format("Received {0} bytes.", 2), "Received 2 bytes." );
*
* @param Object actual
* @param Object expected
* @param String message (optional)
*/
function equals(actual, expected, message) {
push(expected == actual, actual, expected, message);
}
function push(result, actual, expected, message) {
message = message || (result ? "okay" : "failed");
QUnit.ok( result, result ? message + ": " + expected : message + ", expected: " + jsDump.parse(expected) + " result: " + jsDump.parse(actual) );
}
/**
* Trigger an event on an element.
*
* @example triggerEvent( document.body, "click" );
*
* @param DOMElement elem
* @param String type
*/
function triggerEvent( elem, type, event ) {
if ( document.createEvent ) {
event = document.createEvent("MouseEvents");
event.initMouseEvent(type, true, true, elem.ownerDocument.defaultView,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
elem.dispatchEvent( event );
} else if ( elem.fireEvent ) {
elem.fireEvent("on"+type);
}
}
function extend(a, b){
for ( var prop in b ) {
a[prop] = b[prop];
}
return a;
}
function addEvent(elem, type, fn){
if ( elem.addEventListener ) {
elem.addEventListener( type, fn, false );
} else if ( elem.attachEvent ) {
elem.attachEvent( "on" + type, fn );
}
}
})();
/**
* jsDump
* Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
* Licensed under BSD (http://www.opensource.org/licenses/bsd-license.php)
* Date: 5/15/2008
* @projectDescription Advanced and extensible data dumping for Javascript.
* @version 1.0.0
* @author Ariel Flesler
* @link {http://flesler.blogspot.com/2008/05/jsdump-pretty-dump-of-any-javascript.html}
*/
(function(){
function quote( str ){
return '"' + str.toString().replace(/"/g, '\\"') + '"';
};
function literal( o ){
return o + '';
};
function join( pre, arr, post ){
var s = jsDump.separator(),
base = jsDump.indent(),
inner = jsDump.indent(1);
if( arr.join )
arr = arr.join( ',' + s + inner );
if( !arr )
return pre + post;
return [ pre, inner + arr, base + post ].join(s);
};
function array( arr ){
var i = arr.length, ret = Array(i);
this.up();
while( i-- )
ret[i] = this.parse( arr[i] );
this.down();
return join( '[', ret, ']' );
};
var reName = /^function (\w+)/;
var jsDump = window.jsDump = {
parse:function( obj, type ){//type is used mostly internally, you can fix a (custom)type in advance
var parser = this.parsers[ type || this.typeOf(obj) ];
type = typeof parser;
return type == 'function' ? parser.call( this, obj ) :
type == 'string' ? parser :
this.parsers.error;
},
typeOf:function( obj ){
var type = typeof obj,
f = 'function';//we'll use it 3 times, save it
return type != 'object' && type != f ? type :
!obj ? 'null' :
obj.exec ? 'regexp' :// some browsers (FF) consider regexps functions
obj.getHours ? 'date' :
obj.scrollBy ? 'window' :
obj.nodeName == '#document' ? 'document' :
obj.nodeName ? 'node' :
obj.item ? 'nodelist' : // Safari reports nodelists as functions
obj.callee ? 'arguments' :
obj.call || obj.constructor != Array && //an array would also fall on this hack
(obj+'').indexOf(f) != -1 ? f : //IE reports functions like alert, as objects
'length' in obj ? 'array' :
type;
},
separator:function(){
return this.multiline ? this.HTML ? '<br />' : '\n' : this.HTML ? '&nbsp;' : ' ';
},
indent:function( extra ){// extra can be a number, shortcut for increasing-calling-decreasing
if( !this.multiline )
return '';
var chr = this.indentChar;
if( this.HTML )
chr = chr.replace(/\t/g,' ').replace(/ /g,'&nbsp;');
return Array( this._depth_ + (extra||0) ).join(chr);
},
up:function( a ){
this._depth_ += a || 1;
},
down:function( a ){
this._depth_ -= a || 1;
},
setParser:function( name, parser ){
this.parsers[name] = parser;
},
// The next 3 are exposed so you can use them
quote:quote,
literal:literal,
join:join,
//
_depth_: 1,
// This is the list of parsers, to modify them, use jsDump.setParser
parsers:{
window: '[Window]',
document: '[Document]',
error:'[ERROR]', //when no parser is found, shouldn't happen
unknown: '[Unknown]',
'null':'null',
undefined:'undefined',
'function':function( fn ){
var ret = 'function',
name = 'name' in fn ? fn.name : (reName.exec(fn)||[])[1];//functions never have name in IE
if( name )
ret += ' ' + name;
ret += '(';
ret = [ ret, this.parse( fn, 'functionArgs' ), '){'].join('');
return join( ret, this.parse(fn,'functionCode'), '}' );
},
array: array,
nodelist: array,
arguments: array,
object:function( map ){
var ret = [ ];
this.up();
for( var key in map )
ret.push( this.parse(key,'key') + ': ' + this.parse(map[key]) );
this.down();
return join( '{', ret, '}' );
},
node:function( node ){
var open = this.HTML ? '&lt;' : '<',
close = this.HTML ? '&gt;' : '>';
var tag = node.nodeName.toLowerCase(),
ret = open + tag;
for( var a in this.DOMAttrs ){
var val = node[this.DOMAttrs[a]];
if( val )
ret += ' ' + a + '=' + this.parse( val, 'attribute' );
}
return ret + close + open + '/' + tag + close;
},
functionArgs:function( fn ){//function calls it internally, it's the arguments part of the function
var l = fn.length;
if( !l ) return '';
var args = Array(l);
while( l-- )
args[l] = String.fromCharCode(97+l);//97 is 'a'
return ' ' + args.join(', ') + ' ';
},
key:quote, //object calls it internally, the key part of an item in a map
functionCode:'[code]', //function calls it internally, it's the content of the function
attribute:quote, //node calls it internally, it's an html attribute value
string:quote,
date:quote,
regexp:literal, //regex
number:literal,
'boolean':literal
},
DOMAttrs:{//attributes to dump from nodes, name=>realName
id:'id',
name:'name',
'class':'className'
},
HTML:false,//if true, entities are escaped ( <, >, \t, space and \n )
indentChar:' ',//indentation unit
multiline:true //if true, items in a collection, are separated by a \n, else just a space.
};
})();

View File

@ -1,120 +0,0 @@
body, div, h1 { font-family: 'trebuchet ms', verdana, arial; margin: 0; padding: 0 }
body {font-size: 10pt; }
h1 { padding: 15px; font-size: large; background-color: #06b; color: white; }
h1 a { color: white; }
h2 { padding: 10px; background-color: #eee; color: black; margin: 0; font-size: small; font-weight: normal }
.pass { color: green; }
.fail { color: red; }
p.result { margin-left: 1em; }
#banner { height: 2em; border-bottom: 1px solid white; }
h2.pass { background-color: green; }
h2.fail { background-color: red; }
div.testrunner-toolbar { background: #eee; border-top: 1px solid black; padding: 10px; }
ol#tests li strong { cursor:pointer; }
div#fx-tests h4 {
background: red;
}
div#fx-tests h4.pass {
background: green;
}
div#fx-tests div.box {
background: red url(data/cow.jpg) no-repeat;
overflow: hidden;
border: 2px solid #000;
}
div#fx-tests div.overflow {
overflow: visible;
}
div.inline {
display: inline;
}
div.autoheight {
height: auto;
}
div.autowidth {
width: auto;
}
div.autoopacity {
opacity: auto;
}
div.largewidth {
width: 100px;
}
div.largeheight {
height: 100px;
}
div.largeopacity {
filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);
}
div.medwidth {
width: 50px;
}
div.medheight {
height: 50px;
}
div.medopacity {
opacity: 0.5;
filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50);
}
div.nowidth {
width: 0px;
}
div.noheight {
height: 0px;
}
div.noopacity {
opacity: 0;
filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
}
div.hidden {
display: none;
}
div#fx-tests div.widewidth {
background-repeat: repeat-x;
}
div#fx-tests div.wideheight {
background-repeat: repeat-y;
}
div#fx-tests div.widewidth.wideheight {
background-repeat: repeat;
}
div#fx-tests div.noback {
background-image: none;
}
div.chain, div.chain div { width: 100px; height: 20px; position: relative; float: left; }
div.chain div { position: absolute; top: 0px; left: 0px; }
div.chain.test { background: red; }
div.chain.test div { background: green; }
div.chain.out { background: green; }
div.chain.out div { background: red; display: none; }
div#show-tests * { display: none; }

View File

@ -4,49 +4,18 @@
<title>jQuery UI Tests</title>
<link rel="stylesheet" href="../themes/base/jquery.ui.all.css" type="text/css" />
<script type="text/javascript" src="../jquery-1.4.2.js"></script>
<script type="text/javascript" src="../external/jsdiff.js"></script>
<link rel="stylesheet" href="tests.css" type="text/css" />
<script type="text/javascript" src="tests.js"></script>
</head>
<body>
<table id="matrix">
<thead>
<tr>
<th>Interaction</th>
<th style="width:220px;">Static</th>
<th style="width:220px;">Visual</th>
<th>Static</th>
<th>Visual</th>
<th>Diff</th>
</tr>
</thead>
<tbody>
<tr class="test-draggable-default"><th>Draggable</th><td></td><td></td><td></td><td></td><td></td></tr>
<tr class="test-droppable-default"><th>Droppable</th><td></td><td></td><td></td><td></td><td></td></tr>
<tr class="test-resizable-default"><th>Resizable</th><td></td><td></td><td></td><td></td><td></td></tr>
<!--tr class="test-selectable-default"><th>Selectable</th><td></td><td></td><td></td><td></td><td></td></tr-->
<tr class="test-sortable-default"><th>Sortable</th><td></td><td></td><td></td><td></td><td></td></tr>
</tbody>
<thead>
<tr>
<th>Widget</th>
<th style="width:220px;">Static</th>
<th style="width:220px;">Visual</th>
<th>Static</th>
<th>Visual</th>
<th>Diff</th>
</tr>
</thead>
<tbody>
<tr class="test-accordion-default"><th>Accordion</th><td></td><td></td><td></td><td></td><td></td></tr>
<tr class="test-datepicker-default"><th>Datepicker</th><td></td><td></td><td></td><td></td><td></td></tr>
<tr class="test-dialog-default"><th>Dialog</th><td></td><td></td><td></td><td></td><td></td></tr>
<tr class="test-progressbar-default"><th>Progressbar</th><td></td><td></td><td></td><td></td><td></td></tr>
<tr class="test-slider-default"><th>slider</th><td></td><td></td><td></td><td></td><td></td></tr>
<tr class="test-tabs-default"><th>Tabs</th><td></td><td></td><td></td><td></td><td></td></tr>
</tbody>
</table>
<h1>jQuery UI Tests</h1>
<h2><a href="static/index.html">Static Tests</a></h2>
<h2><a href="unit/index.html">Unit Tests</a></h2>
<h2><a href="visual/index.html">Visual Tests</a></h2>
</body>
</html>

View File

@ -1,63 +0,0 @@
<!doctype html>
<html lang="en">
<head>
<title>jQuery UI Tests</title>
<link rel="stylesheet" href="../themes/base/jquery.ui.all.css" type="text/css" />
<script type="text/javascript" src="../jquery-1.4.2.js"></script>
<script type="text/javascript" src="../external/jsdiff.js"></script>
<link rel="stylesheet" href="tests.css" type="text/css" />
<script type="text/javascript" src="tests.js"></script>
</head>
<body>
<table id="matrix">
<thead>
<tr>
<th>Default Slider Tests</th>
<th style="width:220px;">Static</th>
<th style="width:220px;">Visual</th>
<th>Static</th>
<th>Visual</th>
<th>Diff</th>
</tr>
</thead>
<tbody>
<tr class="test-slider-default"><th>Default</th><td></td><td></td><td></td><td></td><td></td></tr>
<tr class="test-slider-default-vertical"><th>Vertical</th><td></td><td></td><td></td><td></td><td></td></tr>
</tbody>
<thead>
<tr>
<th>Horizontal Slider Tests</th>
<th style="width:220px;">Static</th>
<th style="width:220px;">Visual</th>
<th>Static</th>
<th>Visual</th>
<th>Diff</th>
</tr>
</thead>
<tbody>
<tr class="test-slider-slider-horizontal"><th>Horizontal</th><td></td><td></td><td></td><td></td><td></td></tr>
<tr class="test-slider-slider-horizontal-range"><th>Horizontal range</th><td></td><td></td><td></td><td></td><td></td></tr>
<tr class="test-slider-slider-horizontal-range-max"><th>Horizontal range max</th><td></td><td></td><td></td><td></td><td></td></tr>
<tr class="test-slider-slider-horizontal-range-min"><th>Horizontal range min</th><td></td><td></td><td></td><td></td><td></td></tr>
</tbody>
<thead>
<tr>
<th>Vertical Slider Tests</th>
<th style="width:220px;">Static</th>
<th style="width:220px;">Visual</th>
<th>Static</th>
<th>Visual</th>
<th>Diff</th>
</tr>
</thead>
<tbody>
<tr class="test-slider-slider-vertical"><th>Vertical</th><td></td><td></td><td></td><td></td><td></td></tr>
<tr class="test-slider-slider-vertical-range"><th>Vertical range</th><td></td><td></td><td></td><td></td><td></td></tr>
<tr class="test-slider-slider-vertical-range-max"><th>Vertical range max</th><td></td><td></td><td></td><td></td><td></td></tr>
<tr class="test-slider-slider-vertical-range-min"><th>Vertical range min</th><td></td><td></td><td></td><td></td><td></td></tr>
</tbody>
</table>
</body>
</html>

View File

@ -1,39 +0,0 @@
<!doctype html>
<html>
<head>
<title>jQuery UI Static Markup Test Page</title>
<link rel="stylesheet" href="../../themes/base/jquery.ui.base.css" type="text/css" />
<link rel="stylesheet" href="../../themes/base/jquery.ui.theme.css" type="text/css" title="ui-theme" />
<script type="text/javascript" src="../../jquery-1.4.2.js"></script>
<script type="text/javascript" src="static.js"></script>
<style type="text/css">
dd.plugin { margin-top: 0.3em; margin-bottom: 1em; }
</style>
</head>
<body style="font-size: 62.5%;">
<dl id="plugins">
</dl>
<script type="text/javascript">
var plugins = $("#plugins");
$("accordion datepicker dialog progressbar slider tabs".split(" ")).each(function() {
var pluginName = this;
var url = pluginName + '/' + pluginName + ".html";
$('<dt><a href="' + url + '">' + url + '</a></dt>').appendTo(plugins);
$('<dd class="plugin"></dd>').load(url, function() {
var plugin = $(this).find(".ui-" + pluginName).remove();
$(this).empty().append(plugin);
}).appendTo(plugins);
});
</script>
</body>
</html>

View File

@ -1,7 +1,7 @@
<!doctype html>
<html lang="en">
<head>
<title>Static Tests</title>
<title>jQuery UI Static Tests</title>
<link rel="stylesheet" href="../../themes/base/jquery.ui.all.css" type="text/css" />
<script type="text/javascript" src="../../jquery-1.4.2.js"></script>
<script type="text/javascript">
@ -12,6 +12,8 @@
</head>
<body>
<h1>jQuery UI Static Tests</h1>
<h2>Interactions</h2>
<ul>
@ -25,6 +27,8 @@
<h2>Widgets</h2>
<ul>
<li><a href="accordion/default.html">Accordion</a></li>
<li><a href="autocomplete/default.html">Autocomplete</a></li>
<li><a href="button/default.html">Button</a></li>
<li><a href="datepicker/default.html">Datepicker</a></li>
<li><a href="dialog/default.html">Dialog</a></li>
<li><a href="progressbar/default.html">Progressbar</a></li>

View File

@ -1,8 +0,0 @@
/* tests.css */
body { font-size: 62.5%; }
iframe { border: 0; width: 200px; height: 150px; }
td { border: 1px solid silver; padding: 10px; }
td textarea { font-size: 10px; }
del { background: #FFE6E6; }
ins { background: #E6FFE6; }

View File

@ -1,56 +0,0 @@
/* tests.js */
$(function() {
var matrix = $("#matrix");
matrix.children("tbody").children("tr").each(function() {
var tr = $(this), th = tr.find("th"), pluginName = th.text().toLowerCase(),
staticTd = th.next(), visualTd = staticTd.next(),
staticHtmlTd = visualTd.next(), visualHtmlTd = staticHtmlTd.next(),
diffTd = visualHtmlTd.next();
var className = tr.attr("className");
var classNames = className.split('-');
classNames.shift(); // remove 'test'
var folder = classNames.shift();
var filename = classNames.join('_') + '.html';
var staticUrl = 'static/' + folder + '/' + filename;
var visualUrl = 'visual/' + folder + '/' + filename;
$.get(staticUrl, function(data) {
data = data.replace(/<script.*>.*<\/script>/ig,""); // Remove script tags
data = data.replace(/<\/?link.*>/ig,""); //Remove link tags
data = data.replace(/<\/?html.*>/ig,""); //Remove html tag
data = data.replace(/<\/?body.*>/ig,""); //Remove body tag
data = data.replace(/<\/?head.*>/ig,""); //Remove head tag
data = data.replace(/<title.*>.*<\/title>/ig,""); // Remove title tags
data = data.replace(/\s*<\/?!doctype.*>\s*/ig,""); //Remove doctype
var staticHtml = $("<div></div>").html(data).html();
staticTd.html(staticHtml);
staticHtmlTd.append("<textarea>" + staticHtml + "</textarea>");
});
visualTd.append('<iframe src="' + visualUrl + '"></iframe>');
var iframe = visualTd.find("iframe");
iframe.load(function() {
var visualHtml = $("body", this.contentDocument).html()
$(this).after(visualHtml).remove();
(pluginName == 'dialog') && $("#dialog").parents(".ui-dialog").css({
position: "relative",
top: null, left: null
});
visualHtmlTd.append("<textarea>" + $.trim(visualHtml) + "</textarea>");
var diffHtml = diffString(escape(staticHtmlTd.find("textarea").val()), escape(visualHtmlTd.find("textarea").val()));
console.log(diffHtml);
diffTd.html(diffHtml);
});
});
});

View File

@ -3,13 +3,15 @@
<head>
<title>jQuery UI Accordion Test Suite</title>
<link type="text/css" href="../../../themes/base/jquery.ui.accordion.css" rel="stylesheet" />
<script type="text/javascript" src="../../../jquery-1.4.2.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.core.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.widget.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.accordion.js"></script>
<link type="text/css" href="../testsuite.css" rel="stylesheet" />
<script type="text/javascript" src="../../../external/testrunner-r6588.js"></script>
<link rel="stylesheet" href="../../../external/qunit.css" type="text/css"/>
<script type="text/javascript" src="../../../external/qunit.js"></script>
<script type="text/javascript" src="../../jquery.simulate.js"></script>
<script type="text/javascript" src="../testsuite.js"></script>
@ -21,12 +23,18 @@
<script type="text/javascript" src="accordion_tickets.js"></script>
<style>
.ui-accordion-li-fix { margin: 0em; padding: 0 }
#main { font-size: 10pt; font-family: 'trebuchet ms', verdana, arial; }
</style>
</head>
<body>
<div id="main">
<h1 id="qunit-header">jQuery UI Accordion Test Suite</h1>
<h2 id="qunit-banner"></h2>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests">
</ol>
<div id="main" style="position: absolute; top: -10000px; left: -10000px;">
<div id="list1">
<a>There is one obvious advantage:</a>

View File

@ -116,9 +116,9 @@ test("{ fillSpace: false }, default", function() {
test("{ fillSpace: true }", function() {
$("#navigationWrapper").height(500);
$('#navigation').accordion({ fillSpace: true });
equals( $('#navigation > li:eq(0) > ul').height(), 386 );
equals( $('#navigation > li:eq(1) > ul').height(), 386 );
equals( $('#navigation > li:eq(2) > ul').height(), 386 );
equals( $('#navigation > li:eq(0) > ul').height(), 281 );
equals( $('#navigation > li:eq(1) > ul').height(), 281 );
equals( $('#navigation > li:eq(2) > ul').height(), 281 );
});
test("{ header: '> li > :first-child,> :not(li):even' }, default", function() {

View File

@ -1,301 +0,0 @@
<!doctype html>
<html lang="en">
<head>
<title>jQuery UI All Tests</title>
<link rel="stylesheet" href="testsuite.css" type="text/css">
<script type="text/javascript" src="../../jquery-1.4.2.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.core.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.widget.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.mouse.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.accordion.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.datepicker.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.dialog.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.draggable.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.droppable.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.progressbar.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.resizable.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.selectable.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.slider.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.sortable.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.tabs.js"></script>
<script type="text/javascript" src="../../external/testrunner-r6588.js"></script>
<script type="text/javascript" src="../../external/jquery.cookie.js"></script>
<script type="text/javascript" src="../jquery.simulate.js"></script>
<script type="text/javascript" src="testsuite.js"></script>
<script type="text/javascript" src="core/core.js"></script>
<script type="text/javascript" src="core/selector.js"></script>
<script type="text/javascript" src="draggable/draggable_core.js"></script>
<script type="text/javascript" src="draggable/draggable_defaults.js"></script>
<script type="text/javascript" src="draggable/draggable_events.js"></script>
<script type="text/javascript" src="draggable/draggable_methods.js"></script>
<script type="text/javascript" src="draggable/draggable_options.js"></script>
<script type="text/javascript" src="draggable/draggable_tickets.js"></script>
<script type="text/javascript" src="droppable/droppable_core.js"></script>
<script type="text/javascript" src="droppable/droppable_defaults.js"></script>
<script type="text/javascript" src="droppable/droppable_events.js"></script>
<script type="text/javascript" src="droppable/droppable_methods.js"></script>
<script type="text/javascript" src="droppable/droppable_options.js"></script>
<script type="text/javascript" src="droppable/droppable_tickets.js"></script>
<script type="text/javascript" src="resizable/resizable_core.js"></script>
<script type="text/javascript" src="resizable/resizable_defaults.js"></script>
<script type="text/javascript" src="resizable/resizable_events.js"></script>
<script type="text/javascript" src="resizable/resizable_methods.js"></script>
<script type="text/javascript" src="resizable/resizable_options.js"></script>
<script type="text/javascript" src="resizable/resizable_tickets.js"></script>
<script type="text/javascript" src="selectable/selectable_core.js"></script>
<script type="text/javascript" src="selectable/selectable_defaults.js"></script>
<script type="text/javascript" src="selectable/selectable_events.js"></script>
<script type="text/javascript" src="selectable/selectable_methods.js"></script>
<script type="text/javascript" src="selectable/selectable_options.js"></script>
<script type="text/javascript" src="selectable/selectable_tickets.js"></script>
<script type="text/javascript" src="sortable/sortable_core.js"></script>
<script type="text/javascript" src="sortable/sortable_defaults.js"></script>
<script type="text/javascript" src="sortable/sortable_events.js"></script>
<script type="text/javascript" src="sortable/sortable_methods.js"></script>
<script type="text/javascript" src="sortable/sortable_options.js"></script>
<script type="text/javascript" src="sortable/sortable_tickets.js"></script>
<script type="text/javascript" src="accordion/accordion_core.js"></script>
<script type="text/javascript" src="accordion/accordion_defaults.js"></script>
<script type="text/javascript" src="accordion/accordion_events.js"></script>
<script type="text/javascript" src="accordion/accordion_methods.js"></script>
<script type="text/javascript" src="accordion/accordion_options.js"></script>
<script type="text/javascript" src="accordion/accordion_tickets.js"></script>
<script type="text/javascript" src="datepicker/datepicker_core.js"></script>
<script type="text/javascript" src="datepicker/datepicker_defaults.js"></script>
<script type="text/javascript" src="datepicker/datepicker_events.js"></script>
<script type="text/javascript" src="datepicker/datepicker_methods.js"></script>
<script type="text/javascript" src="datepicker/datepicker_options.js"></script>
<script type="text/javascript" src="datepicker/datepicker_tickets.js"></script>
<script type="text/javascript" src="dialog/dialog_core.js"></script>
<script type="text/javascript" src="dialog/dialog_defaults.js"></script>
<script type="text/javascript" src="dialog/dialog_events.js"></script>
<script type="text/javascript" src="dialog/dialog_methods.js"></script>
<script type="text/javascript" src="dialog/dialog_options.js"></script>
<script type="text/javascript" src="dialog/dialog_tickets.js"></script>
<script type="text/javascript" src="progressbar/progressbar_core.js"></script>
<script type="text/javascript" src="progressbar/progressbar_defaults.js"></script>
<script type="text/javascript" src="progressbar/progressbar_events.js"></script>
<script type="text/javascript" src="progressbar/progressbar_methods.js"></script>
<script type="text/javascript" src="progressbar/progressbar_options.js"></script>
<script type="text/javascript" src="progressbar/progressbar_tickets.js"></script>
<script type="text/javascript" src="slider/slider_core.js"></script>
<script type="text/javascript" src="slider/slider_defaults.js"></script>
<script type="text/javascript" src="slider/slider_events.js"></script>
<script type="text/javascript" src="slider/slider_methods.js"></script>
<script type="text/javascript" src="slider/slider_options.js"></script>
<script type="text/javascript" src="slider/slider_tickets.js"></script>
<script type="text/javascript" src="tabs/tabs_core.js"></script>
<script type="text/javascript" src="tabs/tabs_defaults.js"></script>
<script type="text/javascript" src="tabs/tabs_events.js"></script>
<script type="text/javascript" src="tabs/tabs_methods.js"></script>
<script type="text/javascript" src="tabs/tabs_options.js"></script>
<script type="text/javascript" src="tabs/tabs_tickets.js"></script>
<style type="text/css">
@import "../../../themes/base/jquery.ui.datepicker.css";
.xerror, .error, .ui-tabs-hide {
display: none;
}
</style>
</head>
<body>
<h1>jQuery UI All Tests</h1>
<h2 id="banner"></h2>
<h2 id="userAgent"></h2>
<h3>Run individual testsuites or doubleclick a test below</h3>
<h4>Core</h4>
<ul>
<li><a href="core/core.html">Core</a></li>
</ul>
<h4>Interactions</h4>
<ul>
<li><a href="draggable/draggable.html">Draggable</a></li>
<li><a href="droppable/droppable.html">Droppable</a></li>
<li><a href="resizable/resizable.html">Resizable</a></li>
<li><a href="selectable/selectable.html">Selectable</a></li>
<li><a href="sortable/sortable.html">Sortable</a></li>
</ul>
<h4>Widgets</h4>
<ul>
<li><a href="accordion/accordion.html">Accordion</a></li>
<li><a href="datepicker/datepicker.html">Datepicker</a></li>
<li><a href="dialog/dialog.html">Dialog</a></li>
<li><a href="progressbar/progressbar.html">Progressbar</a></li>
<li><a href="slider/slider.html">Slider</a></li>
<li><a href="tabs/tabs.html">Tabs</a></li>
</ul>
<ol id="tests"></ol>
<div id="main" style="position:absolute;top:-2000000px;">
<p><input type="text" id="dp1"/><input type="text" id="rem"/></p>
<div id="draggable1" style="background: green; width: 200px; height: 100px;">Relative</div>
<div id="draggable2" style="background: green; width: 200px; height: 100px; position: absolute; top: 10px; left: 10px;"><span>Absolute</span></div>
<div id="slider1"></div>
<div id="slider3" style="position: relative; margin: 40px; width: 217px; height: 28px;">
<div class="ui-slider-handle" style="position: absolute; height: 21px; left: 0px; bottom: 0px; width: 17px;"></div>
</div>
<div id="list1">
<a>There is one obvious advantage:</a>
<div>
<p>
You've seen it coming!<br/>
Buy now and get nothing for free!<br/>
Well, at least no free beer. Perhaps a bear, if you can afford it.
</p>
</div>
<a>Now that you've got...</a>
<div>
<p>
your bear, you have to admit it!<br/>
No, we aren't selling bears.
</p>
<p>
We could talk about renting one.
</p>
</div>
<a>Rent one bear, ...</a>
<div>
<p>
get two for three beer.
</p>
<p>
And now, for something completely different.
</p>
</div>
</div>
<ul id="navigation">
<li>
<a class="head" href="?p=1.1.1">Guitar</a>
<ul>
<li><a href="?p=1.1.1.1">Electric</a></li>
<li><a href="?p=1.1.1.2">Acoustic</a></li>
<li><a href="?p=1.1.1.3">Amps</a></li>
<li><a href="?p=1.1.1.4">Effects</a></li>
<li><a href="?p=1.1.1.5">Accessories</a></li>
</ul>
</li>
<li>
<a class="head" href="?p=1.1.2"><span>Bass</span></a>
<ul>
<li><a href="?p=1.1.2.1">Electric</a></li>
<li><a href="?p=1.1.2.2">Acoustic</a></li>
<li><a href="?p=1.1.2.3">Amps</a></li>
<li><a href="?p=1.1.2.4">Effects</a></li>
<li><a href="?p=1.1.2.5">Accessories</a></li>
<li><a href="?p=1.1.2.5">Accessories</a></li>
<li><a href="?p=1.1.2.5">Accessories</a></li>
</ul>
</li>
<li>
<a class="head" href="?p=1.1.3">Drums</a>
<ul>
<li><a href="?p=1.1.3.2">Acoustic Drums</a></li>
<li><a href="?p=1.1.3.3">Electronic Drums</a></li>
<li><a href="?p=1.1.3.6">Accessories</a></li>
</ul>
</li>
</ul>
<dl id="list2">
<dt class="red">Red</dt>
<dd>
Fancy stuff about red thingies.
</dd>
<dt class="green selected">Green</dt>
<dd>
Green! Green! Green!
</dd>
<dt class="blue">Blue</dt>
<dd>
Cool kids are blue.
</dd>
</dl>
<div id="list3">
<div>
<div class="title">Tennis</div>
<div>
One ball, two players. Lots of fun.
</div>
</div>
<div>
<div class="title">Soccer</div>
<div>
One ball, 22 players. Lots of fun.
</div>
</div>
<div>
<div class="title">Baseball</div>
<div>
Well, one ball, some guys running around, some guys hitting others with a stick.<br/>
Sounds like fun, doesn't it?
</div>
<div>
Well, apart from the running part.
</div>
</div>
</div>
<div id="resizable1" style="background: green; width: 100px; height: 100px;">I'm a resizable.</div>
<img src="images/test.jpg" id="resizable2" style="width: 100px; height: 100px;"/>
<ul id="selectable1">
<li>Item 1</li>
<li>Item 2</li>
<li class="special">Item 3</li>
<li>Item 4</li>
<li>Item 5</li>
</ul>
<ul id="sortable">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
<li>Item 5</li>
</ul>
<p><input type="text" id="inp"/><input type="text" id="alt"/><div id="inl"></div></p>
<input type="text" id="spin" />
<div id="progressbar"></div>
<div id="tabs1">
<ul>
<li><a href="#fragment-1">1</a></li>
<li><a href="#fragment-2">2</a></li>
<li><a href="#fragment-3">3</a></li>
</ul>
<div id="fragment-1"></div>
<div id="fragment-2"></div>
<div id="fragment-3"></div>
</div>
<div id="tabs2">
<ul>
<li><a href="#colon:test">1</a></li>
<li><a href="#inline-style">2</a></li>
</ul>
<div id="colon:test"></div>
<div style="height: 300px;" id="inline-style"></div>
</div>
</div>
</body>
</html>

View File

@ -1,84 +0,0 @@
<!doctype html>
<html lang="en">
<head>
<title>jQuery UI All Tests</title>
<link rel="stylesheet" href="testsuite.css" type="text/css">
<script type="text/javascript" src="../../jquery-1.4.2.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.core.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.widget.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.mouse.js"></script>
<script type="text/javascript">
var components = ["accordion","datepicker","dialog","draggable","progressbar","resizable","selectable","slider","sortable","tabs"];
$(function() {
var $list = $("#individual_list"),
$main = $("#main");
$.each(components, function(i, val){
$list.append('<li><a href="' + val + '/' + val + '.html">' + val + '</a></li>');
$('<div class="component_panel" id="' + val + '">').appendTo($main);
$('#' + val).load(val + '.html #main *');
});
loadScripts();
function loadScripts() {
if ( $("div.component_panel").length == components.length ) {
$.each(components, function(i, val){
$('head').append('<script type="text/javascript" src="' + val + '.js"></scr'+'ipt>');
});
} else {
setTimeout(loadScripts, 10);
}
}
});
</script>
<script type="text/javascript" src="../../ui/jquery.ui.accordion.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.datepicker.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.dialog.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.draggable.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.droppable.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.progressbar.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.resizable.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.selectable.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.slider.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.sortable.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.tabs.js"></script>
<script type="text/javascript" src="../../external/testrunner-r6588.js"></script>
<script type="text/javascript" src="../../external/jquery.cookie.js"></script>
<script type="text/javascript" src="../jquery.simulate.js"></script>
<style type="text/css">
@import "../../../themes/base/jquery.ui.datepicker.css";
.xerror, .error, .ui-tabs-hide {
display: none;
}
</style>
</head>
<body>
<h1>jQuery UI All Tests</h1>
<h2 id="banner"></h2>
<h2 id="userAgent"></h2>
<h4>Run individual testsuites or doubleclick a test below</h4>
<ul id="individual_list">
</ul>
<ol id="tests"></ol>
<div id="main" style="position:absolute; top:-2000000px;">
</div>
</body>
</html>

View File

@ -3,6 +3,8 @@
<head>
<title>jQuery UI Autocomplete Test Suite</title>
<link type="text/css" href="../../../themes/base/jquery.ui.autocomplete.css" rel="stylesheet" />
<script type="text/javascript" src="../../../jquery-1.4.2.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.core.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.widget.js"></script>
@ -10,8 +12,8 @@
<script type="text/javascript" src="../../../ui/jquery.ui.menu.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.autocomplete.js"></script>
<link type="text/css" href="../testsuite.css" rel="stylesheet" />
<script type="text/javascript" src="../../../external/testrunner-r6588.js"></script>
<link rel="stylesheet" href="../../../external/qunit.css" type="text/css"/>
<script type="text/javascript" src="../../../external/qunit.js"></script>
<script type="text/javascript" src="../../jquery.simulate.js"></script>
<script type="text/javascript" src="../testsuite.js"></script>
@ -23,9 +25,15 @@
<script type="text/javascript" src="autocomplete_tickets.js"></script>
</head>
<body>
<body id="body">
<div id="main">
<h1 id="qunit-header">jQuery UI Autocomplete Test Suite</h1>
<h2 id="qunit-banner"></h2>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests">
</ol>
<div id="main" style="position: absolute; top: -10000px; left: -10000px;">
<div><input id="autocomplete" class="foo" /></div>

View File

@ -3,16 +3,18 @@
<head>
<title>jQuery UI Button Test Suite</title>
<link type="text/css" href="../../../themes/base/jquery.ui.button.css" rel="stylesheet" />
<script type="text/javascript" src="../../../jquery-1.4.2.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.core.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.widget.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.button.js"></script>
<link type="text/css" href="../testsuite.css" rel="stylesheet" />
<script type="text/javascript" src="../../../external/testrunner-r6588.js"></script>
<link rel="stylesheet" href="../../../external/qunit.css" type="text/css"/>
<script type="text/javascript" src="../../../external/qunit.js"></script>
<script type="text/javascript" src="../../jquery.simulate.js"></script>
<script type="text/javascript" src="../testsuite.js"></script>
<script type="text/javascript" src="button_core.js"></script>
<script type="text/javascript" src="button_defaults.js"></script>
<script type="text/javascript" src="button_events.js"></script>
@ -23,7 +25,14 @@
</head>
<body>
<div id="main">
<h1 id="qunit-header">jQuery UI Button Test Suite</h1>
<h2 id="qunit-banner"></h2>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests">
</ol>
<div id="main" style="position: absolute; top: -10000px; left: -10000px;">
<div><button id="button" class="foo">Label</button></div>

View File

@ -7,11 +7,10 @@
<script type="text/javascript" src="../../../ui/jquery.ui.core.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.widget.js"></script>
<link type="text/css" href="../testsuite.css" rel="stylesheet" />
<script type="text/javascript" src="../../../external/testrunner-r6588.js"></script>
<link rel="stylesheet" href="../../../external/qunit.css" type="text/css"/>
<script type="text/javascript" src="../../../external/qunit.js"></script>
<script type="text/javascript" src="../../jquery.simulate.js"></script>
<script type="text/javascript" src="../testsuite.js"></script>
<script type="text/javascript" src="core.js"></script>
<script type="text/javascript" src="selector.js"></script>
@ -22,7 +21,14 @@
</head>
<body>
<div id="main">
<h1 id="qunit-header">jQuery UI Core Test Suite</h1>
<h2 id="qunit-banner"></h2>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests">
</ol>
<div id="main" style="position: absolute; top: -10000px; left: -10000px;">
<div>
<input id="visibleAncestor-inputTypeNone" />
<input type="text" id="visibleAncestor-inputTypeText" />

View File

@ -3,7 +3,7 @@
<head>
<title>jQuery UI Datepicker Test Suite</title>
<link type="text/css" href="../../../themes/base/jquery.ui.base.css" rel="stylesheet" />
<link type="text/css" href="../../../themes/base/jquery.ui.datepicker.css" rel="stylesheet" />
<script type="text/javascript" src="../../../jquery-1.4.2.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.core.js"></script>
@ -12,11 +12,11 @@
<script type="text/javascript" src="../../../ui/i18n/jquery.ui.datepicker-fr.js"></script>
<script type="text/javascript" src="../../../ui/i18n/jquery.ui.datepicker-he.js"></script>
<link type="text/css" href="../testsuite.css" rel="stylesheet" />
<script type="text/javascript" src="../../../external/testrunner-r6588.js"></script>
<link rel="stylesheet" href="../../../external/qunit.css" type="text/css"/>
<script type="text/javascript" src="../../../external/qunit.js"></script>
<script type="text/javascript" src="../../jquery.simulate.js"></script>
<script type="text/javascript" src="../testsuite.js"></script>
<script type="text/javascript" src="datepicker_core.js"></script>
<script type="text/javascript" src="datepicker_defaults.js"></script>
<script type="text/javascript" src="datepicker_events.js"></script>
@ -26,7 +26,13 @@
</head>
<body>
<div id="main">
<h1 id="qunit-header">jQuery UI Datepicker Test Suite</h1>
<h2 id="qunit-banner"></h2>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests">
</ol>
<div id="main" style="position: absolute; top: -10000px; left: -10000px;">
<p><input type="text" id="inp"/><input type="text" id="alt"/><div id="inl"></div></p>
</div>

View File

@ -684,7 +684,7 @@ test('callbacks', function() {
equals($.datepicker._get(inst, 'currentText'), 'Current', 'Before show - changed');
ok(beforeShowThis.id == inp[0].id, 'Before show - this OK');
ok(beforeShowInput.id == inp[0].id, 'Before show - input OK');
isObj(beforeShowInst, inst, 'Before show - inst OK');
deepEqual(beforeShowInst, inst, 'Before show - inst OK');
inp.datepicker('hide').datepicker('destroy');
// Before show day
inp = init('#inp', {beforeShowDay: beforeDay});
@ -734,7 +734,7 @@ test('localisation', function() {
test('noWeekends', function() {
for (var i = 1; i <= 31; i++) {
var date = new Date(2001, 1 - 1, i);
isSet($.datepicker.noWeekends(date), [(i + 1) % 7 >= 2, ''],
deepEqual($.datepicker.noWeekends(date), [(i + 1) % 7 >= 2, ''],
'No weekends ' + date);
}
});

View File

@ -4,8 +4,10 @@
<title>jQuery UI Defaults</title>
<script type="text/javascript" src="../../jquery-1.4.2.js"></script>
<script type="text/javascript" src="../../external/jquery.cookie.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.core.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.widget.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.mouse.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.draggable.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.droppable.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.resizable.js"></script>
@ -18,18 +20,19 @@
<script type="text/javascript" src="../../ui/jquery.ui.slider.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.tabs.js"></script>
<link type="text/css" href="testsuite.css" rel="stylesheet" />
<script type="text/javascript" src="testsuite.js"></script>
<script type="text/javascript" src="../../external/testrunner-r6588.js"></script>
<script type="text/javascript" src="../../external/jquery.cookie.js"></script>
<link rel="stylesheet" href="../../external/qunit.css" type="text/css"/>
<script type="text/javascript" src="../../external/qunit.js"></script>
<script type="text/javascript" src="../jquery.simulate.js"></script>
<script type="text/javascript" src="testsuite.js"></script>
<script type="text/javascript" src="draggable/draggable_defaults.js"></script>
<script type="text/javascript" src="droppable/droppable_defaults.js"></script>
<script type="text/javascript" src="resizable/resizable_defaults.js"></script>
<script type="text/javascript" src="selectable/selectable_defaults.js"></script>
<script type="text/javascript" src="sortable/sortable_defaults.js"></script>
<script type="text/javascript" src="autocomplete/autocomplete_defaults.js"></script>
<script type="text/javascript" src="accordion/accordion_defaults.js"></script>
<script type="text/javascript" src="button/button_defaults.js"></script>
<script type="text/javascript" src="datepicker/datepicker_defaults.js"></script>
<script type="text/javascript" src="dialog/dialog_defaults.js"></script>
<script type="text/javascript" src="progressbar/progressbar_defaults.js"></script>
@ -37,7 +40,16 @@
<script type="text/javascript" src="tabs/tabs_defaults.js"></script>
</head>
<body>
<div id="main">
</div>
<h1 id="qunit-header"></h1>
<h2 id="qunit-banner"></h2>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests">
</ol>
<div id="main" style="position: absolute; top: -10000px; left: -10000px;">
</div>
</body>
</html>

View File

@ -3,6 +3,8 @@
<head>
<title>jQuery UI Dialog Test Suite</title>
<link type="text/css" href="../../../themes/base/jquery.ui.dialog.css" rel="stylesheet" />
<script type="text/javascript" src="../../../jquery-1.4.2.js"></script>
<script type="text/javascript" src="../../../external/jquery.bgiframe-2.1.1.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.core.js"></script>
@ -13,11 +15,11 @@
<script type="text/javascript" src="../../../ui/jquery.ui.resizable.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.dialog.js"></script>
<link type="text/css" href="../testsuite.css" rel="stylesheet" />
<script type="text/javascript" src="../../../external/testrunner-r6588.js"></script>
<link rel="stylesheet" href="../../../external/qunit.css" type="text/css"/>
<script type="text/javascript" src="../../../external/qunit.js"></script>
<script type="text/javascript" src="../../jquery.simulate.js"></script>
<script type="text/javascript" src="../testsuite.js"></script>
<script type="text/javascript" src="dialog_core.js"></script>
<script type="text/javascript" src="dialog_defaults.js"></script>
<script type="text/javascript" src="dialog_events.js"></script>
@ -27,8 +29,13 @@
</head>
<body>
<div id="main">
<div id="dialog1">Dialog Content</div>
<h1 id="qunit-header">jQuery UI Dialog Test Suite</h1>
<h2 id="qunit-banner"></h2>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests">
</ol>
<div id="main" style="position: absolute; top: -10000px; left: -10000px;">
</div>
</body>

View File

@ -9,7 +9,7 @@ var el,
dragged;
function dlg() {
return el.data("dialog").element.parents(".ui-dialog:first");
return el.dialog('widget');
}
function isOpen(why) {

View File

@ -9,8 +9,8 @@
<script type="text/javascript" src="../../../ui/jquery.ui.mouse.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.draggable.js"></script>
<link type="text/css" href="../testsuite.css" rel="stylesheet" />
<script type="text/javascript" src="../../../external/testrunner-r6588.js"></script>
<link rel="stylesheet" href="../../../external/qunit.css" type="text/css"/>
<script type="text/javascript" src="../../../external/qunit.js"></script>
<script type="text/javascript" src="../../jquery.simulate.js"></script>
<script type="text/javascript" src="../testsuite.js"></script>
@ -23,7 +23,13 @@
</head>
<body>
<div id="main">
<h1 id="qunit-header">jQuery UI Draggable Test Suite</h1>
<h2 id="qunit-banner"></h2>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests">
</ol>
<div id="main" style="position: absolute; top: -10000px; left: -10000px;">
<div id="draggable1" style="background: green; width: 200px; height: 100px;">Relative</div>
<div id="draggable2" style="background: green; width: 200px; height: 100px; position: absolute; top: 10px; left: 10px;"><span>Absolute</span></div>
<div style='width: 1px; height: 1000px;'></div>

View File

@ -10,11 +10,11 @@
<script type="text/javascript" src="../../../ui/jquery.ui.draggable.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.droppable.js"></script>
<link type="text/css" href="../testsuite.css" rel="stylesheet" />
<script type="text/javascript" src="../../../external/testrunner-r6588.js"></script>
<link rel="stylesheet" href="../../../external/qunit.css" type="text/css"/>
<script type="text/javascript" src="../../../external/qunit.js"></script>
<script type="text/javascript" src="../../jquery.simulate.js"></script>
<script type="text/javascript" src="../testsuite.js"></script>
<script type="text/javascript" src="droppable_core.js"></script>
<script type="text/javascript" src="droppable_defaults.js"></script>
<script type="text/javascript" src="droppable_events.js"></script>
@ -24,7 +24,13 @@
</head>
<body>
<div id="main">
<h1 id="qunit-header">jQuery UI Droppable Test Suite</h1>
<h2 id="qunit-banner"></h2>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests">
</ol>
<div id="main" style="position: absolute; top: -10000px; left: -10000px;">
<div id="draggable1" style="width: 25px; height: 25px;">Draggable</div>
<div id="droppable1" style="width: 100px; height: 100px;">Droppable</div>
<div style='width:1000px;height:1000px;'>&nbsp;</div>

View File

@ -1,10 +1,22 @@
<!doctype html>
<html lang="en">
<head>
<title>jQuery UI Unit Test Suite</title>
<title>jQuery UI Unit Tests</title>
<link type="text/css" href="../../themes/base/jquery.ui.base.css" rel="stylesheet" />
<link type="text/css" href="testsuite.css" rel="stylesheet" />
<link rel="stylesheet" href="../../external/qunit.css" type="text/css"/>
<style type="text/css">
ul { font-family: 'trebuchet ms', verdana, arial; }
h2, ul {font-size: 10pt; }
h2 {
background-color:#EEEEEE;
color:black;
font-size:small;
font-weight:normal;
margin:0;
padding:10px;
}
</style>
<script type="text/javascript" src="../../jquery-1.4.2.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.core.js"></script>
@ -30,7 +42,7 @@
</head>
<body>
<h1>jQuery UI Unit Tests</h1>
<h1 id="qunit-header">jQuery UI Unit Tests</h1>
<h2>Core</h2>
<ul>

View File

@ -6,15 +6,22 @@
<script type="text/javascript" src="../../../jquery-1.4.2.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.position.js"></script>
<link type="text/css" href="../testsuite.css" rel="stylesheet" />
<script type="text/javascript" src="../../../external/testrunner-r6588.js"></script>
<link rel="stylesheet" href="../../../external/qunit.css" type="text/css"/>
<script type="text/javascript" src="../../../external/qunit.js"></script>
<script type="text/javascript" src="../../jquery.simulate.js"></script>
<script type="text/javascript" src="../testsuite.js"></script>
<script type="text/javascript" src="position_core.js"></script>
</head>
<body>
<div id="main" style="top: 0; left: 0;">
<h1 id="qunit-header">jQuery UI Position Test Suite</h1>
<h2 id="qunit-banner"></h2>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests">
</ol>
<div id="main" style="position: absolute; top: 0; left: 0;">
<div id="el1" style="position: absolute; width: 6px; height: 6px;"></div>
<div id="el2" style="position: absolute; width: 6px; height: 6px;"></div>
<div id="parent" style="position: absolute; width: 6px; height: 6px; top: 4px; left: 4px;"></div>

View File

@ -86,7 +86,7 @@ test('positions', function() {
of: '#parent',
collision: 'none'
});
same(el.offset(), definition.result, "Position via " + jsDump.parse({my:definition.my, at:definition.at}));
same(el.offset(), definition.result, "Position via " + QUnit.jsDump.parse({my:definition.my, at:definition.at}));
});
});

View File

@ -3,13 +3,15 @@
<head>
<title>jQuery UI Progressbar Test Suite</title>
<link type="text/css" href="../../../themes/base/jquery.ui.progressbar.css" rel="stylesheet" />
<script type="text/javascript" src="../../../jquery-1.4.2.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.core.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.widget.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.progressbar.js"></script>
<link type="text/css" href="../testsuite.css" rel="stylesheet" />
<script type="text/javascript" src="../../../external/testrunner-r6588.js"></script>
<link rel="stylesheet" href="../../../external/qunit.css" type="text/css"/>
<script type="text/javascript" src="../../../external/qunit.js"></script>
<script type="text/javascript" src="../../jquery.simulate.js"></script>
<script type="text/javascript" src="../testsuite.js"></script>
@ -22,7 +24,13 @@
</head>
<body>
<div id="main">
<h1 id="qunit-header">jQuery UI Progressbar Test Suite</h1>
<h2 id="qunit-banner"></h2>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests">
</ol>
<div id="main" style="position: absolute; top: -10000px; left: -10000px;">
<div id="progressbar"></div>
</div>

View File

@ -3,14 +3,16 @@
<head>
<title>jQuery UI Resizable Test Suite</title>
<link type="text/css" href="../../../themes/base/jquery.ui.resizable.css" rel="stylesheet" />
<script type="text/javascript" src="../../../jquery-1.4.2.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.core.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.widget.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.mouse.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.resizable.js"></script>
<link type="text/css" href="../testsuite.css" rel="stylesheet" />
<script type="text/javascript" src="../../../external/testrunner-r6588.js"></script>
<link rel="stylesheet" href="../../../external/qunit.css" type="text/css"/>
<script type="text/javascript" src="../../../external/qunit.js"></script>
<script type="text/javascript" src="../../jquery.simulate.js"></script>
<script type="text/javascript" src="../testsuite.js"></script>
@ -23,7 +25,13 @@
</head>
<body>
<div id="main">
<h1 id="qunit-header">jQuery UI Resizable Test Suite</h1>
<h2 id="qunit-banner"></h2>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests">
</ol>
<div id="main" style="position: absolute; top: -10000px; left: -10000px;">
<div id="resizable1" style="background: green; width: 100px; height: 100px;">I'm a resizable.</div>
<img src="images/test.jpg" id="resizable2" style="width: 100px; height: 100px;"/>
</div>

View File

@ -9,8 +9,8 @@
<script type="text/javascript" src="../../../ui/jquery.ui.mouse.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.selectable.js"></script>
<link type="text/css" href="../testsuite.css" rel="stylesheet" />
<script type="text/javascript" src="../../../external/testrunner-r6588.js"></script>
<link rel="stylesheet" href="../../../external/qunit.css" type="text/css"/>
<script type="text/javascript" src="../../../external/qunit.js"></script>
<script type="text/javascript" src="../../jquery.simulate.js"></script>
<script type="text/javascript" src="../testsuite.js"></script>
@ -23,7 +23,13 @@
</head>
<body>
<div id="main">
<h1 id="qunit-header">jQuery UI Selectable Test Suite</h1>
<h2 id="qunit-banner"></h2>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests">
</ol>
<div id="main" style="position: absolute; top: -10000px; left: -10000px;">
<ul id="selectable1">
<li>Item 1</li>
<li>Item 2</li>

View File

@ -3,14 +3,16 @@
<head>
<title>jQuery UI Slider Test Suite</title>
<link type="text/css" href="../../../themes/base/jquery.ui.slider.css" rel="stylesheet" />
<script type="text/javascript" src="../../../jquery-1.4.2.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.core.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.widget.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.mouse.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.slider.js"></script>
<link type="text/css" href="../testsuite.css" rel="stylesheet" />
<script type="text/javascript" src="../../../external/testrunner-r6588.js"></script>
<link rel="stylesheet" href="../../../external/qunit.css" type="text/css"/>
<script type="text/javascript" src="../../../external/qunit.js"></script>
<script type="text/javascript" src="../../jquery.simulate.js"></script>
<script type="text/javascript" src="../testsuite.js"></script>
@ -23,7 +25,13 @@
</head>
<body>
<div id="main">
<h1 id="qunit-header">jQuery UI Slider Test Suite</h1>
<h2 id="qunit-banner"></h2>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests">
</ol>
<div id="main" style="position: absolute; top: -10000px; left: -10000px;">
<div id="slider1"></div>
<div id="slider3" style="position: relative; margin: 40px; width: 217px; height: 28px;">
<div class="ui-slider-handle" style="position: absolute; height: 21px; left: 0px; bottom: 0px; width: 17px;"></div>

View File

@ -9,8 +9,8 @@
<script type="text/javascript" src="../../../ui/jquery.ui.mouse.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.sortable.js"></script>
<link type="text/css" href="../testsuite.css" rel="stylesheet" />
<script type="text/javascript" src="../../../external/testrunner-r6588.js"></script>
<link rel="stylesheet" href="../../../external/qunit.css" type="text/css"/>
<script type="text/javascript" src="../../../external/qunit.js"></script>
<script type="text/javascript" src="../../jquery.simulate.js"></script>
<script type="text/javascript" src="../testsuite.js"></script>
@ -23,7 +23,13 @@
</head>
<body>
<div id="main">
<h1 id="qunit-header">jQuery UI Sortable Test Suite</h1>
<h2 id="qunit-banner"></h2>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests">
</ol>
<div id="main" style="position: absolute; top: -10000px; left: -10000px;">
<ul id="sortable">
<li>Item 1</li>
<li>Item 2</li>

View File

@ -3,14 +3,16 @@
<head>
<title>jQuery UI Tabs Test Suite</title>
<link type="text/css" href="../../../themes/base/jquery.ui.tabs.css" rel="stylesheet" />
<script type="text/javascript" src="../../../jquery-1.4.2.js"></script>
<script type="text/javascript" src="../../../external/jquery.cookie.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.core.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.widget.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.tabs.js"></script>
<link type="text/css" href="../testsuite.css" rel="stylesheet" />
<script type="text/javascript" src="../../../external/testrunner-r6588.js"></script>
<script type="text/javascript" src="../../../external/jquery.cookie.js"></script>
<link rel="stylesheet" href="../../../external/qunit.css" type="text/css"/>
<script type="text/javascript" src="../../../external/qunit.js"></script>
<script type="text/javascript" src="../../jquery.simulate.js"></script>
<script type="text/javascript" src="../testsuite.js"></script>
@ -22,7 +24,15 @@
<script type="text/javascript" src="tabs_tickets.js"></script>
</head>
<body>
<div id="main">
<h1 id="qunit-header">jQuery UI Tabs Test Suite</h1>
<h2 id="qunit-banner"></h2>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests">
</ol>
<div id="main" style="position: absolute; top: -10000px; left: -10000px;">
<div id="tabs1">
<ul>
<li><a href="#fragment-1"><span>1</span></a></li>

View File

@ -1,4 +0,0 @@
@import "../../external/testsuite-r6565.css";
html { border: 0; }
.xerror, .error, .ui-tabs-hide { display: none }
#main { position: absolute; top: -10000px; left: -10000px; }

View File

@ -7,8 +7,8 @@
<script type="text/javascript" src="../../../ui/jquery.ui.core.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.widget.js"></script>
<link type="text/css" href="../testsuite.css" rel="stylesheet" />
<script type="text/javascript" src="../../../external/testrunner-r6588.js"></script>
<link rel="stylesheet" href="../../../external/qunit.css" type="text/css"/>
<script type="text/javascript" src="../../../external/qunit.js"></script>
<script type="text/javascript" src="../../jquery.simulate.js"></script>
<script type="text/javascript" src="../testsuite.js"></script>
@ -16,7 +16,13 @@
</head>
<body>
<div id="main">
<h1 id="qunit-header">jQuery UI Widget Test Suite</h1>
<h2 id="qunit-banner"></h2>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests">
</ol>
<div id="main" style="position: absolute; top: -10000px; left: -10000px;">
</div>

View File

@ -1,7 +1,7 @@
<!doctype html>
<html lang="en">
<head>
<title>Visual Tests</title>
<title>jQuery UI Visual Tests</title>
<link rel="stylesheet" href="../../themes/base/jquery.ui.all.css" type="text/css" />
<script type="text/javascript" src="../../jquery-1.4.2.js"></script>
<script type="text/javascript">
@ -12,6 +12,8 @@
</head>
<body>
<h1>jQuery UI Visual Tests</h1>
<h2>Interactions</h2>
<ul>
@ -25,6 +27,7 @@
<h2>Widgets</h2>
<ul>
<li><a href="accordion/default.html">Accordion</a></li>
<li><a href="autocomplete/default.html">Autocomplete</a></li>
<li><a href="button/default.html">Button</a></li>
<li><a href="datepicker/default.html">Datepicker</a></li>
<li><a href="dialog/default.html">Dialog</a></li>