Prettier JQuery tables
[contractdashboard.git] / media / unit_testing / tests_onhold / 1_dom / aoColumns.fnRender.js
blob:a/media/unit_testing/tests_onhold/1_dom/aoColumns.fnRender.js -> blob:b/media/unit_testing/tests_onhold/1_dom/aoColumns.fnRender.js
  // DATA_TEMPLATE: dom_data
  oTest.fnStart( "aoColumns.fnRender" );
   
  $(document).ready( function () {
  /* Check the default */
  var mTmp = 0;
  var oTable = $('#example').dataTable( {
  "aoColumns": [
  null,
  { "fnRender": function (a) {
  mTmp++;
  return a.aData[a.iDataColumn];
  } },
  null,
  null,
  null
  ]
  } );
  var oSettings = oTable.fnSettings();
   
  oTest.fnTest(
  "Single column - fnRender is called once for each row",
  null,
  function () { return mTmp == 57; }
  );
   
  oTest.fnTest(
  "Confirm that fnRender passes one argument (an object) with three parameters",
  function () {
  mTmp = true;
  oSession.fnRestore();
  oTable = $('#example').dataTable( {
  "aoColumns": [
  null,
  { "fnRender": function (a) {
  if ( arguments.length != 1 || typeof a.iDataRow=='undefined' ||
  typeof a.iDataColumn=='undefined' || typeof a.aData=='undefined' )
  {
  mTmp = false;
  }
  return a.aData[a.iDataColumn];
  } },
  null,
  null,
  null
  ]
  } );
  },
  function () { return mTmp; }
  );
   
  oTest.fnTest(
  "fnRender iDataColumn is row number",
  function () {
  var iCount = 0;
  mTmp = true;
  oSession.fnRestore();
  oTable = $('#example').dataTable( {
  "aoColumns": [
  null,
  { "fnRender": function (a) {
  if ( iCount != a.iDataRow )
  {
  mTmp = false;
  }
  iCount++;
  return a.aData[a.iDataColumn];
  } },
  null,
  null,
  null
  ]
  } );
  },
  function () { return mTmp; }
  );
   
  oTest.fnTest(
  "fnRender iDataColumn is the column",
  function () {
  mTmp = true;
  oSession.fnRestore();
  oTable = $('#example').dataTable( {
  "aoColumns": [
  null,
  { "fnRender": function (a) {
  if ( a.iDataColumn != 1 )
  {
  mTmp = false;
  }
  return a.aData[a.iDataColumn];
  } },
  null,
  null,
  null
  ]
  } );
  },
  function () { return mTmp; }
  );
   
  oTest.fnTest(
  "fnRender aData is data array of correct size",
  function () {
  mTmp = true;
  oSession.fnRestore();
  oTable = $('#example').dataTable( {
  "aoColumns": [
  null,
  { "fnRender": function (a) {
  if ( a.aData.length != 5 )
  {
  mTmp = false;
  }
  return a.aData[a.iDataColumn];
  } },
  null,
  null,
  null
  ]
  } );
  },
  function () { return mTmp; }
  );
   
  oTest.fnTest(
  "Passed back data is put into the DOM",
  function () {
  oSession.fnRestore();
  oTable = $('#example').dataTable( {
  "aoColumns": [
  null,
  { "fnRender": function (a) {
  return 'unittest';
  } },
  null,
  null,
  null
  ]
  } );
  },
  function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'unittest'; }
  );
   
  oTest.fnTest(
  "Passed back data is put into the DOM",
  function () {
  oSession.fnRestore();
  oTable = $('#example').dataTable( {
  "aoColumns": [
  null,
  null,
  { "fnRender": function (a) {
  return 'unittest1';
  } },
  { "fnRender": function (a) {
  return 'unittest2';
  } },
  null
  ]
  } );
  },
  function () {
  var bReturn =
  $('#example tbody tr:eq(0) td:eq(2)').html() == 'unittest1' &&
  $('#example tbody tr:eq(0) td:eq(3)').html() == 'unittest2';
  return bReturn; }
  );
   
   
   
   
   
  oTest.fnComplete();
  } );