datatable-mutable-tests.js revision 11ef335b17a11da1b70c6a80cabe20ef74058481
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smithvar suite = new Y.Test.Suite("datatable-mutable");
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "Y.DataTable should be augmented": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "Y.DataTable.Base should not be augmented": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith new Y.DataTable.Base().hasImpl(Y.DataTable.Mutable));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "Y.DataTable constructor should not error": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.isTrue(table.hasImpl(Y.DataTable.Mutable));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "test autoSync values": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith config.autoSync = { create: true, update: true, 'delete': false };
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "test set('autoSync')": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith table.set('autoSync', { create: true, update: true, 'delete': false });
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith setUp: function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith tearDown: function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "test addColumn() does nothing": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame(columns, this.table.get('columns'));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame(3, this.table.get('columns').length);
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "test addColumn(string)": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame('d', table.get('columns.d.key'));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame(3, Y.Array.indexOf(columns, table.get('columns.d')));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "test addColumn(config)": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame('d', table.get('columns.d.key'));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame(3, Y.Array.indexOf(columns, table.get('columns.d')));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "test addColumn(string, number)": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame('d', table.get('columns.d.key'));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame(1, Y.Array.indexOf(columns, table.get('columns.d')));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "test addColumn(config, number)": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame('d', table.get('columns.d.key'));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame(1, Y.Array.indexOf(columns, table.get('columns.d')));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "test addColumn(string, [number, number])": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith // Can't resolve [3, 1]
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith table.addColumn({ name: 'parent', children: ['d', 'e'] });
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame('f', table.get('columns.f.key'));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame(-1, Y.Array.indexOf(columns, column));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame(1, Y.Array.indexOf(columns[3].children, column));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame(6, table._displayColumns.length);
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "test addColumn(config, [number, number])": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith // Can't resolve [3, 1]
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith table.addColumn({ name: 'parent', children: ['d', 'e'] });
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame('f', table.get('columns.f.key'));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame(-1, Y.Array.indexOf(columns, column));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame(1, Y.Array.indexOf(columns[3].children, column));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame(6, table._displayColumns.length);
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "addColumn event should fire": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "addColumn event should have column config and index": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame(column, table.get('columns.d'));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "addColumn event should be preventable": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "addColumn event e.index modification should update destination": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame(1, Y.Array.indexOf(table.get('columns'), table.get('columns.d')));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "addColumn should be chainable": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame(this.table, this.table.addColumn('d'));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith setUp: function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith tearDown: function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "test modifyColumn() does nothing": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame(columns, this.table.get('columns'));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame(3, this.table.get('columns').length);
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame('foo', this.table.get('columns.a.foo'));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "test modifyColumn(string) does nothing": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame(columns, this.table.get('columns'));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame(3, this.table.get('columns').length);
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame('foo', this.table.get('columns.a.foo'));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "test modifyColumn(string, obj)": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame('bar', table.get('columns.a.foo'));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "test modifyColumn(number, obj)": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame('bar', table.get('columns.a.foo'));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "test modifyColumn([number, number], obj)": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith table.addColumn({ children: [ { key: 'd', foo: 'A' }, 'e' ] });
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame('B', table.get('columns.d.foo'));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "modifyColumn event should fire": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "modifyColumn event should have column config and newColumnDef": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "modifyColumn event should be preventable": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame('foo', table.get('columns.a.foo'));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "modifyColumn event e.newColumnDef modification should apply": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame('foo', table.get('columns.a.foo'));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame('bar', table.get('columns.a.bar'));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "modifyColumn should be chainable": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith Y.Assert.areSame(this.table, this.table.modifyColumn('a', {foo: 'B'}));
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith "": function () {
11ef335b17a11da1b70c6a80cabe20ef74058481Luke Smith}, '@VERSION@' ,{requires:['datatable-mutable', 'test']});