-begin adding datagrids
This commit is contained in:
parent
8d5aea0d14
commit
6553663051
249 changed files with 31982 additions and 11 deletions
44
public/js/datatables/unit_testing/tests_onhold/4_server-side/-iDraw.js
Executable file
44
public/js/datatables/unit_testing/tests_onhold/4_server-side/-iDraw.js
Executable file
|
@ -0,0 +1,44 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "iDraw - check that iDraw increments for each draw" );
|
||||
|
||||
|
||||
$(document).ready( function () {
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"After first draw, iDraw is 1",
|
||||
null,
|
||||
function () { return oSettings.iDraw == 1; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"After second draw, iDraw is 2",
|
||||
function () { oTable.fnDraw() },
|
||||
function () { return oSettings.iDraw == 2; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"After sort",
|
||||
function () { oTable.fnSort([[1,'asc']]) },
|
||||
function () { return oSettings.iDraw == 3; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"After filter",
|
||||
function () { oTable.fnFilter('gecko') },
|
||||
function () { return oSettings.iDraw == 4; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"After another filter",
|
||||
function () { oTable.fnFilter('gec') },
|
||||
function () { return oSettings.iDraw == 5; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,32 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
/*
|
||||
* NOTE: There are some differences in this zero config script for server-side
|
||||
* processing compared to the other data sources. The main reason for this is the
|
||||
* difference in how the server-side processing does it's filtering. Also the
|
||||
* sorting state is always reset on each draw.
|
||||
*/
|
||||
oTest.fnStart( "Info element with display all" );
|
||||
|
||||
$(document).ready( function () {
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
|
||||
oTable.fnSettings()._iDisplayLength = -1;
|
||||
oTable.oApi._fnCalculateEnd( oTable.fnSettings() );
|
||||
oTable.fnDraw();
|
||||
|
||||
|
||||
/* Basic checks */
|
||||
oTest.fnWaitTest(
|
||||
"Check length is correct when -1 length given",
|
||||
null,
|
||||
function () {
|
||||
return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 57 of 57 entries";
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
47
public/js/datatables/unit_testing/tests_onhold/4_server-side/2569.js
Executable file
47
public/js/datatables/unit_testing/tests_onhold/4_server-side/2569.js
Executable file
|
@ -0,0 +1,47 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "Destroy with hidden columns" );
|
||||
|
||||
$(document).ready( function () {
|
||||
var mTest;
|
||||
|
||||
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"aoColumnDefs": [
|
||||
{ "bSearchable": false, "bVisible": false, "aTargets": [ 2 ] },
|
||||
{ "bVisible": false, "aTargets": [ 3 ] }
|
||||
],
|
||||
"fnInitComplete": function () {
|
||||
this.fnDestroy();
|
||||
}
|
||||
} );
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Check that the number of columns in table is correct",
|
||||
null,
|
||||
function () { return $('#example tbody tr:eq(0) td').length == 5; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnTest(
|
||||
"And with scrolling",
|
||||
function () {
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"sScrollY": 200,
|
||||
"aoColumnDefs": [
|
||||
{ "bSearchable": false, "bVisible": false, "aTargets": [ 2 ] },
|
||||
{ "bVisible": false, "aTargets": [ 3 ] }
|
||||
],
|
||||
"fnInitComplete": function () {
|
||||
this.fnDestroy();
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td').length == 5; }
|
||||
);
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
47
public/js/datatables/unit_testing/tests_onhold/4_server-side/2600.js
Executable file
47
public/js/datatables/unit_testing/tests_onhold/4_server-side/2600.js
Executable file
|
@ -0,0 +1,47 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "2600 - Display rewind when changing length" );
|
||||
|
||||
$(document).ready( function () {
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Info correct on init",
|
||||
null,
|
||||
function () { return $('#example_info').html() == "Showing 1 to 10 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Page 2",
|
||||
function () { $('#example_next').click(); },
|
||||
function () { return $('#example_info').html() == "Showing 11 to 20 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Page 3",
|
||||
function () { $('#example_next').click(); },
|
||||
function () { return $('#example_info').html() == "Showing 21 to 30 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Page 4",
|
||||
function () { $('#example_next').click(); },
|
||||
function () { return $('#example_info').html() == "Showing 31 to 40 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Page 5",
|
||||
function () { $('#example_next').click(); },
|
||||
function () { return $('#example_info').html() == "Showing 41 to 50 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Rewind",
|
||||
function () { $('#example_length select').val('100'); $('#example_length select').change(); },
|
||||
function () { return $('#example_info').html() == "Showing 1 to 57 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,424 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
/*
|
||||
* NOTE: There are some differences in this zero config script for server-side
|
||||
* processing compared to the other data sources. The main reason for this is the
|
||||
* difference in how the server-side processing does it's filtering. Also the
|
||||
* sorting state is always reset on each draw.
|
||||
*/
|
||||
oTest.fnStart( "Sanity checks for DataTables with data from JS" );
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"jQuery.dataTable function",
|
||||
null,
|
||||
function () { return typeof jQuery().dataTable == "function"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"jQuery.dataTableSettings storage array",
|
||||
null,
|
||||
function () { return typeof jQuery().dataTableSettings == "object"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"jQuery.dataTableExt plugin object",
|
||||
null,
|
||||
function () { return typeof jQuery().dataTableExt == "object"; }
|
||||
);
|
||||
|
||||
$(document).ready( function () {
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
|
||||
/* Basic checks */
|
||||
oTest.fnWaitTest(
|
||||
"Length changing div exists",
|
||||
null,
|
||||
function () { return document.getElementById('example_length') != null; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Filtering div exists",
|
||||
null,
|
||||
function () { return document.getElementById('example_filter') != null; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Information div exists",
|
||||
null,
|
||||
function () { return document.getElementById('example_info') != null; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Pagination div exists",
|
||||
null,
|
||||
function () { return document.getElementById('example_paginate') != null; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Processing div is off by default",
|
||||
null,
|
||||
function () { return document.getElementById('example_processing') == null; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"10 rows shown on the first page",
|
||||
null,
|
||||
function () { return $('#example tbody tr').length == 10; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Initial sort occured",
|
||||
null,
|
||||
function () { return $('#example tbody td:eq(0)').html() == "Gecko"; }
|
||||
);
|
||||
|
||||
/* Need to use the WaitTest for sorting due to the setTimeout datatables uses */
|
||||
oTest.fnWaitTest(
|
||||
"Sorting (first click) on second column",
|
||||
function () { $('#example thead th:eq(1)').click(); },
|
||||
function () { return $('#example tbody td:eq(1)').html() == "All others"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Sorting (second click) on second column",
|
||||
function () { $('#example thead th:eq(1)').click(); },
|
||||
function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Sorting (third click) on second column",
|
||||
function () { $('#example thead th:eq(1)').click(); },
|
||||
function () { return $('#example tbody td:eq(1)').html() == "All others"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Sorting (first click) on numeric column",
|
||||
function () { $('#example thead th:eq(3)').click(); },
|
||||
function () { return $('#example tbody td:eq(3)').html() == "-"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Sorting (second click) on numeric column",
|
||||
function () { $('#example thead th:eq(3)').click(); },
|
||||
function () { return $('#example tbody td:eq(3)').html() == "522.1"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Sorting multi-column (first click)",
|
||||
function () {
|
||||
$('#example thead th:eq(0)').click();
|
||||
oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
|
||||
function () { var b =
|
||||
$('#example tbody td:eq(0)').html() == "Gecko" &&
|
||||
$('#example tbody td:eq(1)').html() == "Camino 1.0"; return b; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Sorting multi-column - sorting first column only",
|
||||
function () {
|
||||
$('#example thead th:eq(0)').click(); },
|
||||
function () { var b =
|
||||
$('#example tbody td:eq(0)').html() == "Gecko" &&
|
||||
$('#example tbody td:eq(1)').html() == "Firefox 1.0"; return b; }
|
||||
);
|
||||
|
||||
/* Basic paging */
|
||||
oTest.fnWaitTest(
|
||||
"Paging to second page",
|
||||
function () { $('#example_next').click(); },
|
||||
function () { return $('#example tbody td:eq(1)').html() == "Mozilla 1.1"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Paging to first page",
|
||||
function () { $('#example_previous').click(); },
|
||||
function () { return $('#example tbody td:eq(1)').html() == "Firefox 1.0"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Attempting to page back beyond the first page",
|
||||
function () { $('#example_previous').click(); },
|
||||
function () { return $('#example tbody td:eq(1)').html() == "Firefox 1.0"; }
|
||||
);
|
||||
|
||||
/* Changing length */
|
||||
oTest.fnWaitTest(
|
||||
"Changing table length to 25 records",
|
||||
function () { $("select[name=example_length]").val('25').change(); },
|
||||
function () { return $('#example tbody tr').length == 25; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Changing table length to 50 records",
|
||||
function () { $("select[name=example_length]").val('50').change(); },
|
||||
function () { return $('#example tbody tr').length == 50; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Changing table length to 100 records",
|
||||
function () { $("select[name=example_length]").val('100').change(); },
|
||||
function () { return $('#example tbody tr').length == 57; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Changing table length to 10 records",
|
||||
function () { $("select[name=example_length]").val('10').change(); },
|
||||
function () { return $('#example tbody tr').length == 10; }
|
||||
);
|
||||
|
||||
/*
|
||||
* Information element
|
||||
*/
|
||||
oTest.fnWaitTest(
|
||||
"Information on zero config",
|
||||
null,
|
||||
function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 10 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Information on second page",
|
||||
function () { $('#example_next').click(); },
|
||||
function () { return document.getElementById('example_info').innerHTML == "Showing 11 to 20 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Information on third page",
|
||||
function () { $('#example_next').click(); },
|
||||
function () { return document.getElementById('example_info').innerHTML == "Showing 21 to 30 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Information on last page",
|
||||
function () {
|
||||
$('#example_next').click();
|
||||
$('#example_next').click();
|
||||
$('#example_next').click();
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML == "Showing 51 to 57 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Information back on first page",
|
||||
function () {
|
||||
$('#example_previous').click();
|
||||
$('#example_previous').click();
|
||||
$('#example_previous').click();
|
||||
$('#example_previous').click();
|
||||
$('#example_previous').click();
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 10 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Information with 25 records",
|
||||
function () { $("select[name=example_length]").val('25').change(); },
|
||||
function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 25 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Information with 25 records - second page",
|
||||
function () { $('#example_next').click(); },
|
||||
function () { return document.getElementById('example_info').innerHTML == "Showing 26 to 50 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Information with 100 records - first page",
|
||||
function () {
|
||||
$('#example_previous').click();
|
||||
$("select[name=example_length]").val('100').change();
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 57 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Information back to 10 records",
|
||||
function () {
|
||||
$('#example_previous').click();
|
||||
$("select[name=example_length]").val('10').change();
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 10 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Information with filter 'Win'",
|
||||
function () { $('#example_filter input').val("Win").keyup(); },
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Information with filter 'Win' second page",
|
||||
function () { $('#example_next').click(); },
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 11 to 20 of 31 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Information with filter 'Win' last page",
|
||||
function () {
|
||||
$('#example_next').click();
|
||||
$('#example_next').click();
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 31 to 31 of 31 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Information with filter 'Win' back to first page",
|
||||
function () {
|
||||
$('#example_previous').click();
|
||||
$('#example_previous').click();
|
||||
$('#example_previous').click();
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Information with filter 'Win' second page - second time",
|
||||
function () {
|
||||
$('#example_next').click();
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 11 to 20 of 31 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Information with filter increased to 'Win 98'",
|
||||
function () { $('#example_filter input').val("Win 98").keyup(); },
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 9 of 9 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Information with filter decreased to 'Win'",
|
||||
function () { $('#example_filter input').val("Win").keyup(); },
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Information with filter 'Win' second page - third time",
|
||||
function () {
|
||||
$('#example_next').click();
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 11 to 20 of 31 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Information with filter removed",
|
||||
function () { $('#example_filter input').val("").keyup(); },
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 10 of 57 entries"; }
|
||||
);
|
||||
|
||||
|
||||
/*
|
||||
* Filtering
|
||||
*/
|
||||
oTest.fnWaitTest(
|
||||
"Filter 'W' - rows",
|
||||
function () {
|
||||
$('#example_filter input').val("W").keyup(); },
|
||||
function () { return $('#example tbody tr:eq(4) td:eq(1)').html() == "Netscape 7.2"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Filter 'W' - info",
|
||||
null,
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 10 of 42 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Filter 'Wi'",
|
||||
function () { $('#example_filter input').val("Wi").keyup(); },
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 10 of 32 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Filter 'Win'",
|
||||
function () { $('#example_filter input').val("Win").keyup(); },
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Filter 'Win' - sorting column 1",
|
||||
function () { $('#example thead th:eq(1)').click(); },
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "AOL browser (AOL desktop)"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Filter 'Win' - sorting column 1 info",
|
||||
null,
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Filter 'Win' - sorting column 1 reverse",
|
||||
function () { $('#example thead th:eq(1)').click(); },
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Seamonkey 1.1"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Filter 'Win XP' - maintaing reverse sorting col 1",
|
||||
function () { $('#example_filter input').val("Win XP").keyup(); },
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Internet Explorer 7"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Filter 'Win XP' - sorting col 3",
|
||||
function () { $('#example thead th:eq(3)').click(); },
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == "6"; }
|
||||
);
|
||||
|
||||
/* Note the filtering is different from the DOM since the server doesn't do
|
||||
* "smart filtering" like the client side does
|
||||
*/
|
||||
oTest.fnWaitTest(
|
||||
"Filter 'Win XP' - sorting col 3 - reversed",
|
||||
function () { $('#example thead th:eq(3)').click(); },
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == "7"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Filter 'Win' - sorting col 3 - reversed info",
|
||||
null,
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 2 of 2 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Filter 'nothinghere'",
|
||||
function () { $('#example_filter input').val("nothinghere").keyup(); },
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(0)').html() ==
|
||||
"No matching records found"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Filter 'nothinghere' - info",
|
||||
null,
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 0 to 0 of 0 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Filter back to blank and 1st column sorting",
|
||||
function () {
|
||||
$('#example_filter input').val("").keyup();
|
||||
$('#example thead th:eq(0)').click();
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 10 of 57 entries"; }
|
||||
);
|
||||
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,212 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "aaSorting" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Default sorting is single column",
|
||||
null,
|
||||
function () {
|
||||
return oSettings.aaSorting.length == 1 && typeof oSettings.aaSorting[0] == 'object';
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Default sorting is first column asc",
|
||||
null,
|
||||
function () {
|
||||
return oSettings.aaSorting[0].length == 3 && oSettings.aaSorting[0][0] == 0 &&
|
||||
oSettings.aaSorting[0][1] == 'asc';
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Sorting is applied",
|
||||
null,
|
||||
function () { return $('#example tbody td:eq(1)').html() == "Firefox 1.0"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Custom sorting on single string column asc",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"aaSorting": [['1','asc']]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(1)').html() == "All others"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Custom sorting on single string column desc",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"aaSorting": [['1','desc']]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Custom sorting on single int column asc",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"aaSorting": [['1','asc']]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(3)').html() == "-"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Custom sorting on single int column desc",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"aaSorting": [['1','desc']]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Multi-column sorting (2 column) - string asc / string asc",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"aaSorting": [['0','asc'], ['1','asc']]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(1)').html() == "Camino 1.0"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Multi-column sorting (2 column) - string asc / string desc",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"aaSorting": [['0','asc'], ['1','desc']]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Multi-column sorting (2 column) - string desc / string asc",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"aaSorting": [['0','desc'], ['1','asc']]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(1)').html() == "iPod Touch / iPhone"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Multi-column sorting (2 column) - string desc / string desc",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"aaSorting": [['0','desc'], ['1','desc']]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(1)').html() == "Safari 3.0"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Multi-column sorting (2 column) - string asc / int asc",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"aaSorting": [['0','asc'], ['3','asc']]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(3)').html() == "1"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Multi-column sorting (2 column) - string asc / int desc",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"aaSorting": [['0','asc'], ['3','desc']]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(3)').html() == "1.9"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Multi-column sorting (2 column) - string desc / int asc",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"aaSorting": [['0','desc'], ['3','asc']]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(3)').html() == "125.5"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Multi-column sorting (2 column) - string desc / int desc",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"aaSorting": [['0','desc'], ['3','desc']]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(3)').html() == "522.1"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Multi-column sorting (3 column) - string asc / int asc / string asc",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"aaSorting": [['0','asc'], ['3','asc'], ['1','asc']]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(7) td:eq(1)').html() == "Firefox 1.0"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,67 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "aaSortingFixed" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"No fixed sorting by default",
|
||||
null,
|
||||
function () {
|
||||
return oSettings.aaSortingFixed == null;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Fixed sorting on first column (string/asc) with user sorting on second column (string/asc)",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"aaSortingFixed": [['0','asc']]
|
||||
} );
|
||||
$('#example thead th:eq(1)').click();
|
||||
},
|
||||
function () { return $('#example tbody td:eq(1)').html() == "Camino 1.0"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Fixed sorting on first column (string/asc) with user sorting on second column (string/desc)",
|
||||
function () {
|
||||
$('#example thead th:eq(1)').click();
|
||||
},
|
||||
function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Fixed sorting on fourth column (int/asc) with user sorting on second column (string/asc)",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"aaSortingFixed": [['3','asc']]
|
||||
} );
|
||||
$('#example thead th:eq(1)').click();
|
||||
},
|
||||
function () { return $('#example tbody td:eq(1)').html() == "All others"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Fixed sorting on fourth column (int/asc) with user sorting on second column (string/desc)",
|
||||
function () {
|
||||
$('#example thead th:eq(1)').click();
|
||||
},
|
||||
function () { return $('#example tbody td:eq(1)').html() == "PSP browser"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,25 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "aoColumns.bSeachable" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Columns are searchable by default",
|
||||
function () { oTable.fnFilter("Camino"); },
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Camino 1.0"; }
|
||||
);
|
||||
|
||||
/* NOT ACTUALLY GOING TO TEST BSEARCHABLE HERE. Reason being is that it requires the server
|
||||
* side to alter it's processing, and this information about columns is not actually sent to
|
||||
* the server
|
||||
*/
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,112 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "aoColumns.bSortable" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"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.fnWaitTest(
|
||||
"Can disable sorting from one column",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"aoColumns": [
|
||||
null,
|
||||
{ "bSortable": false },
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
$('#example thead th:eq(1)').click();
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Firefox 1.0"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Disabled column has no sorting class",
|
||||
null,
|
||||
function () { return $('#example thead th:eq(1)').hasClass("sorting_asc") == false; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"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(1)').html() == "Internet Explorer 4.0"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Disable sorting on multiple columns - no sorting classes",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"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.fnWaitTest(
|
||||
"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() == "Firefox 1.0"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Sorting on disabled column 2 has no effect",
|
||||
function () {
|
||||
$('#example thead th:eq(3)').click();
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Firefox 1.0"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"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(1)').html() == "Firefox 1.0"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"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(1)').html() == "Internet Explorer 4.0"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,43 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
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( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"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.fnWaitTest(
|
||||
"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'; }
|
||||
);
|
||||
|
||||
/* Limited to what we can do here as the sorting is done on the server side. So stop here. */
|
||||
|
||||
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,123 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "aoColumns.bVisible" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"All columns are visible by default",
|
||||
null,
|
||||
function () { return $('#example tbody tr:eq(0) td').length == 5; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Can hide one column and it removes td column from DOM",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"aoColumns": [
|
||||
null,
|
||||
{ "bVisible": false },
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td').length == 4; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Can hide one column and it removes thead th column from DOM",
|
||||
null,
|
||||
function () { return $('#example thead tr:eq(0) th').length == 4; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"The correct thead column has been hidden",
|
||||
null,
|
||||
function () {
|
||||
var jqNodes = $('#example thead tr:eq(0) th');
|
||||
var bReturn =
|
||||
jqNodes[0].innerHTML == "Rendering engine" &&
|
||||
jqNodes[1].innerHTML == "Platform(s)" &&
|
||||
jqNodes[2].innerHTML == "Engine version" &&
|
||||
jqNodes[3].innerHTML == "CSS grade";
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"The correct tbody column has been hidden",
|
||||
null,
|
||||
function () {
|
||||
var jqNodes = $('#example tbody tr:eq(0) td');
|
||||
var bReturn =
|
||||
jqNodes[0].innerHTML == "Gecko" &&
|
||||
jqNodes[1].innerHTML == "Win 98+ / OSX.2+" &&
|
||||
jqNodes[2].innerHTML == "1.7" &&
|
||||
jqNodes[3].innerHTML == "A";
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Can hide multiple columns and it removes td column from DOM",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"aoColumns": [
|
||||
null,
|
||||
{ "bVisible": false },
|
||||
{ "bVisible": false },
|
||||
null,
|
||||
{ "bVisible": false }
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td').length == 2; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Multiple hide - removes thead th column from DOM",
|
||||
null,
|
||||
function () { return $('#example thead tr:eq(0) th').length == 2; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Multiple hide - the correct thead columns have been hidden",
|
||||
null,
|
||||
function () {
|
||||
var jqNodes = $('#example thead tr:eq(0) th');
|
||||
var bReturn =
|
||||
jqNodes[0].innerHTML == "Rendering engine" &&
|
||||
jqNodes[1].innerHTML == "Engine version"
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Multiple hide - the correct tbody columns have been hidden",
|
||||
null,
|
||||
function () {
|
||||
var jqNodes = $('#example tbody tr:eq(0) td');
|
||||
var bReturn =
|
||||
jqNodes[0].innerHTML == "Gecko" &&
|
||||
jqNodes[1].innerHTML == "1.7"
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,189 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "aoColumns.fnRender" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var mTmp = 0;
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"aoColumns": [
|
||||
null,
|
||||
{ "fnRender": function (a) {
|
||||
mTmp++;
|
||||
return a.aData[a.iDataColumn];
|
||||
} },
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Single column - fnRender is called once for each row",
|
||||
null,
|
||||
function () { return mTmp == 10; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Confirm that fnRender passes one argument (an object) with three parameters",
|
||||
function () {
|
||||
mTmp = true;
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"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.fnWaitTest(
|
||||
"fnRender iDataColumn is row number",
|
||||
function () {
|
||||
var iCount = 0;
|
||||
mTmp = true;
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"aoColumns": [
|
||||
null,
|
||||
{ "fnRender": function (a) {
|
||||
if ( iCount != a.iDataRow )
|
||||
{
|
||||
mTmp = false;
|
||||
}
|
||||
iCount++;
|
||||
return a.aData[a.iDataColumn];
|
||||
} },
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () { return mTmp; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"fnRender iDataColumn is the column",
|
||||
function () {
|
||||
mTmp = true;
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"aoColumns": [
|
||||
null,
|
||||
{ "fnRender": function (a) {
|
||||
if ( a.iDataColumn != 1 )
|
||||
{
|
||||
mTmp = false;
|
||||
}
|
||||
return a.aData[a.iDataColumn];
|
||||
} },
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () { return mTmp; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"fnRender aData is data array of correct size",
|
||||
function () {
|
||||
mTmp = true;
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"aoColumns": [
|
||||
null,
|
||||
{ "fnRender": function (a) {
|
||||
if ( a.aData.length != 5 )
|
||||
{
|
||||
mTmp = false;
|
||||
}
|
||||
return a.aData[a.iDataColumn];
|
||||
} },
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () { return mTmp; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Passed back data is put into the DOM",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"aoColumns": [
|
||||
null,
|
||||
{ "fnRender": function (a) {
|
||||
return 'unittest';
|
||||
} },
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'unittest'; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Passed back data is put into the DOM",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"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();
|
||||
} );
|
118
public/js/datatables/unit_testing/tests_onhold/4_server-side/aoColumns.sClass.js
Executable file
118
public/js/datatables/unit_testing/tests_onhold/4_server-side/aoColumns.sClass.js
Executable file
|
@ -0,0 +1,118 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "aoColumns.sClass" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"By default the test class hasn't been applied to the column (sanity!)",
|
||||
null,
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(2)').hasClass('unittest') == false; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Add a class to a single column - first row",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"aoColumns": [
|
||||
null,
|
||||
null,
|
||||
{ "sClass": 'unittest' },
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(1) td:eq(2)').hasClass('unittest'); }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Add a class to a single column - third row",
|
||||
null,
|
||||
function () { return $('#example tbody tr:eq(3) td:eq(2)').hasClass('unittest'); }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Add a class to a single column - last row",
|
||||
null,
|
||||
function () { return $('#example tbody tr:eq(9) td:eq(2)').hasClass('unittest'); }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Add a class to a single column - has not applied to other columns - 1st",
|
||||
null,
|
||||
function () { return $('#example tbody tr:eq(3) td:eq(0)').hasClass('unittest') == false; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Add a class to a single column - has not applied to other columns - 5th",
|
||||
null,
|
||||
function () { return $('#example tbody tr:eq(3) td:eq(4)').hasClass('unittest') == false; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Add a class to a single column - seventh row - second page",
|
||||
function () { $('#example_next').click(); },
|
||||
function () { return $('#example tbody tr:eq(6) td:eq(2)').hasClass('unittest'); }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Add a class to a single column - has not applied to header",
|
||||
null,
|
||||
function () { return $('#example thead tr:eq(3) th:eq(4)').hasClass('unittest') == false; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Add a class to a single column - has not applied to footer",
|
||||
null,
|
||||
function () { return $('#example thead tr:eq(3) th:eq(4)').hasClass('unittest') == false; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Class defined for multiple columns - first row",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"aoColumns": [
|
||||
{ "sClass": 'unittest2' },
|
||||
null,
|
||||
null,
|
||||
{ "sClass": 'unittest1' },
|
||||
null
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () {
|
||||
var bReturn =
|
||||
$('#example tbody tr:eq(3) td:eq(0)').hasClass('unittest2') &&
|
||||
$('#example tbody tr:eq(8) td:eq(3)').hasClass('unittest1');
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Class defined for multiple columns - has not applied to other columns - 5th 1",
|
||||
null,
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(4)').hasClass('unittest1') == false; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Class defined for multiple columns - has not applied to other columns - 5th 2",
|
||||
null,
|
||||
function () { return $('#example tbody tr:eq(6) td:eq(4)').hasClass('unittest2') == false; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,29 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "aoColumns.sName" );
|
||||
|
||||
/* This has no effect at all in DOM methods - so we just check that it has applied the name */
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"aoColumns": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
{ "sName": 'unit test' },
|
||||
null
|
||||
]
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Names are stored in the columns object",
|
||||
null,
|
||||
function () { return oSettings.aoColumns[3].sName =="unit test"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,85 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "aoColumns.sTitle" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"If not given, then the columns titles are empty",
|
||||
null,
|
||||
function () {
|
||||
var jqNodes = $('#example thead tr:eq(0) th');
|
||||
var bReturn =
|
||||
jqNodes[0].innerHTML == "Rendering engine" &&
|
||||
jqNodes[1].innerHTML == "Browser" &&
|
||||
jqNodes[2].innerHTML == "Platform(s)" &&
|
||||
jqNodes[3].innerHTML == "Engine version" &&
|
||||
jqNodes[4].innerHTML == "CSS grade";
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Can set a single column title - and others are read from DOM",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"aoColumns": [
|
||||
null,
|
||||
{ "sTitle": 'unit test' },
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () {
|
||||
var jqNodes = $('#example thead tr:eq(0) th');
|
||||
var bReturn =
|
||||
jqNodes[0].innerHTML == "Rendering engine" &&
|
||||
jqNodes[1].innerHTML == "unit test" &&
|
||||
jqNodes[2].innerHTML == "Platform(s)" &&
|
||||
jqNodes[3].innerHTML == "Engine version" &&
|
||||
jqNodes[4].innerHTML == "CSS grade";
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Can set multiple column titles",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"aoColumns": [
|
||||
null,
|
||||
{ "sTitle": 'unit test 1' },
|
||||
null,
|
||||
null,
|
||||
{ "sTitle": 'unit test 2' }
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () {
|
||||
var jqNodes = $('#example thead tr:eq(0) th');
|
||||
var bReturn =
|
||||
jqNodes[0].innerHTML == "Rendering engine" &&
|
||||
jqNodes[1].innerHTML == "unit test 1" &&
|
||||
jqNodes[2].innerHTML == "Platform(s)" &&
|
||||
jqNodes[3].innerHTML == "Engine version" &&
|
||||
jqNodes[4].innerHTML == "unit test 2";
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,90 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
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( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"bAutoWidth": false,
|
||||
"aoColumns": [
|
||||
null,
|
||||
{ "sWidth": '40%' },
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"With auto width disabled the width for one column is appled",
|
||||
null,
|
||||
function () { return $('#example thead th:eq(1)')[0].style.width == "40%"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"With auto width disabled the width for one column is appled",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"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.fnWaitTest(
|
||||
"With auto width, it will make the smallest column the largest with percentage width given",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"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();
|
||||
} );
|
|
@ -0,0 +1,70 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "aoSearchCols" );
|
||||
|
||||
/* We could be here forever testing this one, so we test a limited subset on a couple of colums */
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing_filter_col.php"
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Default should be to have a empty colums array",
|
||||
null,
|
||||
function () {
|
||||
var bReturn =
|
||||
oSettings.aoPreSearchCols[0].sSearch == 0 && !oSettings.aoPreSearchCols[0].bRegex &&
|
||||
oSettings.aoPreSearchCols[1].sSearch == 0 && !oSettings.aoPreSearchCols[1].bRegex &&
|
||||
oSettings.aoPreSearchCols[2].sSearch == 0 && !oSettings.aoPreSearchCols[2].bRegex &&
|
||||
oSettings.aoPreSearchCols[3].sSearch == 0 && !oSettings.aoPreSearchCols[3].bRegex &&
|
||||
oSettings.aoPreSearchCols[4].sSearch == 0 && !oSettings.aoPreSearchCols[4].bRegex;
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Search on a single column - no regex statement given",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing_filter_col.php",
|
||||
"aoSearchCols": [
|
||||
null,
|
||||
{ "sSearch": "Mozilla" },
|
||||
null,
|
||||
{ "sSearch": "1" },
|
||||
null
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == "1"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Search on two columns - no regex statement given",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing_filter_col.php",
|
||||
"aoSearchCols": [
|
||||
null,
|
||||
{ "sSearch": "Mozilla" },
|
||||
null,
|
||||
{ "sSearch": "1.5" },
|
||||
null
|
||||
]
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == "1.5"; }
|
||||
);
|
||||
|
||||
/* No regex escape searches here - would need to be implemented on the server-side */
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,109 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "asStripClasses" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Default row striping is applied",
|
||||
null,
|
||||
function () {
|
||||
return $('#example tbody tr:eq(0)').hasClass('odd') &&
|
||||
$('#example tbody tr:eq(1)').hasClass('even') &&
|
||||
$('#example tbody tr:eq(2)').hasClass('odd') &&
|
||||
$('#example tbody tr:eq(3)').hasClass('even');
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Row striping on the second page",
|
||||
function () { $('#example_next').click(); },
|
||||
function () {
|
||||
return $('#example tbody tr:eq(0)').hasClass('odd') &&
|
||||
$('#example tbody tr:eq(1)').hasClass('even') &&
|
||||
$('#example tbody tr:eq(2)').hasClass('odd') &&
|
||||
$('#example tbody tr:eq(3)').hasClass('even');
|
||||
}
|
||||
);
|
||||
|
||||
/* No striping */
|
||||
oTest.fnWaitTest(
|
||||
"No row striping",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"asStripClasses": []
|
||||
} );
|
||||
},
|
||||
function () {
|
||||
if ( typeof $('#example tbody tr:eq(1)')[0] == 'undefined' )
|
||||
{
|
||||
/* Use the 'wait for' to allow this to become true */
|
||||
return false;
|
||||
}
|
||||
return $('#example tbody tr:eq(0)')[0].className == "" &&
|
||||
$('#example tbody tr:eq(1)')[0].className == "" &&
|
||||
$('#example tbody tr:eq(2)')[0].className == "" &&
|
||||
$('#example tbody tr:eq(3)')[0].className == "";
|
||||
}
|
||||
);
|
||||
|
||||
/* Custom striping */
|
||||
oTest.fnWaitTest(
|
||||
"Custom striping [2]",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"asStripClasses": [ 'test1', 'test2' ]
|
||||
} );
|
||||
},
|
||||
function () {
|
||||
return $('#example tbody tr:eq(0)').hasClass('test1') &&
|
||||
$('#example tbody tr:eq(1)').hasClass('test2') &&
|
||||
$('#example tbody tr:eq(2)').hasClass('test1') &&
|
||||
$('#example tbody tr:eq(3)').hasClass('test2');
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
/* long array of striping */
|
||||
oTest.fnWaitTest(
|
||||
"Custom striping [4]",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"asStripClasses": [ 'test1', 'test2', 'test3', 'test4' ]
|
||||
} );
|
||||
},
|
||||
function () {
|
||||
return $('#example tbody tr:eq(0)').hasClass('test1') &&
|
||||
$('#example tbody tr:eq(1)').hasClass('test2') &&
|
||||
$('#example tbody tr:eq(2)').hasClass('test3') &&
|
||||
$('#example tbody tr:eq(3)').hasClass('test4');
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Custom striping is restarted on second page [2]",
|
||||
function () { $('#example_next').click(); },
|
||||
function () {
|
||||
return $('#example tbody tr:eq(0)').hasClass('test1') &&
|
||||
$('#example tbody tr:eq(1)').hasClass('test2') &&
|
||||
$('#example tbody tr:eq(2)').hasClass('test3') &&
|
||||
$('#example tbody tr:eq(3)').hasClass('test4');
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,145 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "bAutoWidth" );
|
||||
|
||||
/* It's actually a little tricky to test this. We can't test absolute numbers because
|
||||
* different browsers and different platforms will render the width of the columns slightly
|
||||
* differently. However, we certainly can test the principle of what should happen (column
|
||||
* width doesn't change over pages)
|
||||
*/
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Auto width is enabled by default",
|
||||
null,
|
||||
function () { return oSettings.oFeatures.bAutoWidth; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"First column has a width assigned to it",
|
||||
null,
|
||||
function () { return $('#example thead th:eq(0)').attr('style').match(/width/i); }
|
||||
);
|
||||
|
||||
/*
|
||||
This would seem like a better test - but there appear to be difficulties with tables
|
||||
which are bigger (calculated) than there is actually room for. I suspect this is actually
|
||||
a bug in datatables
|
||||
oTest.fnWaitTest(
|
||||
"Check column widths on first page match second page",
|
||||
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;
|
||||
$('#example_next').click();
|
||||
var b0 = anThs[0].offsetWidth;
|
||||
var b1 = anThs[1].offsetWidth;
|
||||
var b2 = anThs[2].offsetWidth;
|
||||
var b3 = anThs[3].offsetWidth;
|
||||
var b4 = anThs[4].offsetWidth;
|
||||
console.log( a0, b0, a1, b1, a2, b2, a3, b3 );
|
||||
if ( a0==b0 && a1==b1 && a2==b2 && a3==b3 )
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Check column widths on second page match thid page",
|
||||
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;
|
||||
$('#example_next').click();
|
||||
var b0 = anThs[0].offsetWidth;
|
||||
var b1 = anThs[1].offsetWidth;
|
||||
var b2 = anThs[2].offsetWidth;
|
||||
var b3 = anThs[3].offsetWidth;
|
||||
var b4 = anThs[4].offsetWidth;
|
||||
if ( a0==b0 && a1==b1 && a2==b2 && a3==b3 )
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
);
|
||||
*/
|
||||
|
||||
/* Check can disable */
|
||||
oTest.fnWaitTest(
|
||||
"Auto width can be disabled",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"bAutoWidth": false
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
},
|
||||
function () { return oSettings.oFeatures.bAutoWidth == false; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"First column does not have a width assigned to it",
|
||||
null,
|
||||
function () { return $('#example thead th:eq(0)').attr('style') == null; }
|
||||
);
|
||||
|
||||
/*
|
||||
oTest.fnWaitTest(
|
||||
"Check column widths on first page do not match second page",
|
||||
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;
|
||||
$('#example_next').click();
|
||||
var b0 = anThs[0].offsetWidth;
|
||||
var b1 = anThs[1].offsetWidth;
|
||||
var b2 = anThs[2].offsetWidth;
|
||||
var b3 = anThs[3].offsetWidth;
|
||||
var b4 = anThs[4].offsetWidth;
|
||||
if ( a0==b0 && a1==b1 && a2==b2 && a3==b3 )
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
}
|
||||
);
|
||||
*/
|
||||
|
||||
/* Enable makes no difference */
|
||||
oTest.fnWaitTest(
|
||||
"Auto width enabled override",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"bAutoWidth": true
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
},
|
||||
function () { return oSettings.oFeatures.bAutoWidth; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,47 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "bFilter" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Filtering div exists by default",
|
||||
null,
|
||||
function () { return document.getElementById('example_filter') != null; }
|
||||
);
|
||||
|
||||
/* Check can disable */
|
||||
oTest.fnWaitTest(
|
||||
"Fltering can be disabled",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"bFilter": false
|
||||
} );
|
||||
},
|
||||
function () { return document.getElementById('example_filter') == null; }
|
||||
);
|
||||
|
||||
/* Enable makes no difference */
|
||||
oTest.fnWaitTest(
|
||||
"Filtering enabled override",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"bFilter": true
|
||||
} );
|
||||
},
|
||||
function () { return document.getElementById('example_filter') != null; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
168
public/js/datatables/unit_testing/tests_onhold/4_server-side/bInfiniteScroll.js
Executable file
168
public/js/datatables/unit_testing/tests_onhold/4_server-side/bInfiniteScroll.js
Executable file
|
@ -0,0 +1,168 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "bInfiniteScroll" );
|
||||
|
||||
|
||||
$(document).ready( function () {
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bScrollInfinite": true,
|
||||
"sScrollY": "200px",
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"10 rows by default",
|
||||
null,
|
||||
function () { return $('#example tbody tr').length == 10; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Info",
|
||||
null,
|
||||
function () { return $('#example_info').html() == "Showing 1 to 10 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Get nodes",
|
||||
null,
|
||||
function () { return $('#example tbody>tr').length == 10; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Get nodes function",
|
||||
null,
|
||||
function () { return $('#example').dataTable().fnGetNodes().length == 10; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Scroll on 20px adds 10 rows",
|
||||
function () { $('div.dataTables_scrollBody').scrollTop(20); },
|
||||
function () { return $('#example tbody tr').length == 20; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Info after 20px scroll",
|
||||
null,
|
||||
function () { return $('#example_info').html() == "Showing 1 to 20 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Get nodes after 20px scroll",
|
||||
null,
|
||||
function () { return $('#example tbody>tr').length == 20; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Get nodes function after 20px scroll",
|
||||
null,
|
||||
function () { return $('#example').dataTable().fnGetNodes().length == 20; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Scroll on 10px more results in the same number of rows",
|
||||
function () { $('div.dataTables_scrollBody').scrollTop(30); },
|
||||
function () { return $('#example tbody tr').length == 20; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Info after 10 more px scroll",
|
||||
null,
|
||||
function () { return $('#example_info').html() == "Showing 1 to 20 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Scroll to 280px adds another 10 rows",
|
||||
function () { $('div.dataTables_scrollBody').scrollTop(280); },
|
||||
function () { return $('#example tbody tr').length == 30; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Info after 240px scroll",
|
||||
null,
|
||||
function () { return $('#example_info').html() == "Showing 1 to 30 of 57 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Get nodes after 240px scroll",
|
||||
null,
|
||||
function () { return $('#example tbody>tr').length == 30; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Get nodes function after 240px scroll",
|
||||
null,
|
||||
function () { return $('#example').dataTable().fnGetNodes().length == 30; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Filtering will drop back to 10 rows",
|
||||
function () { oTable.fnFilter('gec') },
|
||||
function () { return $('#example tbody tr').length == 10; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Info after filtering",
|
||||
null,
|
||||
function () { return $('#example_info').html() == "Showing 1 to 10 of 20 entries (filtered from 57 total entries)"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Get nodes after filtering",
|
||||
null,
|
||||
function () { return $('#example tbody>tr').length == 10; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Get nodes function after filtering",
|
||||
null,
|
||||
function () { return $('#example').dataTable().fnGetNodes().length == 10; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Scroll after filtering adds 10",
|
||||
function () { $('div.dataTables_scrollBody').scrollTop(20); },
|
||||
function () { return $('#example tbody tr').length == 20; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Get nodes after filtering",
|
||||
null,
|
||||
function () { return $('#example tbody>tr').length == 20; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Get nodes function after filtering",
|
||||
null,
|
||||
function () { return $('#example').dataTable().fnGetNodes().length == 20; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Sorting will drop back to 10 rows",
|
||||
function () {
|
||||
$('div.dataTables_scrollBody').scrollTop(0);
|
||||
oTable.fnSort([[1,'asc']])
|
||||
},
|
||||
function () { return $('#example tbody tr').length == 10; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Scroll after sorting adds 10",
|
||||
function () { $('div.dataTables_scrollBody').scrollTop(20); },
|
||||
function () { return $('#example tbody tr').length == 20; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Get nodes after scrolling",
|
||||
null,
|
||||
function () { return $('#example tbody>tr').length == 20; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Get nodes function after scrolling",
|
||||
null,
|
||||
function () { return $('#example').dataTable().fnGetNodes().length == 20; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,47 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "bInfo" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Info div exists by default",
|
||||
null,
|
||||
function () { return document.getElementById('example_info') != null; }
|
||||
);
|
||||
|
||||
/* Check can disable */
|
||||
oTest.fnWaitTest(
|
||||
"Info can be disabled",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"bInfo": false
|
||||
} );
|
||||
},
|
||||
function () { return document.getElementById('example_info') == null; }
|
||||
);
|
||||
|
||||
/* Enable makes no difference */
|
||||
oTest.fnWaitTest(
|
||||
"Info enabled override",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"bInfo": true
|
||||
} );
|
||||
},
|
||||
function () { return document.getElementById('example_info') != null; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,78 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "bLengthChange" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Length div exists by default",
|
||||
null,
|
||||
function () { return document.getElementById('example_length') != null; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Four default options",
|
||||
null,
|
||||
function () { return $("select[name=example_length] option").length == 4; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Default options",
|
||||
null,
|
||||
function () {
|
||||
var opts = $("select[name='example_length'] option");
|
||||
return opts[0].getAttribute('value') == 10 && opts[1].getAttribute('value') == 25 &&
|
||||
opts[2].getAttribute('value') == 50 && opts[3].getAttribute('value') == 100;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Info takes length into account",
|
||||
null,
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 10 of 57 entries"; }
|
||||
);
|
||||
|
||||
/* Check can disable */
|
||||
oTest.fnWaitTest(
|
||||
"Change length can be disabled",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"bLengthChange": false
|
||||
} );
|
||||
},
|
||||
function () { return document.getElementById('example_length') == null; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Information takes length disabled into account",
|
||||
null,
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 10 of 57 entries"; }
|
||||
);
|
||||
|
||||
/* Enable makes no difference */
|
||||
oTest.fnWaitTest(
|
||||
"Length change enabled override",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"bLengthChange": true
|
||||
} );
|
||||
},
|
||||
function () { return document.getElementById('example_length') != null; }
|
||||
);
|
||||
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,62 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "bPaginate" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Pagiantion div exists by default",
|
||||
null,
|
||||
function () { return document.getElementById('example_paginate') != null; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Information div takes paging into account",
|
||||
null,
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 10 of 57 entries"; }
|
||||
);
|
||||
|
||||
/* Check can disable */
|
||||
oTest.fnWaitTest(
|
||||
"Pagiantion can be disabled",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"bPaginate": false
|
||||
} );
|
||||
},
|
||||
function () { return document.getElementById('example_paginate') == null; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Information div takes paging disabled into account",
|
||||
null,
|
||||
function () { return document.getElementById('example_info').innerHTML ==
|
||||
"Showing 1 to 57 of 57 entries"; }
|
||||
);
|
||||
|
||||
/* Enable makes no difference */
|
||||
oTest.fnWaitTest(
|
||||
"Pagiantion enabled override",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"bPaginate": true
|
||||
} );
|
||||
},
|
||||
function () { return document.getElementById('example_paginate') != null; }
|
||||
);
|
||||
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,106 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "bProcessing" );
|
||||
|
||||
/* It's actually a bit hard to set this one due to the fact that it will only be shown
|
||||
* when DataTables is doing some kind of processing. The server-side processing is a bit
|
||||
* better to test this than here - so we just the interal functions to enable it and check
|
||||
* that it is available
|
||||
*/
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Processing is off by default",
|
||||
null,
|
||||
function () { return oSettings.oFeatures.bProcessing == false; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Processing div is not in the DOM",
|
||||
function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
|
||||
function () { return document.getElementById('example_processing') == null; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Processing div cannot be shown",
|
||||
function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
|
||||
function () { return document.getElementById('example_processing') == null; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Processing div cannot be hidden",
|
||||
function () { oTable.oApi._fnProcessingDisplay( oSettings, false ); },
|
||||
function () { return document.getElementById('example_processing') == null; }
|
||||
);
|
||||
|
||||
|
||||
/* Check can disable */
|
||||
oTest.fnWaitTest(
|
||||
"Processing can be enabled",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"bProcessing": true
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
},
|
||||
function () { return oSettings.oFeatures.bProcessing == true; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Processing div is in the DOM",
|
||||
function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
|
||||
function () { return document.getElementById('example_processing'); }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Processing div is hidden by default",
|
||||
function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
|
||||
function () { return document.getElementById('example_processing').style.visibility = "hidden"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Processing div can be shown",
|
||||
function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
|
||||
function () { return document.getElementById('example_processing').style.visibility = "visible"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Processing div can be hidden",
|
||||
function () { oTable.oApi._fnProcessingDisplay( oSettings, false ); },
|
||||
function () { return document.getElementById('example_processing').style.visibility = "hidden"; }
|
||||
);
|
||||
|
||||
/* Enable makes no difference */
|
||||
oTest.fnWaitTest(
|
||||
"Processing disabled override",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"bProcessing": false
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
},
|
||||
function () { return oSettings.oFeatures.bProcessing == false; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Processing div is not in the DOM",
|
||||
function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
|
||||
function () { return document.getElementById('example_processing') == null; }
|
||||
);
|
||||
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,21 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "bServerSide" );
|
||||
|
||||
/* All the other scripts blast the ssp processing */
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Server side can be set to on",
|
||||
null,
|
||||
function () { return oSettings.oFeatures.bServerSide == true; }
|
||||
);
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,102 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "bSort" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Sorting is on by default",
|
||||
null,
|
||||
function () { return $('#example tbody td:eq(1)').html() == "Firefox 1.0"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Sorting Asc by default class applied",
|
||||
null,
|
||||
function () { return $('#example thead th:eq(0)').hasClass("sorting_asc"); }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Click on second column",
|
||||
function () { $('#example thead th:eq(1)').click(); },
|
||||
function () { return $('#example tbody td:eq(1)').html() == "All others"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Sorting class removed from first column",
|
||||
null,
|
||||
function () { return $('#example thead th:eq(0)').hasClass("sorting_asc") != true; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Sorting asc class applied to second column",
|
||||
null,
|
||||
function () { return $('#example thead th:eq(1)').hasClass("sorting_asc"); }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Reverse on second column",
|
||||
function () { $('#example thead th:eq(1)').click(); },
|
||||
function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Sorting acs class removed from second column",
|
||||
null,
|
||||
function () { return $('#example thead th:eq(1)').hasClass("sorting_asc") != true; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Sorting desc class applied to second column",
|
||||
null,
|
||||
function () { return $('#example thead th:eq(1)').hasClass("sorting_desc"); }
|
||||
);
|
||||
|
||||
/* Check can disable */
|
||||
oTest.fnWaitTest(
|
||||
"Pagiantion can be disabled",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"bSort": false
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(3)').html() == "4"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Click on second column has no effect",
|
||||
function () { $('#example thead th:eq(1)').click(); },
|
||||
function () { return $('#example tbody td:eq(3)').html() == "4"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Reverse on second column has no effect",
|
||||
function () { $('#example thead th:eq(1)').click(); },
|
||||
function () { return $('#example tbody td:eq(3)').html() == "4"; }
|
||||
);
|
||||
|
||||
/* Enable makes no difference */
|
||||
oTest.fnWaitTest(
|
||||
"Sorting enabled override",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"bSort": true
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody td:eq(1)').html() == "Firefox 1.0"; }
|
||||
);
|
||||
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,135 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "bSortClasses" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Sorting classes are applied by default",
|
||||
null,
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1'); }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Sorting classes are applied to all required cells",
|
||||
null,
|
||||
function () { return $('#example tbody tr:eq(7) td:eq(0)').hasClass('sorting_1'); }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Sorting classes are not applied to non-sorting columns",
|
||||
null,
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_1') == false; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Sorting multi-column - add column 1",
|
||||
function () {
|
||||
oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
|
||||
function () {
|
||||
return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
|
||||
$('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2');
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Sorting multi-column - add column 2",
|
||||
function () {
|
||||
oDispacher.click( $('#example thead th:eq(2)')[0], { 'shift': true } ); },
|
||||
function () {
|
||||
return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
|
||||
$('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') &&
|
||||
$('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3');
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Sorting multi-column - add column 3",
|
||||
function () {
|
||||
oDispacher.click( $('#example thead th:eq(3)')[0], { 'shift': true } );
|
||||
},
|
||||
function () {
|
||||
return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
|
||||
$('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') &&
|
||||
$('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') &&
|
||||
$('#example tbody tr:eq(0) td:eq(3)').hasClass('sorting_3');
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Remove sorting classes on single column sort",
|
||||
function () {
|
||||
$('#example thead th:eq(4)').click();
|
||||
},
|
||||
function () {
|
||||
return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
|
||||
$('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false &&
|
||||
$('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') == false &&
|
||||
$('#example tbody tr:eq(0) td:eq(3)').hasClass('sorting_3') == false;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Sorting class 1 was added",
|
||||
null,
|
||||
function () { return $('#example tbody tr:eq(1) td:eq(4)').hasClass('sorting_1'); }
|
||||
);
|
||||
|
||||
|
||||
/* Check can disable */
|
||||
oTest.fnWaitTest(
|
||||
"Sorting classes can be disabled",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"bSortClasses": false
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Sorting classes disabled - add column 1 - no effect",
|
||||
function () {
|
||||
oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
|
||||
function () {
|
||||
return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
|
||||
$('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Sorting classes disabled - add column 2 - no effect",
|
||||
function () {
|
||||
oDispacher.click( $('#example thead th:eq(2)')[0], { 'shift': true } ); },
|
||||
function () {
|
||||
return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
|
||||
$('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false &&
|
||||
$('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') == false;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
/* Enable makes no difference */
|
||||
oTest.fnWaitTest(
|
||||
"Sorting classes enabled override",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"bSortClasses": true
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1'); }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,89 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "fnDrawCallback" );
|
||||
|
||||
/* Fairly boring function compared to the others! */
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
var mPass;
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Default should be null",
|
||||
null,
|
||||
function () { return oSettings.fnDrawCallback == null; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"One argument passed",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = -1;
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"fnDrawCallback": function ( ) {
|
||||
mPass = arguments.length;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass == 1; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"That one argument is the settings object",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"fnDrawCallback": function ( oSettings ) {
|
||||
mPass = oSettings;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return oTable.fnSettings() == mPass; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"fnRowCallback called once on first draw",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = 0;
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"fnDrawCallback": function ( ) {
|
||||
mPass++;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass == 1; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"fnRowCallback called once on each draw there after as well",
|
||||
function () {
|
||||
$('#example_next').click();
|
||||
$('#example_next').click();
|
||||
$('#example_next').click();
|
||||
},
|
||||
function () { return mPass > 1; }
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,191 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "fnHeaderCallback" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
var mPass;
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Default should be null",
|
||||
null,
|
||||
function () { return oSettings.fnHeaderCallback == null; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Five arguments passed",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = -1;
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"fnHeaderCallback": function ( ) {
|
||||
mPass = arguments.length;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass == 5; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"fnRowCallback called once per draw",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = 0;
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
|
||||
mPass++;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass == 1; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"fnRowCallback called on paging (i.e. another draw)",
|
||||
function () { $('#example_next').click(); },
|
||||
function () { return mPass == 2; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"fnRowCallback allows us to alter row information",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
|
||||
nHead.getElementsByTagName('th')[0].innerHTML = "Displaying "+(iEnd-iStart)+" records";
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return $('#example thead th:eq(0)').html() == "Displaying 10 records"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"iStart correct on first page",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = true;
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
|
||||
if ( iStart != 0 )
|
||||
{
|
||||
mPass = false;
|
||||
}
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"iStart correct on second page",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = false;
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
|
||||
if ( iStart == 0 )
|
||||
{
|
||||
mPass = true;
|
||||
}
|
||||
},
|
||||
"fnInitComplete": function () {
|
||||
$('#example_next').click();
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"iEnd correct on second page",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = false;
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
|
||||
if ( iEnd == 10 )
|
||||
{
|
||||
mPass = true;
|
||||
}
|
||||
},
|
||||
"fnInitComplete": function () {
|
||||
$('#example_next').click();
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"aiDisplay length is full data when not filtered",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = false;
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
|
||||
if ( aiDisplay.length == 10 )
|
||||
{
|
||||
mPass = true;
|
||||
}
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"aiDisplay length is 9 when filtering on 'Mozilla'",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = false;
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
|
||||
if ( aiDisplay.length == 9 )
|
||||
{
|
||||
mPass = true;
|
||||
}
|
||||
}
|
||||
} );
|
||||
oTable.fnFilter( "Mozilla" );
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,105 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "fnInitComplete" );
|
||||
|
||||
/* Fairly boring function compared to the others! */
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
var mPass;
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Default should be null",
|
||||
null,
|
||||
function () { return oSettings.fnInitComplete == null; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"One argument passed",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = -1;
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"fnInitComplete": function ( ) {
|
||||
mPass = arguments.length;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass == 1; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"That one argument is the settings object",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"fnInitComplete": function ( oSettings ) {
|
||||
mPass = oSettings;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return oTable.fnSettings() == mPass; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"fnInitComplete called once on first draw",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = 0;
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"fnInitComplete": function ( ) {
|
||||
mPass++;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass == 1; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"fnInitComplete never called there after",
|
||||
function () {
|
||||
$('#example_next').click();
|
||||
$('#example_next').click();
|
||||
$('#example_next').click();
|
||||
},
|
||||
function () { return mPass == 1; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"10 rows in the table on complete",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = 0;
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"fnInitComplete": function ( ) {
|
||||
mPass = $('#example tbody tr').length;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass == 10; }
|
||||
);
|
||||
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,118 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "fnRowCallback" );
|
||||
|
||||
/* Note - fnRowCallback MUST return the first arguments (modified or not) */
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
var mPass;
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Default should be null",
|
||||
null,
|
||||
function () { return oSettings.fnRowCallback == null; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Four arguments passed",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = -1;
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"fnRowCallback": function ( nTr ) {
|
||||
mPass = arguments.length;
|
||||
return nTr;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass == 4; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"fnRowCallback called once for each drawn row",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = 0;
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) {
|
||||
mPass++;
|
||||
return nTr;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass == 10; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"fnRowCallback allows us to alter row information",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) {
|
||||
$(nTr).addClass('unit_test');
|
||||
return nTr;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(1)').hasClass('unit_test'); }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Data array has length matching columns",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = true;
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) {
|
||||
if ( asData.length != 5 )
|
||||
mPass = false;
|
||||
return nTr;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Data array has length matching columns",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
|
||||
mPass = true;
|
||||
var iCount = 0;
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) {
|
||||
if ( iCount != iDrawIndex )
|
||||
mPass = false;
|
||||
iCount++;
|
||||
return nTr;
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return mPass; }
|
||||
);
|
||||
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,85 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "iDisplayLength" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Default length is ten",
|
||||
null,
|
||||
function () { return $('#example tbody tr').length == 10; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Select menu shows 10",
|
||||
null,
|
||||
function () { return $('#example_length select').val() == 10; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Set initial length to 25",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"iDisplayLength": 25
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr').length == 25; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Select menu shows 25",
|
||||
null,
|
||||
function () { return $('#example_length select').val() == 25; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Set initial length to 100",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"iDisplayLength": 100
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr').length == 57; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Select menu shows 25",
|
||||
null,
|
||||
function () { return $('#example_length select').val() == 100; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Set initial length to 23 (unknown select menu length)",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"iDisplayLength": 23
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr').length == 23; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Select menu shows 10 (since 23 is unknow)",
|
||||
null,
|
||||
function () { return $('#example_length select').val() == 10; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,86 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "oLanguage.oPaginate" );
|
||||
|
||||
/* Note that the paging language information only has relevence in full numbers */
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"sPaginationType": "full_numbers"
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"oLanguage.oPaginate defaults",
|
||||
null,
|
||||
function () {
|
||||
var bReturn =
|
||||
oSettings.oLanguage.oPaginate.sFirst == "First" &&
|
||||
oSettings.oLanguage.oPaginate.sPrevious == "Previous" &&
|
||||
oSettings.oLanguage.oPaginate.sNext == "Next" &&
|
||||
oSettings.oLanguage.oPaginate.sLast == "Last";
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"oLanguage.oPaginate defaults are in the DOM",
|
||||
null,
|
||||
function () {
|
||||
var bReturn =
|
||||
$('#example_paginate .first').html() == "First" &&
|
||||
$('#example_paginate .previous').html() == "Previous" &&
|
||||
$('#example_paginate .next').html() == "Next" &&
|
||||
$('#example_paginate .last').html() == "Last";
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"oLanguage.oPaginate can be defined",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"sPaginationType": "full_numbers",
|
||||
"oLanguage": {
|
||||
"oPaginate": {
|
||||
"sFirst": "unit1",
|
||||
"sPrevious": "test2",
|
||||
"sNext": "unit3",
|
||||
"sLast": "test4"
|
||||
}
|
||||
}
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
},
|
||||
function () {
|
||||
var bReturn =
|
||||
oSettings.oLanguage.oPaginate.sFirst == "unit1" &&
|
||||
oSettings.oLanguage.oPaginate.sPrevious == "test2" &&
|
||||
oSettings.oLanguage.oPaginate.sNext == "unit3" &&
|
||||
oSettings.oLanguage.oPaginate.sLast == "test4";
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"oLanguage.oPaginate definitions are in the DOM",
|
||||
null,
|
||||
function () {
|
||||
var bReturn =
|
||||
$('#example_paginate .first').html() == "unit1" &&
|
||||
$('#example_paginate .previous').html() == "test2" &&
|
||||
$('#example_paginate .next').html() == "unit3" &&
|
||||
$('#example_paginate .last').html() == "test4";
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,124 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "oLanguage.sInfo" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Info language is 'Showing _START_ to _END_ of _TOTAL_ entries' by default",
|
||||
null,
|
||||
function () { return oSettings.oLanguage.sInfo == "Showing _START_ to _END_ of _TOTAL_ entries"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Info language default is in the DOM",
|
||||
null,
|
||||
function () { return document.getElementById('example_info').innerHTML = "Showing 1 to 10 of 57 entries"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Info language can be defined - without any macros",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"oLanguage": {
|
||||
"sInfo": "unit test"
|
||||
}
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
},
|
||||
function () { return oSettings.oLanguage.sInfo == "unit test"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Info language definition is in the DOM",
|
||||
null,
|
||||
function () { return document.getElementById('example_info').innerHTML = "unit test"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Info language can be defined - with macro _START_ only",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"oLanguage": {
|
||||
"sInfo": "unit _START_ test"
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML = "unit 1 test"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Info language can be defined - with macro _END_ only",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"oLanguage": {
|
||||
"sInfo": "unit _END_ test"
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML = "unit 10 test"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Info language can be defined - with macro _TOTAL_ only",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"oLanguage": {
|
||||
"sInfo": "unit _END_ test"
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML = "unit 57 test"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Info language can be defined - with macros _START_ and _END_",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"oLanguage": {
|
||||
"sInfo": "unit _START_ _END_ test"
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML = "unit 1 10 test"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Info language can be defined - with macros _START_, _END_ and _TOTAL_",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"oLanguage": {
|
||||
"sInfo": "unit _START_ _END_ _TOTAL_ test"
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML = "unit 1 10 57 test"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,82 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "oLanguage.sInfoEmpty" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Info empty language is 'Showing 0 to 0 of 0 entries' by default",
|
||||
function () { oTable.fnFilter("nothinghere"); },
|
||||
function () { return oSettings.oLanguage.sInfoEmpty == "Showing 0 to 0 of 0 entries"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Info empty language default is in the DOM",
|
||||
null,
|
||||
function () {
|
||||
var bReturn = document.getElementById('example_info').innerHTML.replace(
|
||||
' '+oSettings.oLanguage.sInfoFiltered.replace( '_MAX_', '57' ), "" ) ==
|
||||
"Showing 0 to 0 of 0 entries";
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Info empty language can be defined",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"oLanguage": {
|
||||
"sInfoEmpty": "unit test"
|
||||
}
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
oTable.fnFilter("nothinghere");
|
||||
},
|
||||
function () { return oSettings.oLanguage.sInfoEmpty == "unit test"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Info empty language default is in the DOM",
|
||||
null,
|
||||
function () {
|
||||
var bReturn = document.getElementById('example_info').innerHTML.replace(
|
||||
' '+oSettings.oLanguage.sInfoFiltered.replace( '_MAX_', '57' ), "" ) ==
|
||||
"unit test";
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Macro's not replaced",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"oLanguage": {
|
||||
"sInfoEmpty": "unit _START_ _END_ _TOTAL_ test"
|
||||
}
|
||||
} );
|
||||
oTable.fnFilter("nothinghere");
|
||||
},
|
||||
function () {
|
||||
var bReturn = document.getElementById('example_info').innerHTML.replace(
|
||||
' '+oSettings.oLanguage.sInfoFiltered.replace( '_MAX_', '57' ), "" ) ==
|
||||
"unit _START_ _END_ _TOTAL_ test";
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,82 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "oLanguage.sInfoPostFix" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Info post fix language is '' (blank) by default",
|
||||
null,
|
||||
function () { return oSettings.oLanguage.sInfoPostFix == ""; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Width no post fix, the basic info shows",
|
||||
null,
|
||||
function () { return document.getElementById('example_info').innerHTML = "Showing 1 to 10 of 57 entries"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Info post fix language can be defined",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"oLanguage": {
|
||||
"sInfoPostFix": "unit test"
|
||||
}
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
},
|
||||
function () { return oSettings.oLanguage.sInfoPostFix == "unit test"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Info empty language default is in the DOM",
|
||||
null,
|
||||
function () { return document.getElementById('example_info').innerHTML = "Showing 1 to 10 of 57 entries unit test"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Macros have no effect in the post fix",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"oLanguage": {
|
||||
"sInfoPostFix": "unit _START_ _END_ _TOTAL_ test"
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML = "Showing 1 to 10 of 57 entries unit _START_ _END_ _TOTAL_ test"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Post fix is applied after fintering info",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"oLanguage": {
|
||||
"sInfoPostFix": "unit test"
|
||||
}
|
||||
} );
|
||||
oTable.fnFilter("nothinghere");
|
||||
},
|
||||
function () { return document.getElementById('example_info').innerHTML = "Showing 0 to 0 of 0 entries unit (filtered from 57 total entries) test"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,110 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "oLanguage.sLengthMenu" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Menu language is 'Show _MENU_ entries' by default",
|
||||
null,
|
||||
function () { return oSettings.oLanguage.sLengthMenu == "Show _MENU_ entries"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"_MENU_ macro is replaced by select menu in DOM",
|
||||
null,
|
||||
function () { return $('select', oSettings.aanFeatures.l[0]).length == 1 }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Default is put into DOM",
|
||||
null,
|
||||
function () {
|
||||
var anChildren = oSettings.aanFeatures.l[0].childNodes;
|
||||
var bReturn =
|
||||
anChildren[0].nodeValue == "Show " &&
|
||||
anChildren[2].nodeValue == " entries";
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Menu length language can be defined - no _MENU_ macro",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"oLanguage": {
|
||||
"sLengthMenu": "unit test"
|
||||
}
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
},
|
||||
function () { return oSettings.oLanguage.sLengthMenu == "unit test"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Menu length language definition is in the DOM",
|
||||
null,
|
||||
function () {
|
||||
var anChildren = oSettings.aanFeatures.l[0].childNodes;
|
||||
return anChildren[0].nodeValue == "unit test";
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Menu length language can be defined - with _MENU_ macro",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"oLanguage": {
|
||||
"sLengthMenu": "unit _MENU_ test"
|
||||
}
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
},
|
||||
function () {
|
||||
var anChildren = oSettings.aanFeatures.l[0].childNodes;
|
||||
var bReturn =
|
||||
anChildren[0].nodeValue == "unit " &&
|
||||
anChildren[2].nodeValue == " test";
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Only the _MENU_ macro",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"oLanguage": {
|
||||
"sLengthMenu": "_MENU_"
|
||||
}
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
},
|
||||
function () {
|
||||
var anChildren = oSettings.aanFeatures.l[0].childNodes;
|
||||
var bReturn =
|
||||
anChildren.length == 1 &&
|
||||
$('select', oSettings.aanFeatures.l[0]).length == 1;
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,51 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "oLanguage.sProcessing" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"bProcessing": true
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Processing language is 'Processing...' by default",
|
||||
null,
|
||||
function () { return oSettings.oLanguage.sProcessing == "Processing..."; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Processing language default is in the DOM",
|
||||
null,
|
||||
function () { return document.getElementById('example_processing').innerHTML = "Processing..."; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Processing language can be defined",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"bProcessing": true,
|
||||
"oLanguage": {
|
||||
"sProcessing": "unit test"
|
||||
}
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
},
|
||||
function () { return oSettings.oLanguage.sProcessing == "unit test"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Processing language definition is in the DOM",
|
||||
null,
|
||||
function () { return document.getElementById('example_processing').innerHTML = "unit test"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,68 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "oLanguage.sSearch" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Search language is 'Search:' by default",
|
||||
null,
|
||||
function () { return oSettings.oLanguage.sSearch == "Search:"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Search language default is in the DOM",
|
||||
null,
|
||||
function () { return document.getElementById('example_filter').childNodes[0].nodeValue
|
||||
== "Search: "; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Search language can be defined",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"oLanguage": {
|
||||
"sSearch": "unit test"
|
||||
}
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
},
|
||||
function () { return oSettings.oLanguage.sSearch == "unit test"; }
|
||||
);
|
||||
|
||||
oTest.fnTest(
|
||||
"Info language definition is in the DOM",
|
||||
null,
|
||||
function () { return document.getElementById('example_filter').childNodes[0].nodeValue
|
||||
== "unit test "; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Blank search has no space (separator) inserted",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"oLanguage": {
|
||||
"sSearch": ""
|
||||
}
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
},
|
||||
function () { return document.getElementById('example_filter').childNodes.length == 1; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,64 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "oLanguage.sUrl" );
|
||||
|
||||
/* Note that we only test the internal storage of language information pulled form a file here
|
||||
* as the other language tests will check it goes into the DOM correctly
|
||||
*/
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnTest(
|
||||
"sUrl is blank by default",
|
||||
null,
|
||||
function () { return oSettings.oLanguage.sUrl == ""; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Loading of German file loads language information",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"oLanguage": {
|
||||
"sUrl": "../../../examples/examples_support/de_DE.txt"
|
||||
}
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
},
|
||||
function () {
|
||||
var bReturn =
|
||||
oSettings.oLanguage.sProcessing == "Bitte warten..." &&
|
||||
oSettings.oLanguage.sLengthMenu == "_MENU_ Einträge anzeigen" &&
|
||||
oSettings.oLanguage.sZeroRecords == "Keine Einträge vorhanden." &&
|
||||
oSettings.oLanguage.sInfo == "_START_ bis _END_ von _TOTAL_ Einträgen" &&
|
||||
oSettings.oLanguage.sInfoEmpty == "0 bis 0 von 0 Einträgen" &&
|
||||
oSettings.oLanguage.sInfoFiltered == "(gefiltert von _MAX_ Einträgen)" &&
|
||||
oSettings.oLanguage.sInfoPostFix == "" &&
|
||||
oSettings.oLanguage.sSearch == "Suchen" &&
|
||||
oSettings.oLanguage.oPaginate.sFirst == "Erster" &&
|
||||
oSettings.oLanguage.oPaginate.sPrevious == "Zurück" &&
|
||||
oSettings.oLanguage.oPaginate.sNext == "Nächster" &&
|
||||
oSettings.oLanguage.oPaginate.sLast == "Letzter";
|
||||
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
/* One DOM check just to ensure that they go into the DOM */
|
||||
oTest.fnTest(
|
||||
"Loaded language goes into the DOM",
|
||||
null,
|
||||
function () { return document.getElementById('example_info').innerHTML = "1 bis 10 von 57 Einträgen"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,58 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "oLanguage.sZeroRecords" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Zero records language is 'No matching records found' by default",
|
||||
null,
|
||||
function () { return oSettings.oLanguage.sZeroRecords == "No matching records found"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Text is shown when empty table (after filtering)",
|
||||
function () { oTable.fnFilter('nothinghere'); },
|
||||
function () {
|
||||
if ( $('#example tbody tr td').length == 0 )
|
||||
return false;
|
||||
return $('#example tbody tr td')[0].innerHTML == "No matching records found";
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Zero records language can be defined",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"oLanguage": {
|
||||
"sZeroRecords": "unit test"
|
||||
}
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
},
|
||||
function () { return oSettings.oLanguage.sZeroRecords == "unit test"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Text is shown when empty table (after filtering)",
|
||||
function () { oTable.fnFilter('nothinghere2'); },
|
||||
function () {
|
||||
if ( $('#example tbody tr td').length == 0 )
|
||||
return false;
|
||||
return $('#example tbody tr td')[0].innerHTML == "unit test"
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,100 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "oSearch" );
|
||||
|
||||
/* Note with my server-side scripts the regex option has no effect - this just runs that down */
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Default values should be blank",
|
||||
null,
|
||||
function () {
|
||||
var bReturn = oSettings.oPreviousSearch.sSearch == "" &&
|
||||
!oSettings.oPreviousSearch.bRegex;
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
/* This test might be considered iffy since the full object isn't given, but it's reasonable to
|
||||
* expect DataTables to cope with this. It should just assumine regex false
|
||||
*/
|
||||
oTest.fnWaitTest(
|
||||
"Search term only in object",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"oSearch": {
|
||||
"sSearch": "Mozilla"
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == "1"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"New search will kill old one",
|
||||
function () {
|
||||
oTable.fnFilter("Opera");
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Opera 7.0"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Search plain text term and escape regex true",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"oSearch": {
|
||||
"sSearch": "DS",
|
||||
"bRegex": false
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Nintendo DS browser"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Search plain text term and escape regex false",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"oSearch": {
|
||||
"sSearch": "Opera",
|
||||
"bRegex": true
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Opera 7.0"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Search regex text term and escape regex true",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"oSearch": {
|
||||
"sSearch": "1.*",
|
||||
"bRegex": false
|
||||
}
|
||||
} );
|
||||
},
|
||||
function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "No matching records found"; }
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,23 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "sAjaxSource" );
|
||||
|
||||
/* Sanitfy check really - all the other tests blast this */
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Server side is off by default",
|
||||
null,
|
||||
function () {
|
||||
return oSettings.sAjaxSource == "../../../examples/examples_support/server_processing.php";
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,269 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "sDom" );
|
||||
|
||||
/* This is going to be brutal on the browser! There is a lot that can be tested here... */
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Default DOM varaible",
|
||||
null,
|
||||
function () { return oSettings.sDom == "lfrtip"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Default DOM in document",
|
||||
null,
|
||||
function () {
|
||||
var nNodes = $('#demo div, #demo table');
|
||||
var nWrapper = document.getElementById('example_wrapper');
|
||||
var nLength = document.getElementById('example_length');
|
||||
var nFilter = document.getElementById('example_filter');
|
||||
var nInfo = document.getElementById('example_info');
|
||||
var nPaging = document.getElementById('example_paginate');
|
||||
var nTable = document.getElementById('example');
|
||||
|
||||
var bReturn =
|
||||
nNodes[0] == nWrapper &&
|
||||
nNodes[1] == nLength &&
|
||||
nNodes[2] == nFilter &&
|
||||
nNodes[3] == nTable &&
|
||||
nNodes[4] == nInfo &&
|
||||
nNodes[5] == nPaging;
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Check example 1 in code propagates",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"sDom": '<"wrapper"flipt>'
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
},
|
||||
function () { return oSettings.sDom == '<"wrapper"flipt>'; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Check example 1 in DOM",
|
||||
null,
|
||||
function () {
|
||||
var jqNodes = $('#demo div, #demo table');
|
||||
var nNodes = [];
|
||||
|
||||
/* Strip the paging nodes */
|
||||
for ( var i=0, iLen=jqNodes.length ; i<iLen ; i++ )
|
||||
{
|
||||
if ( jqNodes[i].getAttribute('id') != "example_previous" &&
|
||||
jqNodes[i].getAttribute('id') != "example_next" )
|
||||
{
|
||||
nNodes.push( jqNodes[i] );
|
||||
}
|
||||
}
|
||||
|
||||
var nWrapper = document.getElementById('example_wrapper');
|
||||
var nLength = document.getElementById('example_length');
|
||||
var nFilter = document.getElementById('example_filter');
|
||||
var nInfo = document.getElementById('example_info');
|
||||
var nPaging = document.getElementById('example_paginate');
|
||||
var nTable = document.getElementById('example');
|
||||
var nCustomWrapper = $('div.wrapper')[0];
|
||||
|
||||
var bReturn =
|
||||
nNodes[0] == nWrapper &&
|
||||
nNodes[1] == nCustomWrapper &&
|
||||
nNodes[2] == nFilter &&
|
||||
nNodes[3] == nLength &&
|
||||
nNodes[4] == nInfo &&
|
||||
nNodes[5] == nPaging &&
|
||||
nNodes[6] == nTable;
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Check example 2 in DOM",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"sDom": '<lf<t>ip>'
|
||||
} );
|
||||
},
|
||||
function () {
|
||||
var jqNodes = $('#demo div, #demo table');
|
||||
var nNodes = [];
|
||||
var nCustomWrappers = []
|
||||
|
||||
/* Strip the paging nodes */
|
||||
for ( var i=0, iLen=jqNodes.length ; i<iLen ; i++ )
|
||||
{
|
||||
if ( jqNodes[i].getAttribute('id') != "example_previous" &&
|
||||
jqNodes[i].getAttribute('id') != "example_next" )
|
||||
{
|
||||
nNodes.push( jqNodes[i] );
|
||||
}
|
||||
|
||||
/* Only the two custom divs don't have class names */
|
||||
if ( !jqNodes[i].getAttribute('class') )
|
||||
{
|
||||
nCustomWrappers.push( jqNodes[i] );
|
||||
}
|
||||
}
|
||||
|
||||
var nWrapper = document.getElementById('example_wrapper');
|
||||
var nLength = document.getElementById('example_length');
|
||||
var nFilter = document.getElementById('example_filter');
|
||||
var nInfo = document.getElementById('example_info');
|
||||
var nPaging = document.getElementById('example_paginate');
|
||||
var nTable = document.getElementById('example');
|
||||
|
||||
var bReturn =
|
||||
nNodes[0] == nWrapper &&
|
||||
nNodes[1] == nCustomWrappers[0] &&
|
||||
nNodes[2] == nLength &&
|
||||
nNodes[3] == nFilter &&
|
||||
nNodes[4] == nCustomWrappers[1] &&
|
||||
nNodes[5] == nTable &&
|
||||
nNodes[6] == nInfo &&
|
||||
nNodes[7] == nPaging;
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Check no length element",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"sDom": 'frtip'
|
||||
} );
|
||||
},
|
||||
function () {
|
||||
var nNodes = $('#demo div, #demo table');
|
||||
var nWrapper = document.getElementById('example_wrapper');
|
||||
var nLength = document.getElementById('example_length');
|
||||
var nFilter = document.getElementById('example_filter');
|
||||
var nInfo = document.getElementById('example_info');
|
||||
var nPaging = document.getElementById('example_paginate');
|
||||
var nTable = document.getElementById('example');
|
||||
|
||||
var bReturn =
|
||||
nNodes[0] == nWrapper &&
|
||||
null == nLength &&
|
||||
nNodes[1] == nFilter &&
|
||||
nNodes[2] == nTable &&
|
||||
nNodes[3] == nInfo &&
|
||||
nNodes[4] == nPaging;
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Check no filter element",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"sDom": 'lrtip'
|
||||
} );
|
||||
},
|
||||
function () {
|
||||
var nNodes = $('#demo div, #demo table');
|
||||
var nWrapper = document.getElementById('example_wrapper');
|
||||
var nLength = document.getElementById('example_length');
|
||||
var nFilter = document.getElementById('example_filter');
|
||||
var nInfo = document.getElementById('example_info');
|
||||
var nPaging = document.getElementById('example_paginate');
|
||||
var nTable = document.getElementById('example');
|
||||
|
||||
var bReturn =
|
||||
nNodes[0] == nWrapper &&
|
||||
nNodes[1] == nLength &&
|
||||
null == nFilter &&
|
||||
nNodes[2] == nTable &&
|
||||
nNodes[3] == nInfo &&
|
||||
nNodes[4] == nPaging;
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
/* Note we don't test for no table as this is not supported (and it would be fairly daft! */
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Check no info element",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"sDom": 'lfrtp'
|
||||
} );
|
||||
},
|
||||
function () {
|
||||
var nNodes = $('#demo div, #demo table');
|
||||
var nWrapper = document.getElementById('example_wrapper');
|
||||
var nLength = document.getElementById('example_length');
|
||||
var nFilter = document.getElementById('example_filter');
|
||||
var nInfo = document.getElementById('example_info');
|
||||
var nPaging = document.getElementById('example_paginate');
|
||||
var nTable = document.getElementById('example');
|
||||
|
||||
var bReturn =
|
||||
nNodes[0] == nWrapper &&
|
||||
nNodes[1] == nLength &&
|
||||
nNodes[2] == nFilter &&
|
||||
nNodes[3] == nTable &&
|
||||
null == nInfo &&
|
||||
nNodes[4] == nPaging;
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Check no paging element",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
$('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"sDom": 'lfrti'
|
||||
} );
|
||||
},
|
||||
function () {
|
||||
var nNodes = $('#demo div, #demo table');
|
||||
var nWrapper = document.getElementById('example_wrapper');
|
||||
var nLength = document.getElementById('example_length');
|
||||
var nFilter = document.getElementById('example_filter');
|
||||
var nInfo = document.getElementById('example_info');
|
||||
var nPaging = document.getElementById('example_paginate');
|
||||
var nTable = document.getElementById('example');
|
||||
|
||||
var bReturn =
|
||||
nNodes[0] == nWrapper &&
|
||||
nNodes[1] == nLength &&
|
||||
nNodes[2] == nFilter &&
|
||||
nNodes[3] == nTable &&
|
||||
nNodes[4] == nInfo &&
|
||||
null == nPaging;
|
||||
return bReturn;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
|
@ -0,0 +1,138 @@
|
|||
// DATA_TEMPLATE: empty_table
|
||||
oTest.fnStart( "sPaginationType" );
|
||||
|
||||
$(document).ready( function () {
|
||||
/* Check the default */
|
||||
var oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php"
|
||||
} );
|
||||
var oSettings = oTable.fnSettings();
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Check two button paging is the default",
|
||||
null,
|
||||
function () { return oSettings.sPaginationType == "two_button"; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Check class is applied",
|
||||
null,
|
||||
function () { return $('#example_paginate').hasClass('paging_two_button'); }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Two div elements are in the wrapper",
|
||||
null,
|
||||
function () { return $('#example_paginate div').length == 2; }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"We have the previous button",
|
||||
null,
|
||||
function () { return document.getElementById('example_previous'); }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"We have the next button",
|
||||
null,
|
||||
function () { return document.getElementById('example_next'); }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Previous button is disabled",
|
||||
null,
|
||||
function () { return $('#example_previous').hasClass('paginate_disabled_previous'); }
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Next button is enabled",
|
||||
null,
|
||||
function () { return $('#example_next').hasClass('paginate_enabled_next'); }
|
||||
);
|
||||
|
||||
/* Don't test paging - that's done by the zero config test script. */
|
||||
|
||||
|
||||
/* Two buttons paging */
|
||||
var bComplete = false;
|
||||
oTest.fnWaitTest(
|
||||
"Can enabled full numbers paging",
|
||||
function () {
|
||||
oSession.fnRestore();
|
||||
oTable = $('#example').dataTable( {
|
||||
"bServerSide": true,
|
||||
"sAjaxSource": "../../../examples/examples_support/server_processing.php",
|
||||
"sPaginationType": "full_numbers",
|
||||
"fnInitComplete": function () {
|
||||
setTimeout( function () {
|
||||
bComplete = true;
|
||||
}, 500 );
|
||||
}
|
||||
} );
|
||||
oSettings = oTable.fnSettings();
|
||||
},
|
||||
function () {
|
||||
if ( bComplete )
|
||||
return oSettings.sPaginationType == "full_numbers";
|
||||
else
|
||||
return false;
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Check full numbers class is applied",
|
||||
null,
|
||||
function () { return $('#example_paginate').hasClass('paging_full_numbers'); }
|
||||
);
|
||||
|
||||
|
||||
var nFirst, nPrevious, nNext, nLast;
|
||||
oTest.fnWaitTest(
|
||||
"Jump to last page",
|
||||
function () {
|
||||
nFirst = $('div.dataTables_paginate span.first');
|
||||
nPrevious = $('div.dataTables_paginate span.previous');
|
||||
nNext = $('div.dataTables_paginate span.next');
|
||||
nLast = $('div.dataTables_paginate span.last');
|
||||
nLast.click();
|
||||
},
|
||||
function () {
|
||||
return document.getElementById('example_info').innerHTML == "Showing 51 to 57 of 57 entries";
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Go to two pages previous",
|
||||
function () {
|
||||
nPrevious.click();
|
||||
nPrevious.click();
|
||||
},
|
||||
function () {
|
||||
return document.getElementById('example_info').innerHTML == "Showing 31 to 40 of 57 entries";
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Next (second last) page",
|
||||
function () {
|
||||
nNext.click();
|
||||
},
|
||||
function () {
|
||||
return document.getElementById('example_info').innerHTML == "Showing 41 to 50 of 57 entries";
|
||||
}
|
||||
);
|
||||
|
||||
oTest.fnWaitTest(
|
||||
"Jump to first page",
|
||||
function () {
|
||||
nFirst.click();
|
||||
},
|
||||
function () {
|
||||
return document.getElementById('example_info').innerHTML == "Showing 1 to 10 of 57 entries";
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
oTest.fnComplete();
|
||||
} );
|
Loading…
Add table
Add a link
Reference in a new issue