Prettier JQuery tables
[contractdashboard.git] / media / unit_testing / tests_onhold / 1_dom / aoColumns.sWidth.js
blob:a/media/unit_testing/tests_onhold/1_dom/aoColumns.sWidth.js -> blob:b/media/unit_testing/tests_onhold/1_dom/aoColumns.sWidth.js
  // DATA_TEMPLATE: dom_data
  oTest.fnStart( "aoColumns.sWidth" );
   
  /* NOTE - we need to disable the auto width for the majority of these test in order to preform
  * these tests as the auto width will convert the width to a px value. We can do 'non-exact' tests
  * with auto width enabled however to ensure it scales columns as required
  */
   
  $(document).ready( function () {
  /* Check the default */
  var oTable = $('#example').dataTable( {
  "bAutoWidth": false,
  "aoColumns": [
  null,
  { "sWidth": '40%' },
  null,
  null,
  null
  ]
  } );
  var oSettings = oTable.fnSettings();
   
  oTest.fnTest(
  "With auto width disabled the width for one column is appled",
  null,
  function () { return $('#example thead th:eq(1)')[0].style.width == "40%"; }
  );
   
  oTest.fnTest(
  "With auto width disabled the width for one column is appled",
  function () {
  oSession.fnRestore();
  oTable = $('#example').dataTable( {
  "bAutoWidth": false,
  "aoColumns": [
  null,
  null,
  { "sWidth": '20%' },
  { "sWidth": '30%' },
  null
  ]
  } );
  },
  function () {
  var bReturn =
  $('#example thead th:eq(2)')[0].style.width == "20%" &&
  $('#example thead th:eq(3)')[0].style.width == "30%";
  return bReturn;
  }
  );
   
   
  oTest.fnTest(
  "With auto width, it will make the smallest column the largest with percentage width given",
  function () {
  oSession.fnRestore();
  oTable = $('#example').dataTable( {
  "aoColumns": [
  null,
  null,
  null,
  { "sWidth": '40%' },
  null
  ]
  } );
  },
  function () {
  var anThs = $('#example thead th');
  var a0 = anThs[0].offsetWidth;
  var a1 = anThs[1].offsetWidth;
  var a2 = anThs[2].offsetWidth;
  var a3 = anThs[3].offsetWidth;
  var a4 = anThs[4].offsetWidth;
   
  if ( a3>a0 && a3>a1 && a3>a2 && a3>a4 )
  return true;
  else
  return false;
  }
  );
   
   
  oTest.fnComplete();
  } );