recordset.html revision 9953a3f753a2e339b567f75c2566788b828ac1d9
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt<script type="text/javascript" src="/build/yui/yui-debug.js"></script>
16803617e47c83272013e45ba8eb83a3b11983edAndreas Gustafsson<p><input type="button" value="Run Tests" id="btnRun" disabled=true></p>
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt(function() {
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt filters: {recordset:"debug"},
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt logInclude:{"TestRunner":true},
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt useConsole: true
16803617e47c83272013e45ba8eb83a3b11983edAndreas Gustafsson }).use("console", "test", "dump", "recordset", function(Y) {
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt // Set up the page
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt var ASSERT = Y.Assert,
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt BTNRUN = Y.get("#btnRun");
16803617e47c83272013e45ba8eb83a3b11983edAndreas Gustafsson BTNRUN.set("disabled", false);
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt Y.on("click", function(e){
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt var myConsole = new Y.Console().render();
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt var testBasic = new Y.Test.Case({
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt name: "API Tests",
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt initialData: [{a:3, b:2, c:1}, {a:9, b:8, c:7}, {a:1, b:2, c:3}],
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt //---------------------------------------------
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt // Setup and tear down
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt //---------------------------------------------
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt setUp : function () {
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt //create recordset
40d01ce8f3a1889f5799d9b22b26d5398fa75a1bBob Halley this.rs = new Y.Recordset({records:this.initialData});
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt //Some Ways to access recordset properties
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt tearDown : function () {
06a05efc07ac7b6ff1973a6463291f5d48ece6ebMark Andrews //---------------------------------------------
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt // Event Helpers
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt //---------------------------------------------
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt recordsetChangedEventTest: function(i) {
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt this.rs.on('recordsetChangedEvent', function() {
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt recordsetEmptiedEventTest: function() {
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt var flag = false;
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt this.rs.on('recordsetEmptiedEvent', function() {
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt flag = true;
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt recordsetUpdatedEventTest: function(newRecords, delRecords, testIndex) {
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt // var iD = this.initialData, i=0;
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt // this.rs.on('recordsetUpdatedEvent', function(e) {
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt // Y.ObjectAssert.areEqual(newRecords, e.data.updated.getValue(), "new record values match up");
ba751492fcc4f161a18b983d4f018a1a52938cb9Evan Hunt // Y.ObjectAssert.areEqual(delRecords, e.data.overwritten.getValue(), "old record values match up");
ba751492fcc4f161a18b983d4f018a1a52938cb9Evan Hunt // Y.Assert.areEqual(testIndex, e.index, "Index match up");
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt //---------------------------------------------
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt // Add Records
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt //---------------------------------------------
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt testGetRecords: function() {
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt var newRecord;
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt //Single Record
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt newRecord = this.rs.getRecord(1);
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt Y.ObjectAssert.areEqual(newRecord.getValue(), this.initialData[1]);
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt //Multiple Records
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt newRecord = this.rs.getRecords(1,2);
dc3ac7e79aee3821d1877a41adcd6d6eec5a4395Evan Hunt Y.ObjectAssert.areEqual(newRecord[0].getValue(), this.initialData[1]);
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt Y.ObjectAssert.areEqual(newRecord[1].getValue(), this.initialData[2]);
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt var oRec = new Y.Record({a:'234'});
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt var obj = {b: '324'};
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt if (obj instanceof Y.Record) {
e4c4cf5177d23e144897e0e26ae210cfdb9612ebEvan Hunt //---------------------------------------------
e4c4cf5177d23e144897e0e26ae210cfdb9612ebEvan Hunt // Add Records
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt //---------------------------------------------
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt testAddSingleRecordToEnd: function() {
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt var recToAdd = {a:'8', b:'9', c:'10'};
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt retval = this.rs.add(recToAdd);
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt //Test Recordset Length
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.Assert.areEqual(4, this.rs.get('records').length, "Array lengths not equal.");
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt //Assert on last object
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt //This is indirectly checking to make sure that the record that got added has the identical data as the object literal that was passed in.
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.ObjectAssert.areEqual(recToAdd, this.rs.getRecord(3).getValue());
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.ObjectAssert.areEqual(retval.data[0].getValue(), recToAdd);
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt testAddSingleRecordToIndex: function() {
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt var recToAdd, i=2;
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt recToAdd = {a:'8', b:'9', c:'10'};
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt retval = this.rs.add(recToAdd,i);
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.Assert.areEqual(recToAdd, this.rs.getRecord(i).getValue());
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt //assertion with output
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.ObjectAssert.areEqual(retval.data[0].getValue(), recToAdd);
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt testAddMultipleRecordsToEnd: function() {
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt var recsToAdd = [{a:'11', b:'22', c:'33'}, {a:'44', b:'55', c:'66'}];
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt retval = this.rs.add(recsToAdd);
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt //Assertions with recordset
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.ObjectAssert.areEqual(recsToAdd[0], this.rs.getRecord(3).getValue());
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.ObjectAssert.areEqual(recsToAdd[1], this.rs.getRecord(4).getValue());
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt //assertions with output
e4c4cf5177d23e144897e0e26ae210cfdb9612ebEvan Hunt Y.ObjectAssert.areEqual(retval.data[0].getValue(), recsToAdd[0]);
40d01ce8f3a1889f5799d9b22b26d5398fa75a1bBob Halley Y.ObjectAssert.areEqual(retval.data[1].getValue(), recsToAdd[1]);
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt testAddMultipleRecordsToIndex: function() {
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt var recsToAdd, i;
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt recsToAdd = [{a:'11', b:'22', c:'33'}, {a:'44', b:'55', c:'66'}];
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt retval = this.rs.add(recsToAdd, i);
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt //Assertions with recordset
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.ObjectAssert.areEqual(recsToAdd[0], this.rs.getRecord(1).getValue());
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.ObjectAssert.areEqual(recsToAdd[1], this.rs.getRecord(2).getValue());
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt //---------------------------------------------
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt // Delete Records
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt //---------------------------------------------
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt testDeleteSingleRecordFromEnd: function() {
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.ObjectAssert.areEqual(this.initialData[2], retval.data[0].getValue());
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt testDeleteSingleRecordFromIndex: function() {
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.ObjectAssert.areEqual(this.initialData[1], retval.data[0].getValue());
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt testDeleteRangeOfRecords: function() {
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt //Delete 2 records from index 1
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt retval = this.rs.remove(1,2);
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.ObjectAssert.areEqual(this.initialData[1], retval.data[0].getValue());
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.ObjectAssert.areEqual(this.initialData[2], retval.data[1].getValue());
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt //---------------------------------------------
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt // Empty Recordset
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt //---------------------------------------------
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt testEmptyRecordSet: function() {
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.Assert.areEqual(0, this.rs.get('records').length);
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt //---------------------------------------------
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt // GetValuesByKey
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt //---------------------------------------------
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt testGetValuesByKey: function() {
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt var key, retval, i;
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.Assert.areEqual(this.initialData[i][key], retval[i]);
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt //---------------------------------------------
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt // Update Records - without overwriteFlag
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt //---------------------------------------------
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt testUpdateRecordAtIndexWithoutOverwriteFlag: function() {
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt var newRecord, index=1, oldRecord;
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt //Update record at given index with new record
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt newRecord = new Y.Record({data:{a:'newA', b:'newB', c:'newC'}});
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt oldRecord = this.rs.getRecord(index);
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt this.rs.on('recordsetUpdatedEvent', function(e) {
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.ObjectAssert.areEqual(newRecord, e.data.updated[0], 'Updated record is != to new record');
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.ObjectAssert.areEqual(oldRecord, e.data.overwritten[0], 'Overwritten record is != to old record');
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.Assert.areEqual(1, e.data.overwritten.length, 'overwritten array is not of expected length');
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.Assert.areEqual(index, e.index, "correct index was modified");
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt this.rs.update(newRecord, index);
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.ObjectAssert.areEqual(newRecord.getValue(), this.rs.getRecord(index).getValue());
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt testUpdateRecordsAtIndexWithoutOverwriteFlag: function() {
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt var newRecords = [], index=0, oldRecord, a, b;
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt oldRecord = this.rs.getRecord(index);
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt a = new Y.Record({data:{a:'newA', b:'newB', c:'newC'}});
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt b = new Y.Record({data:{a:'newD', b:'newE', c:'newF'}});
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt this.rs.on('recordsetUpdatedEvent', function(e) {
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.ObjectAssert.areEqual(newRecords, e.data.updated, 'Updated record is != to new record');
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.ObjectAssert.areEqual(oldRecord, e.data.overwritten[0], 'Overwritten record is != to old record');
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.Assert.areEqual(1, e.data.overwritten.length, 'overwritten array is not of expected length');
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.Assert.areEqual(index, e.index, "correct index was modified");
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt this.rs.update(newRecords, index);
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt //check that the two elements in the recordset are the same as the ones pushed in
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.ObjectAssert.areEqual(a.getValue(), this.rs.getRecord(0).getValue());
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.ObjectAssert.areEqual(b.getValue(), this.rs.getRecord(1).getValue());
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.ObjectAssert.areEqual(this.initialData[1], this.rs.getRecord(2).getValue());
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt //3 initial records + 1 more added (the other was just over-written)= 4 total records in recordset
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.Assert.areEqual(4, this.rs.get('records').length);
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt testUpdateRecordAtIndexWithOverwriteFlag: function() {
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt var newRecord, oldRecord, index=1;
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt newRecord = new Y.Record({data: {a:'newG', b:'newH', c:'newI'}});
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt oldRecord = this.rs.getRecord(index);
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt this.rs.on('recordsetUpdatedEvent', function(e) {
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.ObjectAssert.areEqual(newRecord, e.data.updated[0], 'Updated record is != to new record');
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.ObjectAssert.areEqual(oldRecord, e.data.overwritten[0], 'Overwritten record is != to old record');
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.Assert.areEqual(1, e.data.overwritten.length, 'overwritten array is not of expected length');
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.Assert.areEqual(index, e.index, "correct index was modified");
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt this.rs.update(newRecord, index, true);
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.ObjectAssert.areEqual(newRecord.getValue(), this.rs.getRecord(index).getValue());
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt testUpdateRecordsAtIndexWithOverwriteFlag: function() {
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt var newRecords = [], index=0, oldRecords=[], a, b, c;
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt oldRecords = this.rs.getRecords(index,3);
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt //console.log(oldRecords);
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt a = new Y.Record({data:{a:'newA', b:'newB', c:'newC'}});
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt b = new Y.Record({data:{a:'newD', b:'newE', c:'newF'}});
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt c = new Y.Record({data:{a:'newG', b:'newH', c:'newI'}});
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt this.rs.on('recordsetUpdatedEvent', function(e) {
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.ObjectAssert.areEqual(newRecords, e.data.updated, 'Updated record is != to new record');
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt //Y.ObjectAssert.areEqual(oldRecords[i].getValue(), e.data.overwritten[i].getValue(), 'Overwritten record is != to old record');
c5e2e93f62e83ff6e3d85ea05ab5a9f468300a32Mark Andrews Y.Assert.areEqual(3, e.data.overwritten.length, 'overwritten array is not of expected length');
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.Assert.areEqual(index, e.index, "correct index was modified");
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt //check that the two elements in the recordset are the same as the ones pushed in
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.ObjectAssert.areEqual(a.getValue(), this.rs.getRecord(0).getValue());
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.ObjectAssert.areEqual(b.getValue(), this.rs.getRecord(1).getValue());
413d5565ba2af24f12dc54d6e6807af7f1a39867Andreas Gustafsson Y.ObjectAssert.areEqual(c.getValue(), this.rs.getRecord(2).getValue());
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.Assert.areEqual(3, this.rs.get('records').length);
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley var oData = {a:'newJ', b:'newK', c:'newL'}, oldRecord, index=2;
68dacf121428ad8d1160d19d018e028f676ae47aMark Andrews this.rs.on('recordsetUpdatedEvent', function(e) {
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.ObjectAssert.areEqual(oData, e.data.updated[0].getValue(), 'Updated record != equal to new record');
306b36adb61f375b697419a9775e33398eb21563Evan Hunt Y.ObjectAssert.areEqual(oldRecord, e.data.overwritten[0], 'Overwritten record != equal to old record');
413d5565ba2af24f12dc54d6e6807af7f1a39867Andreas Gustafsson Y.Assert.areEqual(1, e.data.overwritten.length, 'overwritten array is not of expected length');
b375b22fb0342f549d6d3a428644292e7c812e3aEvan Hunt Y.Assert.areEqual(index, e.index, "correct index was modified");
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.ObjectAssert.areEqual(oData, this.rs.getRecord(index).getValue());
b375b22fb0342f549d6d3a428644292e7c812e3aEvan Hunt //initialData: [{a:3, b:2, c:1}, {a:9, b:8, c:7}, {a:1, b:2, c:3}],
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt Y.ObjectAssert.areEqual(oRecs[0], this.rs.getRecord(0));
b375b22fb0342f549d6d3a428644292e7c812e3aEvan Hunt Y.ObjectAssert.areEqual(oRecs[1], this.rs.getRecord(2));
3b1b34f762cf4a9a4e09d3ef03becc0d08acddb9Evan Hunt var suite = new Y.Test.Suite({name:"Recordset Test Suite"});