Prettier JQuery tables
[contractdashboard.git] / media / unit_testing / tests_onhold / 1_dom / aoColumns.bUseRendered.js
blob:a/media/unit_testing/tests_onhold/1_dom/aoColumns.bUseRendered.js -> blob:b/media/unit_testing/tests_onhold/1_dom/aoColumns.bUseRendered.js
  // DATA_TEMPLATE: dom_data
  oTest.fnStart( "aoColumns.bUseRendered" );
   
  /* bUseRendered is used to alter sorting data, if false then the original data is used for
  * sorting rather than the rendered data
  */
   
  $(document).ready( function () {
  /* Check the default */
  var mTmp = 0;
   
  var oTable = $('#example').dataTable( {
  "aoColumns": [
  null,
  { "fnRender": function (a) {
  if ( mTmp == 0 ) {
  mTmp++;
  return "aaa";
  } else
  return a.aData[a.iDataColumn];
  } },
  null,
  null,
  null
  ]
  } );
  var oSettings = oTable.fnSettings();
   
  oTest.fnTest(
  "Default for bUseRendered is true - rendered data is used for sorting",
  function () { $('#example thead th:eq(1)').click(); },
  function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'aaa'; }
  );
   
  oTest.fnTest(
  "When bUseRendered is false, original data is used for sorting",
  function () {
  mTmp = 0;
  oSession.fnRestore();
  oTable = $('#example').dataTable( {
  "aoColumns": [
  null,
  {
  "bUseRendered": false,
  "fnRender": function (a) {
  if ( mTmp == 0 ) {
  mTmp++;
  return "aaa";
  } else {
  return a.aData[a.iDataColumn];
  }
  }
  },
  null,
  null,
  null
  ]
  } );
  $('#example thead th:eq(1)').click();
  },
  function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'All others'; }
  );
   
   
  oTest.fnTest(
  "bUseRendered set to false on one columns and true (default) on two others",
  function () {
  mTmp = 0;
  var mTmp2 = 0;
  var mTmp3 = 0;
   
  oSession.fnRestore();
  oTable = $('#example').dataTable( {
  "aoColumns": [
  {
  "fnRender": function (a) {
  if ( mTmp == 0 ) {
  mTmp++;
  return "aaa1";
  } else {
  return a.aData[a.iDataColumn];
  }
  }
  },
  {
  "bUseRendered": false,
  "fnRender": function (a) {
  if ( mTmp2 == 0 ) {
  mTmp2++;
  return "aaa2";
  } else {
  return a.aData[a.iDataColumn];
  }
  }
  },
  {
  "fnRender": function (a) {
  if ( mTmp3 == 0 ) {
  mTmp3++;
  return "zzz3";
  } else {
  return a.aData[a.iDataColumn];
  }
  }
  },
  null,
  null
  ]
  } );
  },
  function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == 'aaa1'; }
  );
   
  oTest.fnTest(
  "Multi-column rendering - 2nd column sorting",
  function () { $('#example thead th:eq(1)').click(); },
  function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'All others'; }
  );
   
  oTest.fnTest(
  "Multi-column rendering - 3rd column sorting",
  function () {
  $('#example thead th:eq(2)').click();
  $('#example thead th:eq(2)').click();
  },
  function () { return $('#example tbody tr:eq(0) td:eq(2)').html() == 'zzz3'; }
  );
   
  oTest.fnTest(
  "Multi-column rendering - 4th column sorting",
  function () { $('#example thead th:eq(3)').click(); },
  function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == '-'; }
  );
   
  oTest.fnTest(
  "Multi-column rendering - 5th column sorting",
  function () { $('#example thead th:eq(4)').click(); },
  function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'A'; }
  );
   
   
   
   
  oTest.fnComplete();
  } );