datatable-mutable-tests.js revision 7ec3441e48d9669a482acaafd2eef499d699c8b8
d6fa26d0adaec6c910115be34fe7a5a5f402c14fMark AndrewsYUI.add('datatable-mutable-tests', function(Y) {
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox Uservar suite = new Y.Test.Suite("datatable-mutable");
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews "Y.DataTable should be augmented": function () {
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews new Y.DataTable().hasImpl(Y.DataTable.Mutable));
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User "Y.DataTable.Base should not be augmented": function () {
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User new Y.DataTable.Base().hasImpl(Y.DataTable.Mutable));
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews "Y.DataTable constructor should not error": function () {
1e9517ea2156b990be21f44676d3370318eacf17Tinderbox User Y.Assert.isTrue(table.hasImpl(Y.DataTable.Mutable));
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews "test autoSync values": function () {
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews config.autoSync = { create: true, update: true, 'delete': false };
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews "test set('autoSync')": function () {
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User table.set('autoSync', { create: true, update: true, 'delete': false });
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User setUp: function () {
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User tearDown: function () {
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User "test addColumn() does nothing": function () {
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User Y.Assert.areSame(columns, this.table.get('columns'));
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User Y.Assert.areSame(3, this.table.get('columns').length);
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User "test addColumn(string)": function () {
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User Y.Assert.areSame('d', table.get('columns.d.key'));
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User Y.Assert.areSame(3, Y.Array.indexOf(columns, table.get('columns.d')));
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User "test addColumn(config)": function () {
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User Y.Assert.areSame('d', table.get('columns.d.key'));
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User Y.Assert.areSame(3, Y.Array.indexOf(columns, table.get('columns.d')));
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User "test addColumn(string, number)": function () {
260e8e04b0dc24cb884c789b5d9eb046457f264eTinderbox User Y.Assert.areSame('d', table.get('columns.d.key'));
260e8e04b0dc24cb884c789b5d9eb046457f264eTinderbox User Y.Assert.areSame(1, Y.Array.indexOf(columns, table.get('columns.d')));
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User "test addColumn(config, number)": function () {
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User Y.Assert.areSame('d', table.get('columns.d.key'));
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User Y.Assert.areSame(1, Y.Array.indexOf(columns, table.get('columns.d')));
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User "test addColumn(string, [number, number])": function () {
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User // Can't resolve [3, 1]
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User table.addColumn({ name: 'parent', children: ['d', 'e'] });
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User Y.Assert.areSame('f', table.get('columns.f.key'));
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User Y.Assert.areSame(-1, Y.Array.indexOf(columns, column));
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Y.Assert.areSame(1, Y.Array.indexOf(columns[3].children, column));
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User Y.Assert.areSame(6, table._displayColumns.length);
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User "test addColumn(config, [number, number])": function () {
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User // Can't resolve [3, 1]
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User table.addColumn({ name: 'parent', children: ['d', 'e'] });
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User Y.Assert.areSame('f', table.get('columns.f.key'));
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User Y.Assert.areSame(-1, Y.Array.indexOf(columns, column));
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User Y.Assert.areSame(1, Y.Array.indexOf(columns[3].children, column));
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User Y.Assert.areSame(6, table._displayColumns.length);
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User "addColumn event should fire": function () {
3241ddcf9354c5ab50f4df5a656e72a5c68e172bTinderbox User "addColumn event should have column config and index": function () {
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Y.Assert.areSame(column, table.get('columns.d'));
057cafaa3df7be7a6dcca71fbaf8fb498fd83518Mark Andrews "addColumn event should be preventable": function () {
1e9517ea2156b990be21f44676d3370318eacf17Tinderbox User Y.Assert.isUndefined(table.get('columns.d'));
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User "addColumn event e.index modification should update destination": function () {
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Y.Assert.areSame(1, Y.Array.indexOf(table.get('columns'), table.get('columns.d')));
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews "addColumn should be chainable": function () {
1e9517ea2156b990be21f44676d3370318eacf17Tinderbox User Y.Assert.areSame(this.table, this.table.addColumn('d'));
1e9517ea2156b990be21f44676d3370318eacf17Tinderbox User setUp: function () {
e108f2ec640e1acb54999c0ade58af606149956dTinderbox User columns: [{ key: 'a', foo: 'foo' }, 'b', 'c'],
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews tearDown: function () {
onFired = false,
afterFired = false;
onFired = true;
afterFired = true;
e.preventDefault();
setUp: function () {
tearDown: function () {
onFired = false,
afterFired = false;
onFired = true;
afterFired = true;
e.preventDefault();