upgrading to YUI 2.6
data tables are going to need some work yet, but the other stuff seems to be working 100%
This commit is contained in:
parent
a041e93da8
commit
20f8df1291
2106 changed files with 993560 additions and 237 deletions
196
www/extras/yui/tests/datatable/RecordSet.js
vendored
Normal file
196
www/extras/yui/tests/datatable/RecordSet.js
vendored
Normal file
|
|
@ -0,0 +1,196 @@
|
|||
(function() {
|
||||
var gCount = -1;
|
||||
|
||||
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,
|
||||
DataTable = YAHOO.widget.DataTable,
|
||||
ColumnSet = YAHOO.widget.ColumnSet,
|
||||
RecordSet = YAHOO.widget.RecordSet;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* Base DataTable test template. Sets up values for a DataTable instance.
|
||||
*
|
||||
*
|
||||
*/
|
||||
var dtBaseTemplate = {
|
||||
name: "DataTable Base Tests",
|
||||
|
||||
dsData: [
|
||||
{a:"0a",b:"0b",c:"0c"},
|
||||
{a:"1a",b:"1b",c:"1c"},
|
||||
{a:"2a",b:"2b",c:"2c"},
|
||||
{a:"3a",b:"3b",c:"3c"}
|
||||
],
|
||||
|
||||
dsConfig: {
|
||||
responseType:YAHOO.util.DataSource.TYPE_JSARRAY,
|
||||
responseSchema:{fields:["a","b","c"]}
|
||||
},
|
||||
|
||||
columns: [{key:"a"},{key:"b"},{key:"c"}]
|
||||
};
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* Base DataTable test case.
|
||||
*
|
||||
*
|
||||
*/
|
||||
function DataTableTestCase(template) {
|
||||
DataTableTestCase.superclass.constructor.call(this, template);
|
||||
};
|
||||
YAHOO.lang.extend(DataTableTestCase, TestCase);
|
||||
|
||||
DataTableTestCase.prototype.setUp = function() {
|
||||
// Create container anew
|
||||
this.container = document.createElement("div");
|
||||
///this.container.id = "testDTContainer"; // Is this necessary?
|
||||
document.body.appendChild(this.container);
|
||||
|
||||
// Create DataSource anew
|
||||
this.datasource = new YAHOO.util.DataSource(this.dsData, this.dsConfig);
|
||||
};
|
||||
|
||||
DataTableTestCase.prototype.tearDown = function() {
|
||||
// Destroy DataTable
|
||||
this.datatable.destroy();
|
||||
this.datatable = null;
|
||||
|
||||
// Destroy container
|
||||
if(this.container !== null) {
|
||||
YAHOO.util.Event.purgeElement(this.container, true);
|
||||
document.body.removeChild(this.container);
|
||||
this.container = null;
|
||||
}
|
||||
|
||||
// TODO: need a destroy method
|
||||
this.datasource = null;
|
||||
};
|
||||
|
||||
DataTableTestCase.prototype.createInstance = function(oDT, oConfig) {
|
||||
oDT = oDT || DataTable;
|
||||
this.datatable = new oDT(this.container, this.columns, this.datasource, oConfig);
|
||||
gCount++;
|
||||
return this.datatable;
|
||||
};
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* Tests RecordSet APIs.
|
||||
*
|
||||
*
|
||||
*/
|
||||
var rsRecordSetTemplate = YAHOO.lang.merge(dtBaseTemplate, {
|
||||
name: "DataTable RecordSet Tests",
|
||||
|
||||
testGetRecordSet: function() {
|
||||
var dt = this.createInstance();
|
||||
var rs = dt.getRecordSet();
|
||||
|
||||
Assert.isInstanceOf(RecordSet, rs, "Expected a RecordSet");
|
||||
},
|
||||
|
||||
testGetRecord: function() {
|
||||
var dt = this.createInstance();
|
||||
//dt.subscribe("initEvent", function() {
|
||||
var rs = dt.getRecordSet();
|
||||
var oRecord = rs._records[3];
|
||||
var sRecordId = oRecord.getId();
|
||||
|
||||
var el = dt.getTbodyEl().rows[3];
|
||||
var oTestRecord = dt.getRecord(el);
|
||||
Assert.areSame(oRecord, oTestRecord, "Expected to get Record by el reference");
|
||||
|
||||
var el = dt.getTbodyEl().rows[3].cells[2];
|
||||
oTestRecord = dt.getRecord(el);
|
||||
Assert.areSame(oRecord, oTestRecord, "Expected to get Record by el reference child");
|
||||
|
||||
el = Dom.get(oTestRecord.getId());
|
||||
oTestRecord = null;
|
||||
oTestRecord = dt.getRecord(el);
|
||||
Assert.areSame(oRecord, oTestRecord, "Expected to get Record by DOM ID");
|
||||
|
||||
oTestRecord = dt.getRecord(3);
|
||||
Assert.areSame(oRecord, oTestRecord, "Expected to get Record by position index");
|
||||
|
||||
oTestRecord = dt.getRecord(sRecordId);
|
||||
Assert.areSame(oRecord, oTestRecord, "Expected to get Record by Record ID");
|
||||
|
||||
oTestRecord = dt.getRecord(oRecord);
|
||||
Assert.areSame(oRecord, oTestRecord, "Expected to get Record by Record instance");
|
||||
|
||||
oTestRecord = rs.getRecord(3);
|
||||
Assert.areSame(oRecord, oTestRecord, "Expected to get Record by position index (RecordSet method)");
|
||||
|
||||
oTestRecord = rs.getRecord(sRecordId);
|
||||
Assert.areSame(oRecord, oTestRecord, "Expected to get Record by Record ID (RecordSet method)");
|
||||
|
||||
oTestRecord = rs.getRecord(oRecord);
|
||||
Assert.areSame(oRecord, oTestRecord, "Expected to get Record by Record instance (RecordSet method)");
|
||||
//});
|
||||
},
|
||||
|
||||
testGetInvalidRecord: function() {
|
||||
var dt = this.createInstance();
|
||||
//dt.subscribe("initEvent", function() {
|
||||
var rs = dt.getRecordSet();
|
||||
var oRecord = rs._records[3];
|
||||
dt.deleteRow(3);
|
||||
|
||||
oTestRecord = dt.getRecord(oRecord);
|
||||
Assert.areSame(null, oTestRecord, "Expected not to get Record by invalid Record instance");
|
||||
|
||||
oTestRecord = rs.getRecord(oRecord);
|
||||
Assert.areSame(null, oTestRecord, "Expected not to get Record by invalid Record instance (RecordSet method)");
|
||||
//});
|
||||
},
|
||||
|
||||
testUpdateKey: function() {
|
||||
var dt = this.createInstance();
|
||||
//dt.subscribe("initEvent", function() {
|
||||
var rs = dt.getRecordSet();
|
||||
var oTestRecord = rs._records[0];
|
||||
rs.updateKey(0, "b", "xxx");
|
||||
Assert.areSame("xxx", oTestRecord.getData("b"), "Failed to update key b of Record 0 by position index");
|
||||
|
||||
rs.updateKey(oTestRecord, "b", "zzz");
|
||||
Assert.areSame("zzz", oTestRecord.getData("b"), "Failed to update key b of Record 0 by instance");
|
||||
|
||||
rs.updateKey(oTestRecord.getId(), "b", "yyy");
|
||||
Assert.areSame("yyy", oTestRecord.getData("b"), "Failed to update key b of Record 0 by ID");
|
||||
//});
|
||||
}
|
||||
|
||||
|
||||
//TODO: More RecordSet APIs
|
||||
});
|
||||
var rsRecordSetTest = new DataTableTestCase(rsRecordSetTemplate);
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* Runs tests.
|
||||
*
|
||||
*
|
||||
*/
|
||||
YAHOO.util.Event.addListener(window, "load", function() {
|
||||
var recordsetsuite = new TestSuite("RecordSet Test Suite");
|
||||
recordsetsuite.add(rsRecordSetTest);
|
||||
|
||||
TestRunner.add(recordsetsuite);
|
||||
});
|
||||
})();
|
||||
Loading…
Add table
Add a link
Reference in a new issue