6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith var Class = Y.Base.create('test-class', Y.Widget, [ Y.DataTable.Core ]),
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith props = Y.Object.keys(Y.DataTable.Core.prototype),
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith setUp: function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith this.Table = Y.Base.create('table', Y.Widget, [Y.DataTable.Core]);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "test table.delegate() pases through to node.delegate()": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.delegate = function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith table.delegate('click', function () {}, '.test-yes');
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith setUp: function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith this.Table = Y.Base.create('table', Y.Widget, [Y.DataTable.Core]);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "test getCell() passes through to bodyView": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith bodyView: Y.Base.create('testView', Y.View, [], {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith getCell: function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith setUp: function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith this.Table = Y.Base.create('table', Y.Widget, [Y.DataTable.Core]);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "test getRow() passes through to bodyView": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith bodyView: Y.Base.create('testView', Y.View, [], {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith getRow: function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith setUp: function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Table = Y.Base.create('table', Y.Widget, [Y.DataTable.Core], {}, {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith getRecord: function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith tearDown: function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "test getRecord(index)": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(this.table.data.item(0), this.table.getRecord(0));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(this.table.data.item(1), this.table.getRecord(1));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "test getRecord(id)": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(this.table.data.item(0), this.table.getRecord('a1'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(this.table.data.item(1), this.table.getRecord('a2'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "test getRecord(clientId)": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith this.table.getRecord(this.table.data.item(0).get('clientId')));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith this.table.getRecord(this.table.data.item(1).get('clientId')));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "test getRecord(unknown) passes through to bodyView": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(this.pass, this.table.getRecord('testing'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith setUp: function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith var Table = Y.Base.create('table', Y.Widget, [Y.DataTable.Core]);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith { label: 'cdX', name: 'cd', children: [ 'c', 'd' ] }
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "test getColumn(key)": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('a', this.table.getColumn('a').key);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('bX', this.table.getColumn('bX').key);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "test getColumn(name)": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('bX', this.table.getColumn('b').key);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('cdX', this.table.getColumn('cd').label);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "test getColumn(index)": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('a', this.table.getColumn(0).key);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('cdX', this.table.getColumn(2).label);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "test getColumn([ index, index ])": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('d', this.table.getColumn([2,1]).key);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "test getColumn(column)": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith this.table.getColumn(this.table.getColumn('a')).key);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith setUp: function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith var Table = Y.Base.create('datatable', Y.Widget, [Y.DataTable.Core]);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith tearDown: function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "render() should create a <table>": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith var table = this.table.get('contentBox').one('table');
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.isTrue(table.test('.yui3-datatable-table'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "render() should fire the renderTable event": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith this.table.on('renderTable', function () { pass = true; });
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "render() should assign the instance's _tableNode property": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.isInstanceOf(Y.Node, this.table._tableNode);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "render() should create a <caption> if configured to do so": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith this.table.set('caption', 'caption content').render();
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.isInstanceOf(Y.Node, this.table._captionNode);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith this.table._tableNode.one('caption').get('text'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "render() should create a <table summary='VALUE'> if configured to do so": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith this.table.set('summary', 'summary content').render();
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "render() should fire renderHeader if headerView is set": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith this.table.set('headerView', Y.View).on('renderHeader', function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "render() should fire renderBody if bodyView is set": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith this.table.set('bodyView', Y.View).on('renderBody', function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "render() should fire renderFooter if footerView is set": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith this.table.set('footerView', Y.View).on('renderFooter', function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "render() should call render() on the headerView if set": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith render: function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "render() should call render() on the bodyView if set": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith render: function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "render() should call render() on the footerView if set": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith render: function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith setUp: function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith var Table = Y.Base.create('table', Y.Widget, [Y.DataTable.Core], {}, {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith tearDown: function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "syncUI should call render() on all views": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith setUp: function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith var Table = Y.Base.create('table', Y.Widget, [Y.DataTable.Core]);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith tearDown: function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "set('caption', VALUE) should update UI": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('caption content', caption.get('text'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('new caption content', caption.get('text'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(table._tableNode, caption.get('parentNode'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "set('caption', VALUE) after unset at render() should add <caption>": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.isNull(table._tableNode.one('caption'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('new caption content', caption.get('text'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(table._tableNode, caption.get('parentNode'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "set('caption', FALSEY_VALUE) after set at render() should remove <caption>": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.isInstanceOf(Y.Node, table._captionNode);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('caption content', table._captionNode.get('text'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.isNull(table._tableNode.one('caption'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.isInstanceOf(Y.Node, table._tableNode.one('caption'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.isNull(table._tableNode.one('caption'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "set('caption', FALSEY_VALUE) after unset at render() should do nothing": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.isNull(table._tableNode.one('caption'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith setUp: function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith this.Table = Y.Base.create('table', Y.Widget, [Y.DataTable.Core]);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "string columns should be converted to objects": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "test columnset pass through": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(columns, table.get('columnset'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "duplicate keys should have unique column ids": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(columns[0], table.getColumn('a'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('a', columns[2].children[0].key);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('a', columns[2].children[1].key);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('a2', columns[2].children[0]._id);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('a3', columns[2].children[1]._id);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "child columns should get _parent property pointing to their parent": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(table.getColumn('bcdX'), table.getColumn('b')._parent);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(table.getColumn('bcdX'), table.getColumn('cdX')._parent);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(table.getColumn('cdX'), table.getColumn('c')._parent);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(table.getColumn('cdX'), table.getColumn('d')._parent);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "set('columns', VALUE) should update getColumn(NAME) map": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areNotSame(columnA, table.getColumn('a'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areNotSame(columnB, table.getColumn('b'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "get('columns.KEY') should return column object based on _id": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "test col.field alias for col.name": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('a', table.getColumn('aX').key);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('b', table.getColumn('aX1').key);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith setUp: function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith this.Table = Y.Base.create('table', Y.Widget, [Y.DataTable.Core]);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith modelList.model = Y.Base.create('testModel', Y.Model, [], {}, {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "test array as data value": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.isInstanceOf(Y.ModelList, table.get('data'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(1, table.getRecord(0).get('a'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(2, table.getRecord(1).get('a'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(true, table.getRecord(0).get('b'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(false, table.getRecord(1).get('b'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('string #1', table.getRecord(0).get('c'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('string #2', table.getRecord(1).get('c'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "test ModelList passed as data value": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.isInstanceOf(Y.ModelList, table.get('data'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(1, table.getRecord(0).get('a'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(2, table.getRecord(1).get('a'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(true, table.getRecord(0).get('b'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(false, table.getRecord(1).get('b'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('string #1', table.getRecord(0).get('c'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('string #2', table.getRecord(1).get('c'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "set('data', array) should update the existing ModelList": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "set('data', modelList) should replace the existing ModelList": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "set('data', garbage) should do nothing": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "set('data', modelList) after render() should update view modelList attrs": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith var View = Y.Base.create('testHeader', Y.View, [], {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith // 0 to 2 because lazy assignment calls the setter the first time
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith // the modelList is fetched, which happens to be as part of the
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith // set() logic. So the setter is called for the original value to
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith // populate the change event's e.prevVal.
f3d36b6104651e81a5aed66ab831f518ef175906Luke Smith "set('data', modelList) should fire a dataChange": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith var model = Y.Base.create('test-model', Y.Model, [], {}, {
f3d36b6104651e81a5aed66ab831f518ef175906Luke Smith ATTRS: { a: {}, b: {}, c: {} } }),
f3d36b6104651e81a5aed66ab831f518ef175906Luke Smith Y.Assert.isInstanceOf(Y.ModelList, instance.data);
f3d36b6104651e81a5aed66ab831f518ef175906Luke Smith Y.Assert.areSame(1, instance.data.item(0).get('a'));
f3d36b6104651e81a5aed66ab831f518ef175906Luke Smith Y.Assert.areSame(2, instance.data.item(0).get('a'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "test recordset pass through": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.isInstanceOf(Y.ModelList, table.get('data'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(1, table.getRecord(0).get('a'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(2, table.getRecord(1).get('a'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(true, table.getRecord(0).get('b'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(false, table.getRecord(1).get('b'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('string #1', table.getRecord(0).get('c'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('string #2', table.getRecord(1).get('c'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(4, table.getRecord(0).get('a'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(4, table.getRecord(0).get('b'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(4, table.getRecord(0).get('c'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith setUp: function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith this.Table = Y.Base.create('table', Y.Widget, [Y.DataTable.Core]);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "test instantiation with recordType: object": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(1, table.getRecord(0).get('a'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('string', table.getRecord(0).get('b'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(1, table.getRecord(0).get('c'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(2, table.getRecord(1).get('a'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('b default', table.getRecord(1).get('b'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(2, table.getRecord(1).get('c'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "test instantiation with recordType: array": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(1, table.getRecord(0).get('a'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(2, table.getRecord(1).get('b'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "test instantiation with recordType: Model": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith var Model = Y.Base.create('testModel', Y.Model, [], {}, {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(1, table.getRecord(0).get('a'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('string', table.getRecord(0).get('b'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(1, table.getRecord(0).get('c'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(2, table.getRecord(1).get('a'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('b default', table.getRecord(1).get('b'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(2, table.getRecord(1).get('c'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "recordType should default from data modelList.model": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith modelList.model = Y.Base.create('testModel', Y.Model, [], {}, {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame(table.get('recordType'), table.data.model);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "recordType should default from keys of first object in data array": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "recordType should default from columns if no data is supplied": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith // including dup columns by their _id
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.ArrayAssert.itemsAreSame(['a', 'b', 'c', 'a1'],
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "recordType should default via change event if recordType, columns, and data are unset": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith modelList.model = Y.Base.create('test-model', Y.Model, [], {}, {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith ATTRS: { a: {}, b: {}, c: {} }
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith setUp: function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith var Table = Y.Base.create('table', Y.Widget, [Y.DataTable.Core]);
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith tearDown: function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "set('summary', VALUE) should update UI": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "set('summary', VALUE) after unset at render() should add table summary": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('', table._tableNode.getAttribute('summary'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "set('summary', '') after set at render() should empty table summary": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('', table._tableNode.getAttribute('summary'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith "set('summary', '') after unset at render() should do nothing": function () {
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith Y.Assert.areSame('', table._tableNode.getAttribute('summary'));
75ae44e882c66d6b0f2e1066d30ead63e58c2056Luke Smith}, '@VERSION@' ,{requires:['widget', 'base-build', 'datatable-core', 'view', 'recordset']});