Prettier JQuery tables
[contractdashboard.git] / media / unit_testing / tests_onhold / 1_dom / aoColumns.bSortable.js
blob:a/media/unit_testing/tests_onhold/1_dom/aoColumns.bSortable.js -> blob:b/media/unit_testing/tests_onhold/1_dom/aoColumns.bSortable.js
  // DATA_TEMPLATE: dom_data
  oTest.fnStart( "aoColumns.bSortable" );
   
  $(document).ready( function () {
  /* Check the default */
  var oTable = $('#example').dataTable();
  var oSettings = oTable.fnSettings();
   
  oTest.fnTest(
  "All columns are sortable by default",
  function () { $('#example thead th:eq(1)').click(); },
  function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "All others"; }
  );
   
  oTest.fnTest(
  "Can disable sorting from one column",
  function () {
  oSession.fnRestore();
  $('#example').dataTable( {
  "aoColumns": [
  null,
  { "bSortable": false },
  null,
  null,
  null
  ]
  } );
  $('#example thead th:eq(1)').click();
  },
  function () { return $('#example tbody tr:eq(0) td:eq(1)').html() != "All others"; }
  );
   
  oTest.fnTest(
  "Disabled column has no sorting class",
  null,
  function () { return $('#example thead th:eq(1)').hasClass("sorting_asc") == false; }
  );
   
  oTest.fnTest(
  "Other columns can still sort",
  function () {
  $('#example thead th:eq(4)').click();
  $('#example thead th:eq(4)').click();
  },
  function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == "X"; }
  );
   
  oTest.fnTest(
  "Disable sorting on multiple columns - no sorting classes",
  function () {
  oSession.fnRestore();
  $('#example').dataTable( {
  "aoColumns": [
  null,
  { "bSortable": false },
  null,
  { "bSortable": false },
  null
  ]
  } );
  },
  function () {
  var bReturn =
  $('#example thead th:eq(1)').hasClass("sorting") ||
  $('#example thead th:eq(3)').hasClass("sorting")
  return bReturn == false;
  }
  );
   
  oTest.fnTest(
  "Sorting on disabled column 1 has no effect",
  function () {
  $('#example thead th:eq(1)').click();
  },
  function () { return $('#example tbody tr:eq(0) td:eq(1)').html() != "All others"; }
  );
   
  oTest.fnTest(
  "Sorting on disabled column 2 has no effect",
  function () {
  $('#example thead th:eq(3)').click();
  },
  function () { return $('#example tbody tr:eq(0) td:eq(3)').html() != "-"; }
  );
   
  oTest.fnTest(
  "Second sort on disabled column 2 has no effect",
  function () {
  $('#example thead th:eq(3)').click();
  },
  function () { return $('#example tbody tr:eq(0) td:eq(3)').html() != "-"; }
  );
   
  oTest.fnTest(
  "Even with multiple disabled sorting columns other columns can still sort",
  function () {
  $('#example thead th:eq(4)').click();
  $('#example thead th:eq(4)').click();
  },
  function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == "X"; }
  );
   
   
  oTest.fnComplete();
  } );