1
0
mirror of https://github.com/DataTables/DataTables.git synced 2024-12-03 15:24:10 +01:00
DataTables/media/unit_testing/tests_onhold/5_ajax_objects/aoColumns.bUseRendered.js

155 lines
3.8 KiB
JavaScript
Executable File

// 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( {
"sAjaxSource": "../../../examples/ajax/sources/objects.txt",
"aoColumns": [
{ "mDataProp": "engine" },
{
"mDataProp": "browser",
"fnRender": function (a) {
if ( mTmp == 0 ) {
mTmp++;
return "aaa";
} else
return a.aData['browser'];
}
},
{ "mDataProp": "platform" },
{ "mDataProp": "version" },
{ "mDataProp": "grade" }
]
} );
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'; }
);
oTest.fnWaitTest(
"When bUseRendered is false, original data is used for sorting",
function () {
mTmp = 0;
oSession.fnRestore();
oTable = $('#example').dataTable( {
"sAjaxSource": "../../../examples/ajax/sources/objects.txt",
"aoColumns": [
{ "mDataProp": "engine" },
{
"mDataProp": "browser",
"bUseRendered": false,
"fnRender": function (a) {
if ( mTmp == 0 ) {
mTmp++;
return "aaa";
} else {
return a.aData['browser'];
}
}
},
{ "mDataProp": "platform" },
{ "mDataProp": "version" },
{ "mDataProp": "grade" }
]
} );
$('#example thead th:eq(1)').click();
},
function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'All others'; }
);
oTest.fnWaitTest(
"bUseRendered set to false on one columns and true (default) on two others",
function () {
mTmp = 0;
var mTmp2 = 0;
var mTmp3 = 0;
oSession.fnRestore();
oTable = $('#example').dataTable( {
"sAjaxSource": "../../../examples/ajax/sources/objects.txt",
"aoColumns": [
{
"mDataProp": "engine",
"fnRender": function (a) {
if ( mTmp == 0 ) {
mTmp++;
return "aaa1";
} else {
return a.aData['engine'];
}
}
},
{
"mDataProp": "browser",
"bUseRendered": false,
"fnRender": function (a) {
if ( mTmp2 == 0 ) {
mTmp2++;
return "aaa2";
} else {
return a.aData['browser'];
}
}
},
{
"mDataProp": "platform",
"fnRender": function (a) {
if ( mTmp3 == 0 ) {
mTmp3++;
return "zzz3";
} else {
return a.aData['platform'];
}
}
},
{ "mDataProp": "version" },
{ "mDataProp": "grade" }
]
} );
},
function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == 'aaa1'; }
);
oTest.fnWaitTest(
"Multi-column rendering - 2nd column sorting",
function () { $('#example thead th:eq(1)').click(); },
function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'All others'; }
);
oTest.fnWaitTest(
"Multi-column rendering - 3rd column sorting",
function () {
$('#example thead th:eq(2)').click();
$('#example thead th:eq(2)').click();
},
function () { return $('#example tbody tr:eq(0) td:eq(2)').html() == 'zzz3'; }
);
oTest.fnWaitTest(
"Multi-column rendering - 4th column sorting",
function () { $('#example thead th:eq(3)').click(); },
function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == '-'; }
);
oTest.fnWaitTest(
"Multi-column rendering - 5th column sorting",
function () { $('#example thead th:eq(4)').click(); },
function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'A'; }
);
oTest.fnComplete();
} );