1/* eslint-env qunit */ 2 3window.tablelayout = window.tablelayout || {}; 4 5(function (tablelayout) { 6 'use strict'; 7 8 QUnit.module( 'Tests for tablelayout.styleColumnWidths' ); 9 QUnit.test('float style both rows', function(assert) { 10 var $fixture = jQuery( '#qunit-fixture' ).find('#smallTable'); 11 var $table = $fixture.find( 'table' ); 12 var expected_html = '<div class="plugin_tablelayout_placeholder" data-tablelayout="0"></div> <div class="table sectionedit8"><table class="inline flexiblewidth">' + 13 '<colgroup><col style="width: 80px;"><col style="width: 80px;"></colgroup> <thead> ' + 14 '<tr class="row0"> ' + 15 ' <th class="col0 leftalign"> Column 1 </th><th class="col1 leftalign"> Column 2 </th> ' + 16 '</tr> ' + 17 '<tr class="row1"> ' + 18 ' <th class="col0 leftalign"> 2 </th><th class="col1 leftalign"> T </th> ' + 19 '</tr> ' + 20 '</thead> ' + 21 '<tbody><tr class="row2"> ' + 22 ' <td class="col0 leftalign"> 3 </td><td class="col1 leftalign"> v </td> ' + 23 '</tr> ' + 24 '<tr class="row3"> ' + 25 ' <th class="col0 leftalign"> 4 </th><th class="col1 leftalign"> A </th> ' + 26 '</tr> ' + 27 '<tr class="row4"> ' + 28 ' <td class="col0 leftalign"> 5 </td><td class="col1 leftalign"> b </td> ' + 29 '</tr> ' + 30 '</tbody></table></div> <div class="secedit editbutton_table editbutton_2" style="display: block; margin-top: -12px;"></div>'; 31 tablelayout.styleColumnWidths($table, ['80px', '80px']); 32 var actual_html = $fixture.html().replace(/\s\s+/g, ' ').trim(); 33 34 assert.deepEqual(actual_html, expected_html.replace(/\s\s+/g, ' ').trim(), 'html is ok'); 35 }); 36 37 QUnit.test('float style first row only', function(assert) { 38 var $fixture = jQuery( '#qunit-fixture' ).find('#smallTable'); 39 var $table = $fixture.find( 'table' ); 40 var expected_html = '<div class="plugin_tablelayout_placeholder" data-tablelayout="0"></div> <div class="table sectionedit8"><table class="inline">' + 41 '<colgroup><col style="width: 80px;"><col></colgroup> <thead> ' + 42 '<tr class="row0"> ' + 43 ' <th class="col0 leftalign"> Column 1 </th><th class="col1 leftalign"> Column 2 </th> ' + 44 '</tr> ' + 45 '<tr class="row1"> ' + 46 ' <th class="col0 leftalign"> 2 </th><th class="col1 leftalign"> T </th> ' + 47 '</tr> ' + 48 '</thead> ' + 49 '<tbody><tr class="row2"> ' + 50 ' <td class="col0 leftalign"> 3 </td><td class="col1 leftalign"> v </td> ' + 51 '</tr> ' + 52 '<tr class="row3"> ' + 53 ' <th class="col0 leftalign"> 4 </th><th class="col1 leftalign"> A </th> ' + 54 '</tr> ' + 55 '<tr class="row4"> ' + 56 ' <td class="col0 leftalign"> 5 </td><td class="col1 leftalign"> b </td> ' + 57 '</tr> ' + 58 '</tbody></table></div> <div class="secedit editbutton_table editbutton_2" style="display: block; margin-top: -12px;"></div>'; 59 tablelayout.styleColumnWidths($table, ['80px']); 60 var actual_html = $fixture.html().replace(/\s\s+/g, ' ').trim(); 61 62 assert.deepEqual(actual_html, expected_html.replace(/\s\s+/g, ' ').trim(), 'html is ok'); 63 }); 64 65 QUnit.test('number of table columns', function(assert) { 66 var $table = jQuery( '#qunit-fixture' ).find('#smallTable').find( 'table' ); 67 var actual_number = tablelayout.getNumberOfTableCols($table); 68 var expected_number = 2; 69 assert.equal(actual_number, expected_number, 'number of columns correctly counted'); 70 }); 71 72}(window.tablelayout)); 73