* resizable text areas now use the YUI 2.5.0 code
* add the new YUI release * document the change in both the changelog and gotcha.txt
This commit is contained in:
parent
69269e50a0
commit
8fdd413d12
1642 changed files with 815513 additions and 16 deletions
327
www/extras/yui/tests/datasource.html
Normal file
327
www/extras/yui/tests/datasource.html
Normal file
|
|
@ -0,0 +1,327 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>YUI DataSource Tests</title>
|
||||
<link type="text/css" rel="stylesheet" href="../build/logger/assets/logger.css" />
|
||||
<link type="text/css" rel="stylesheet" href="../build/yuitest/assets/testlogger.css" />
|
||||
|
||||
<script type="text/javascript" src="../build/yahoo/yahoo-min.js"></script>
|
||||
<script type="text/javascript" src="../build/dom/dom-min.js"></script>
|
||||
<script type="text/javascript" src="../build/event/event-min.js"></script>
|
||||
<script type="text/javascript" src="../build/logger/logger-min.js"></script>
|
||||
<script type="text/javascript" src="../build/yuitest/yuitest.js"></script>
|
||||
<script type="text/javascript" src="../build/datasource/datasource-beta.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>DataSource Tests</h1>
|
||||
<p><input type="button" value="Run Tests" id="btnRun" disabled="true" /></p>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
(function() {
|
||||
|
||||
var Dom=YAHOO.util.Dom,
|
||||
Assert=YAHOO.util.Assert,
|
||||
ObjectAssert=YAHOO.util.ObjectAssert,
|
||||
ArrayAssert=YAHOO.util.ArrayAssert,
|
||||
DateAssert=YAHOO.util.DateAssert,
|
||||
UserAction=YAHOO.util.UserAction,
|
||||
TestCase = YAHOO.tool.TestCase,
|
||||
TestLogger = YAHOO.tool.TestLogger,
|
||||
TestRunner = YAHOO.tool.TestRunner,
|
||||
TestSuite = YAHOO.tool.TestSuite,
|
||||
|
||||
DataSource = YAHOO.util.DataSource;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* Base DataSource test case.
|
||||
*
|
||||
*
|
||||
*/
|
||||
function DataSourceTestCase(template) {
|
||||
DataSourceTestCase.superclass.constructor.call(this, template);
|
||||
this.data = ["a","b","c"];
|
||||
this.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
|
||||
};
|
||||
YAHOO.lang.extend(DataSourceTestCase, TestCase);
|
||||
|
||||
DataSourceTestCase.prototype.setUp = function() {
|
||||
};
|
||||
|
||||
DataSourceTestCase.prototype.tearDown = function() {
|
||||
};
|
||||
|
||||
DataSourceTestCase.prototype.createInstance = function(oConfigs) {
|
||||
ds = new DataSource(this.data, oConfigs);
|
||||
ds.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
|
||||
ds.responseSchema = {
|
||||
fields: ["a","b","c"]
|
||||
};
|
||||
return ds;
|
||||
};
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* Base DataSource test template. Sets up values for a DataSource instance.
|
||||
*
|
||||
*
|
||||
*/
|
||||
var datasourceTemplate = {
|
||||
name: "DataSource Test",
|
||||
|
||||
testConstruction: function() {
|
||||
var ds = this.createInstance();
|
||||
Assert.isObject(ds, "Failed to create instance");
|
||||
Assert.isInstanceOf(DataSource, ds, "Failed to create instance");
|
||||
ds = null;
|
||||
}
|
||||
};
|
||||
var datasourceTest = new DataSourceTestCase(datasourceTemplate);
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* Tests array of JS objects.
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
var dsComplexArrayTemplate = YAHOO.lang.merge(datasourceTemplate, {
|
||||
name:"Complex Array Test",
|
||||
data:[{a:"1a",b:"1b",c:"1c"}, {a:"2a",b:"2b",c:"2c"}, {a:"3a",b:"3b",c:"3c"}]
|
||||
});
|
||||
var dsComplexArrayTest = new DataSourceTestCase(dsComplexArrayTemplate);
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* Tests DataSource Cache.
|
||||
*
|
||||
*
|
||||
*/
|
||||
var dsCacheTemplate = {
|
||||
name: "Cache Test",
|
||||
|
||||
testDefault: function() {
|
||||
var ds = this.createInstance();
|
||||
Assert.areSame(null, ds._aCache, "Failed to NOT init cache (default)");
|
||||
ds = null;
|
||||
},
|
||||
|
||||
testViaConfig: function() {
|
||||
var ds = this.createInstance({maxCacheEntries:5});
|
||||
Assert.areSame(null, ds._aCache, "Cache should not be initialized yet");
|
||||
|
||||
ds.sendRequest("a", function() {
|
||||
Assert.areSame(true, YAHOO.lang.isArray(ds._aCache), "Failed to init cache (via constructor)");
|
||||
Assert.areSame(1, ds._aCache.length, "Cache should have one item");
|
||||
|
||||
ds.flushCache();
|
||||
Assert.areSame(0, ds._aCache.length, "Cache should be empty");
|
||||
|
||||
ds = null;
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
testViaProperty: function() {
|
||||
var ds = this.createInstance();
|
||||
ds.maxCacheEntries = 5;
|
||||
ds.sendRequest("a", function() {
|
||||
Assert.areSame(true, YAHOO.lang.isArray(ds._aCache), "Failed to init cache (via property)");
|
||||
Assert.areSame(1, ds._aCache.length, "Cache should have one item");
|
||||
|
||||
ds.maxCacheEntries = 0;
|
||||
Assert.areSame(1, ds._aCache.length, "Cache should still have one item");
|
||||
|
||||
ds.sendRequest("a", function() {
|
||||
Assert.areSame(null, ds._aCache, "Cache should be destroyed");
|
||||
|
||||
ds = null;
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
var dsCacheTest = new DataSourceTestCase(dsCacheTemplate);
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* Tests XHR.
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
var dsXHRTemplate = YAHOO.lang.merge(datasourceTemplate, {
|
||||
name:"XHR Test",
|
||||
data:"path/to/proxy"
|
||||
});
|
||||
var dsXHRTest = new DataSourceTestCase(dsXHRTemplate);
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* Tests static methods.
|
||||
*
|
||||
*
|
||||
*/
|
||||
var dsStaticMethodsTemplate = {
|
||||
name:"Static Methods Test",
|
||||
data:["a","b","c"],
|
||||
|
||||
testParseNumbers: function() {
|
||||
var number;
|
||||
var ds = this.createInstance();
|
||||
var myNumber = 1;
|
||||
|
||||
number = YAHOO.util.DataSource.parseNumber("1");
|
||||
Assert.areSame(number, myNumber, "Incorrect number from String.");
|
||||
|
||||
number = YAHOO.util.DataSource.parseNumber(1);
|
||||
Assert.areSame(number, myNumber, "Incorrect number from Number.");
|
||||
|
||||
ds = null;
|
||||
},
|
||||
|
||||
testParseDates: function() {
|
||||
var date;
|
||||
var ds = this.createInstance();
|
||||
var myDate = new Date(2001,0,14); // January 14, 2001
|
||||
|
||||
date = YAHOO.util.DataSource.parseDate("1/14/2001");
|
||||
DateAssert.datesAreEqual(date, myDate, "Incorrect date from String.");
|
||||
|
||||
date = YAHOO.util.DataSource.parseDate(myDate);
|
||||
DateAssert.datesAreEqual(date, myDate, "Incorrect date from Date");
|
||||
|
||||
date = YAHOO.util.DataSource.parseDate(979459200000);
|
||||
DateAssert.datesAreEqual(date, myDate, "Incorrect date from Number.");
|
||||
|
||||
ds = null;
|
||||
}
|
||||
};
|
||||
var dsStaticMethodsTest = new DataSourceTestCase(dsStaticMethodsTemplate);
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* Base test case for YAHOO.util.DataType APIs.
|
||||
*
|
||||
*
|
||||
*/
|
||||
function DataUtilTestCase(template) {
|
||||
DataUtilTestCase.superclass.constructor.call(this, template);
|
||||
};
|
||||
YAHOO.lang.extend(DataUtilTestCase, TestCase);
|
||||
|
||||
DataUtilTestCase.prototype.setUp = function() {
|
||||
};
|
||||
|
||||
DataUtilTestCase.prototype.tearDown = function() {
|
||||
};
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* Tests YAHOO.util.Number APIs.
|
||||
*
|
||||
*
|
||||
*/
|
||||
var dataNumberTemplate = {
|
||||
name:"Data Util Number Test",
|
||||
|
||||
testFormat: function() {
|
||||
output = YAHOO.util.Number.format("1");
|
||||
Assert.areSame("1", output, "Incorrect output from String.");
|
||||
|
||||
output = YAHOO.util.Number.format(1);
|
||||
Assert.areSame("1", output, "Incorrect output from Number.");
|
||||
|
||||
output = YAHOO.util.Number.format(0);
|
||||
Assert.areSame("0", output, "Incorrect output from zero.");
|
||||
|
||||
output = YAHOO.util.Number.format(-1);
|
||||
Assert.areSame("-1", output, "Incorrect output from negative Number.");
|
||||
|
||||
output = YAHOO.util.Number.format(123, {prefix:"$"});
|
||||
Assert.areSame("$123", output, "Incorrect prefix");
|
||||
|
||||
output = YAHOO.util.Number.format(123, {suffix:" items"});
|
||||
Assert.areSame("123 items", output, "Incorrect suffix");
|
||||
|
||||
output = YAHOO.util.Number.format(123.123, {decimalPlaces:5});
|
||||
Assert.areSame("123.12300", output, "Incorrect decimal rounding: expected 5 places");
|
||||
|
||||
output = YAHOO.util.Number.format(123, {decimalPlaces:5});
|
||||
Assert.areSame("123.00000", output, "Incorrect decimal padding: expected 5 places");
|
||||
|
||||
output = YAHOO.util.Number.format(123.123, {decimalPlaces:4});
|
||||
Assert.areSame("123.1230", output, "Incorrect decimal rounding: expected 4 places");
|
||||
|
||||
output = YAHOO.util.Number.format(123.123, {decimalPlaces:3});
|
||||
Assert.areSame("123.123", output, "Incorrect decimal rounding: expected 3 places");
|
||||
|
||||
output = YAHOO.util.Number.format(123.127, {decimalPlaces:2});
|
||||
Assert.areSame("123.13", output, "Incorrect decimal rounding: expected rounded to 2 places");
|
||||
|
||||
output = YAHOO.util.Number.format(123.123, {decimalPlaces:2});
|
||||
Assert.areSame("123.12", output, "Incorrect decimal rounding: expected 2 places");
|
||||
|
||||
output = YAHOO.util.Number.format(123.123, {decimalPlaces:1});
|
||||
Assert.areSame("123.1", output, "Incorrect decimal rounding: expected 1 place");
|
||||
|
||||
output = YAHOO.util.Number.format(123.123, {decimalPlaces:0});
|
||||
Assert.areSame("123", output, "Incorrect decimal rounding: expected 0 places");
|
||||
|
||||
output = YAHOO.util.Number.format(123.123, {decimalPlaces:-1});
|
||||
Assert.areSame("120", output, "Incorrect decimal rounding: expected -1 places");
|
||||
|
||||
output = YAHOO.util.Number.format("123123123", {thousandsSeparator:","});
|
||||
Assert.areSame("123,123,123", output, "Incorrect thousands separation");
|
||||
|
||||
output = YAHOO.util.Number.format("123123123.176",{
|
||||
prefix: "¥",
|
||||
decimalPlaces:2,
|
||||
thousandsSeparator:".",
|
||||
decimalSeparator:","
|
||||
});
|
||||
Assert.areSame("¥123.123.123,18", output, "Incorrect Yen formatting");
|
||||
|
||||
|
||||
}
|
||||
};
|
||||
var dataNumberTest = new DataUtilTestCase(dataNumberTemplate);
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* Runs tests.
|
||||
*
|
||||
*
|
||||
*/
|
||||
YAHOO.util.Event.addListener(window, "load", function() {
|
||||
var logger = new TestLogger();
|
||||
|
||||
var datasourcesuite = new TestSuite("DataSource Test Suite");
|
||||
datasourcesuite.add(datasourceTest);
|
||||
datasourcesuite.add(dsCacheTest);
|
||||
datasourcesuite.add(dsComplexArrayTest);
|
||||
datasourcesuite.add(dsStaticMethodsTest);
|
||||
datasourcesuite.add(dsXHRTest);
|
||||
datasourcesuite.add(dataNumberTest);
|
||||
|
||||
TestRunner.add(datasourcesuite);
|
||||
|
||||
YAHOO.util.Event.addListener("btnRun", "click", function(){TestRunner.run();});
|
||||
YAHOO.util.Dom.get("btnRun").disabled = false;
|
||||
|
||||
if (parent && parent != window) {
|
||||
YAHOO.tool.TestManager.load();
|
||||
}
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Add table
Add a link
Reference in a new issue