6ed8155c20400990c7e65faa4b40aef98c5b5136Luke SmithYUI.add('datatable-scroll-tests', function(Y) {
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smithvar suite = new Y.Test.Suite("datatable-scroll"),
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith keys = Y.Object.keys;
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smithsuite.add(new Y.Test.Case({
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith name: "lifecycle and instantiation",
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith "Y.DataTable should be augmented": function () {
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith Y.Assert.isTrue(
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith new Y.DataTable().hasImpl(Y.DataTable.Scrollable));
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith },
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith "Y.DataTable.Base should not be augmented": function () {
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith Y.Assert.isFalse(
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith new Y.DataTable.Base().hasImpl(Y.DataTable.Scrollable));
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith },
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith "Y.DataTable constructor should not error": function () {
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith var table = new Y.DataTable({
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith columns: ['a'],
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith data: [{a:1}]
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith });
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith Y.Assert.isInstanceOf(Y.DataTable, table);
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith Y.Assert.isTrue(table.hasImpl(Y.DataTable.Scrollable));
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith }
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith}));
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smithsuite.add(new Y.Test.Case({
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith name: "scrollable attribute",
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith tearDown: function () {
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith if (this.table) {
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith this.table.destroy();
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith }
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith },
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith "test scrollable values": function () {
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith var config = {
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith columns: ['a'],
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith data: [{a:1}]
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith }, table;
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith table = new Y.DataTable(config);
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith Y.Assert.isFalse(table.get('scrollable'));
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith config.scrollable = false;
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith table = new Y.DataTable(config);
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith Y.Assert.isFalse(table.get('scrollable'));
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith config.scrollable = true;
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith table = new Y.DataTable(config);
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith Y.Assert.areSame('xy', table.get('scrollable'));
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith config.scrollable = 'x';
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith table = new Y.DataTable(config);
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith Y.Assert.areSame('x', table.get('scrollable'));
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith config.scrollable = 'y';
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith table = new Y.DataTable(config);
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith Y.Assert.areSame('y', table.get('scrollable'));
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith config.scrollable = 'xy';
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith table = new Y.DataTable(config);
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith Y.Assert.areSame('xy', table.get('scrollable'));
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith /*
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith * Commented out until #2528732 is fixed
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith config.scrollable = 'ab';
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith table = new Y.DataTable(config);
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith Y.Assert.isFalse(table.get('scrollable'));
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith config.scrollable = ['x', 'y'];
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith table = new Y.DataTable(config);
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith Y.Assert.isFalse(table.get('scrollable'));
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith config.scrollable = { x: true };
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith table = new Y.DataTable(config);
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith Y.Assert.isFalse(table.get('scrollable'));
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith */
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith },
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith "test set('scrollable')": function () {
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith var table = this.table = new Y.DataTable({
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith columns: ['a'],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith data: [{a:1}]
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith });
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith Y.Assert.isFalse(table.get('scrollable'));
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith table.set('scrollable', false);
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith Y.Assert.isFalse(table.get('scrollable'));
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith table.set('scrollable', true);
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith Y.Assert.areSame('xy', table.get('scrollable'));
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith table.set('scrollable', 'x');
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith Y.Assert.areSame('x', table.get('scrollable'));
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith table.set('scrollable', 'y');
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith Y.Assert.areSame('y', table.get('scrollable'));
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith table.set('scrollable', 'xy');
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith Y.Assert.areSame('xy', table.get('scrollable'));
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith table.set('scrollable', ['x','y']);
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith Y.Assert.areSame('xy', table.get('scrollable'));
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith table.set('scrollable', { x: true });
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith Y.Assert.areSame('xy', table.get('scrollable'));
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith table.set('scrollable', false);
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith Y.Assert.isFalse(table.get('scrollable'));
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith },
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith "render() with 'scrollable' unset should not include scrolling UI": function () {
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith var table = this.table = new Y.DataTable({
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith columns: ['a'],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith data: [{a:1}]
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith }).render(),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith boundingBox = table.get('boundingBox');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-x-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has X scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-y-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has Y scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-y-scroller-container'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has Y scroll container node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-scrollbar'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has virtual scrollbar node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-caption-table'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has caption table node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-scroll-columns'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has fixed header node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isFalse(boundingBox.hasClass('yui3-datatable-scrollable-x'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has scrollable-x class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isFalse(boundingBox.hasClass('yui3-datatable-scrollable-y'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has scrollable-y class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith },
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith "render() with scrollable set, but neither width/height should not render scroll UI": function () {
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith var table = this.table = new Y.DataTable({
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith columns: ['a'],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith data: [{a:1}],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith scrollable: 'x'
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith }).render(),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith boundingBox = table.get('boundingBox');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-x-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has X scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-y-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has Y scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-y-scroller-container'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has Y scroll container node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-scrollbar'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has virtual scrollbar node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-caption-table'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has caption table node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-scroll-columns'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has fixed header node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isFalse(boundingBox.hasClass('yui3-datatable-scrollable-x'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has scrollable-x class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isFalse(boundingBox.hasClass('yui3-datatable-scrollable-y'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has scrollable-y class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith table.destroy();
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith table = this.table = new Y.DataTable({
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith columns: ['a'],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith data: [{a:1}],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith scrollable: 'y'
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith }).render();
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith boundingBox = table.get('boundingBox');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-x-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has X scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-y-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has Y scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-y-scroller-container'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has Y scroll container node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-scrollbar'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has virtual scrollbar node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-caption-table'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has caption table node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-scroll-columns'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has fixed header node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isFalse(boundingBox.hasClass('yui3-datatable-scrollable-x'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has scrollable-x class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isFalse(boundingBox.hasClass('yui3-datatable-scrollable-y'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has scrollable-y class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith table.destroy();
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith table = this.table = new Y.DataTable({
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith columns: ['a'],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith data: [{a:1}],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith scrollable: 'xy'
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith }).render();
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith boundingBox = table.get('boundingBox');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-x-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has X scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-y-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has Y scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-y-scroller-container'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has Y scroll container node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-scrollbar'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has virtual scrollbar node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-caption-table'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has caption table node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-scroll-columns'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has fixed header node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isFalse(boundingBox.hasClass('yui3-datatable-scrollable-x'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has scrollable-x class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isFalse(boundingBox.hasClass('yui3-datatable-scrollable-y'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Default table has scrollable-y class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith },
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith "render() with scrollable: x + width should render x scroller": function () {
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith var table = this.table = new Y.DataTable({
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith columns: ['a'],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith data: [{a:1}],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith scrollable: 'x',
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith width: '100px'
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith }).render(),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith boundingBox = table.get('boundingBox');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-x-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'X scrolling table missing X scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-y-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'X scrolling table has Y scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-y-scroller-container'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'X scrolling table has Y scroll container node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-scrollbar'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'X scrolling table has virtual scrollbar node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-caption-table'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'X scrolling table has caption table node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-scroll-columns'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'X scrolling table has fixed header node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isTrue(boundingBox.hasClass('yui3-datatable-scrollable-x'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'X scrolling table missing scrollable-x class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isFalse(boundingBox.hasClass('yui3-datatable-scrollable-y'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'X scrolling table has scrollable-y class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith },
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith "render() with scrollable: y + height should render y scroll DOM": function () {
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith var table = this.table = new Y.DataTable({
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith columns: ['a'],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith data: [{a:1}],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith scrollable: 'y',
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith height: '100px'
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith }).render(),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith boundingBox = table.get('boundingBox');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-x-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Y scrolling table has X scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-y-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Y scrolling table missing Y scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-y-scroller-container'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Y scrolling table missing Y scroll container node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-scrollbar'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Y scrolling table missing virtual scrollbar node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-caption-table'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Y scrolling table has caption table node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-scroll-columns'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Y scrolling table missing fixed header node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isFalse(boundingBox.hasClass('yui3-datatable-scrollable-x'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Y scrolling table has scrollable-x class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isTrue(boundingBox.hasClass('yui3-datatable-scrollable-y'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Y scrolling table missing scrollable-y class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith },
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith "render() with scrollable: xy + height, width should render x and y scroll DOM": function () {
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith var table = this.table = new Y.DataTable({
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith columns: ['a'],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith data: [{a:1}],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith scrollable: 'xy',
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith height: '100px',
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith width: '100px'
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith }).render(),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith boundingBox = table.get('boundingBox');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-x-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'XY scrolling table missing X scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-y-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'XY scrolling table missing Y scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-y-scroller-container'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'XY scrolling table missing Y scroll container node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-scrollbar'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'XY scrolling table missing virtual scrollbar node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-caption-table'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'XY scrolling table has caption table node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-scroll-columns'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'XY scrolling table missing fixed header node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isTrue(boundingBox.hasClass('yui3-datatable-scrollable-x'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'XY scrolling table missing scrollable-x class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isTrue(boundingBox.hasClass('yui3-datatable-scrollable-y'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'XY scrolling table missing scrollable-y class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith },
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith "set('scrollable', 'x') after render() should add x scroll DOM": function () {
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith var table = this.table = new Y.DataTable({
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith columns: ['a'],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith data: [{a:1}],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith width: '100px'
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith }).render(),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith boundingBox = table.get('boundingBox');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith table.set('scrollable', 'x');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isTrue(boundingBox.hasClass('yui3-datatable-scrollable-x'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'X scrolling table missing scrollable-x class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-x-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'X scrolling table missing X scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith },
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith "set('scrollable', 'y') after render() should add y scroll DOM": function () {
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith var table = this.table = new Y.DataTable({
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith columns: ['a'],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith data: [{a:1}],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith height: '100px'
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith }).render(),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith boundingBox = table.get('boundingBox');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith table.set('scrollable', 'y');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isTrue(boundingBox.hasClass('yui3-datatable-scrollable-y'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Y scrolling table missing scrollable-y class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-y-scroller-container'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Y scrolling table missing Y scroll container node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-scroll-columns'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Y scrolling table missing Y scroll fixed header node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-y-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Y scrolling table missing Y scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-scrollbar'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Y scrolling table missing virtual scrollbar node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith },
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith "set('scrollable', 'xy') after render() should add y scroll DOM": function () {
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith var table = this.table = new Y.DataTable({
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith columns: ['a'],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith data: [{a:1}],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith height: '100px',
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith width: '100px'
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith }).render(),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith boundingBox = table.get('boundingBox');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith table.set('scrollable', 'xy');
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isTrue(boundingBox.hasClass('yui3-datatable-scrollable-x'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'XY scrolling table missing scrollable-x class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isTrue(boundingBox.hasClass('yui3-datatable-scrollable-y'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'XY scrolling table missing scrollable-y class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-x-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'XY scrolling table missing X scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-y-scroller-container'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'XY scrolling table missing Y scroll container node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-scroll-columns'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'XY scrolling table missing Y scroll fixed header node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-y-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'XY scrolling table missing Y scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-scrollbar'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'XY scrolling table missing virtual scrollbar node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith },
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith "set('scrollable', 'x') from 'xy' should remove y scroll DOM": function () {
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith var table = this.table = new Y.DataTable({
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith columns: ['a'],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith data: [{a:1}],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith height: '100px',
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith width: '100px',
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith scrollable: 'xy'
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith }).render(),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith boundingBox = table.get('boundingBox');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith table.set('scrollable', 'x');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isTrue(boundingBox.hasClass('yui3-datatable-scrollable-x'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'X scrolling table missing scrollable-x class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isFalse(boundingBox.hasClass('yui3-datatable-scrollable-y'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'X scrolling table has scrollable-y class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-x-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'X scrolling table missing X scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-y-scroller-container'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'X scrolling table has Y scroll container node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-scroll-columns'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'X scrolling table has Y scroll fixed header node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-y-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'X scrolling table has Y scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-scrollbar'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'X scrolling table has virtual scrollbar node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith },
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith "set('scrollable', 'y') from 'xy' should remove x scroll DOM": function () {
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith var table = this.table = new Y.DataTable({
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith columns: ['a'],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith data: [{a:1}],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith height: '100px',
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith width: '100px',
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith scrollable: 'xy'
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith }).render(),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith boundingBox = table.get('boundingBox');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith table.set('scrollable', 'y');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isFalse(boundingBox.hasClass('yui3-datatable-scrollable-x'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Y scrolling table has scrollable-x class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isTrue(boundingBox.hasClass('yui3-datatable-scrollable-y'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Y scrolling table missing scrollable-y class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-x-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Y scrolling table has X scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-y-scroller-container'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Y scrolling table missing Y scroll container node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-scroll-columns'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Y scrolling table missing Y scroll fixed header node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-y-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Y scrolling table missing Y scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-scrollbar'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Y scrolling table missing virtual scrollbar node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith },
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith "set('scrollable', false) from 'x' should remove x scroll DOM": function () {
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith var table = this.table = new Y.DataTable({
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith columns: ['a'],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith data: [{a:1}],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith width: '100px',
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith scrollable: 'x'
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith }).render(),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith boundingBox = table.get('boundingBox');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith table.set('scrollable', false);
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isFalse(boundingBox.hasClass('yui3-datatable-scrollable-x'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Non-scrolling table has scrollable-x class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-x-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Non-scrolling table has X scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith },
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith "set('scrollable', false) from 'y' should remove y scroll DOM": function () {
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith var table = this.table = new Y.DataTable({
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith columns: ['a'],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith data: [{a:1}],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith height: '100px',
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith scrollable: 'y'
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith }).render(),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith boundingBox = table.get('boundingBox');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith table.set('scrollable', false);
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isFalse(boundingBox.hasClass('yui3-datatable-scrollable-y'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Non-scrolling table has scrollable-y class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-y-scroller-container'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Non-scrolling table has Y scroll container node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-scroll-columns'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Non-scrolling table has Y scroll fixed header node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-y-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Non-scrolling table has Y scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-scrollbar'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Non-scrolling table has virtual scrollbar node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith },
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith "set('scrollable', false) from 'xy' should remove x and y scroll DOM": function () {
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith var table = this.table = new Y.DataTable({
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith columns: ['a'],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith data: [{a:1}],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith height: '100px',
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith width: '100px',
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith scrollable: 'xy'
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith }).render(),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith boundingBox = table.get('boundingBox');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith table.set('scrollable', false);
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isFalse(boundingBox.hasClass('yui3-datatable-scrollable-x'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Non-scrolling table has scrollable-x class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isFalse(boundingBox.hasClass('yui3-datatable-scrollable-y'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Non-scrolling table has scrollable-y class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-x-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Non-scrolling table has X scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-y-scroller-container'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Non-scrolling table has Y scroll container node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-scroll-columns'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Non-scrolling table has Y scroll fixed header node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-y-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Non-scrolling table has Y scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-scrollbar'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Non-scrolling table has virtual scrollbar node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith },
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith "set('scrollable', 'x') from 'y' should add x scroll DOM and remove y scroll DOM": function () {
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith var table = this.table = new Y.DataTable({
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith columns: ['a'],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith data: [{a:1}],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith height: '100px',
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith width: '100px',
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith scrollable: 'y'
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith }).render(),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith boundingBox = table.get('boundingBox');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith table.set('scrollable', 'x');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isTrue(boundingBox.hasClass('yui3-datatable-scrollable-x'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'X scrolling table missing scrollable-x class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isFalse(boundingBox.hasClass('yui3-datatable-scrollable-y'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'X scrolling table has scrollable-y class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-x-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'X scrolling table missing X scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-y-scroller-container'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'X scrolling table has Y scroll container node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-scroll-columns'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'X scrolling table has Y scroll fixed header node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-y-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'X scrolling table has Y scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-scrollbar'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'X scrolling table has virtual scrollbar node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith },
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith "set('scrollable', 'y') from 'x' should add y scroll DOM and remove x scroll DOM": function () {
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith var table = this.table = new Y.DataTable({
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith columns: ['a'],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith data: [{a:1}],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith height: '100px',
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith width: '100px',
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith scrollable: 'x'
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith }).render(),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith boundingBox = table.get('boundingBox');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith table.set('scrollable', 'y');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isFalse(boundingBox.hasClass('yui3-datatable-scrollable-x'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Y scrolling table has scrollable-x class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isTrue(boundingBox.hasClass('yui3-datatable-scrollable-y'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Y scrolling table missing scrollable-y class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isNull(boundingBox.one('.yui3-datatable-x-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Y scrolling table has X scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-y-scroller-container'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Y scrolling table missing Y scroll container node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-scroll-columns'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Y scrolling table missing Y scroll fixed header node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-y-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Y scrolling table missing Y scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-scrollbar'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'Y scrolling table missing virtual scrollbar node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith },
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith "set('scrollable', 'xy') from 'y' should add x scroll DOM outside y scroll DOM": function () {
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith var table = this.table = new Y.DataTable({
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith columns: ['a'],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith data: [{a:1}],
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith height: '100px',
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith width: '100px',
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith scrollable: 'y'
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith }).render(),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith boundingBox = table.get('boundingBox');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith table.set('scrollable', 'xy');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isTrue(boundingBox.hasClass('yui3-datatable-scrollable-x'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'XY scrolling table missing scrollable-x class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isTrue(boundingBox.hasClass('yui3-datatable-scrollable-y'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'XY scrolling table missing scrollable-y class');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-x-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'XY scrolling table missing X scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-y-scroller-container'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'XY scrolling table missing Y scroll container node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-scroll-columns'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'XY scrolling table missing Y scroll fixed header node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-y-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'XY scrolling table missing Y scroll node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isInstanceOf(Y.Node, boundingBox.one('.yui3-datatable-scrollbar'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith 'XY scrolling table missing virtual scrollbar node');
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith Y.Assert.isTrue(boundingBox.one('.yui3-datatable-y-scroller-container')
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith .get('parentNode').test('.yui3-datatable-x-scroller'),
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith "X scroll container didn't wrap Y scroll DOM");
3915fbd207f60de0f006499e756901ff6c4cd8a5Luke Smith }
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith}));
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke SmithY.Test.Runner.add(suite);
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smithsuite = new Y.Test.Suite("y scrollable");
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smithsuite.add(new Y.Test.Case({
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith name: "scrollTo",
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith setUp: function () {
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith var data = [], i;
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith for (i = 0; i < 10; ++i) {
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith data.push({ a: i, b: i, c: i });
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith }
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith this.shortData = data.slice();
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith for (; i < 100; ++i) {
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith data.push({ a: i, b: i, c: i });
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith }
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith this.longData = data;
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith },
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith
33aae62dca7bd174fde5b0afbe732871d60e13fbLuke Smith "": function () {
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith }
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith}));
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smithsuite.add(new Y.Test.Case({
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith name: "y scroll",
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith "": function () {
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith }
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith}));
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smithsuite.add(new Y.Test.Case({
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith name: "x scroll",
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith "": function () {
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith }
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith}));
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smithsuite.add(new Y.Test.Case({
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith name: "xy scroll",
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith "": function () {
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith }
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith}));
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke SmithY.Test.Runner.add(suite);
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith
6ed8155c20400990c7e65faa4b40aef98c5b5136Luke Smith}, '@VERSION@' ,{requires:['datatable-scroll', 'test']});