1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
|
// DATA_TEMPLATE: empty_table
oTest.fnStart( "oLanguage.sLengthMenu" );
$(document).ready( function () {
/* Check the default */
var oTable = $('#example').dataTable( {
"sAjaxSource": "../../../examples/ajax/sources/objects.txt",
"aoColumns": [
{ "mData": "engine" },
{ "mData": "browser" },
{ "mData": "platform" },
{ "mData": "version" },
{ "mData": "grade" }
]
} );
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(
"A label input is used",
null,
function () { return $('label', oSettings.aanFeatures.l[0]).length == 1 }
);
oTest.fnTest(
"Default is put into DOM",
null,
function () {
var anChildren = $('label',oSettings.aanFeatures.l[0])[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( {
"sAjaxSource": "../../../examples/ajax/sources/objects.txt",
"aoColumnDefs": [
{ "mData": "engine", "aTargets": [0] },
{ "mData": "browser", "aTargets": [1] },
{ "mData": "platform", "aTargets": [2] },
{ "mData": "version", "aTargets": [3] },
{ "mData": "grade", "aTargets": [4] }
],
"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 () {
return $('label', oSettings.aanFeatures.l[0]).text() == "unit test";
}
);
oTest.fnWaitTest(
"Menu length language can be defined - with _MENU_ macro",
function () {
oSession.fnRestore();
oTable = $('#example').dataTable( {
"sAjaxSource": "../../../examples/ajax/sources/objects.txt",
"aoColumnDefs": [
{ "mData": "engine", "aTargets": [0] },
{ "mData": "browser", "aTargets": [1] },
{ "mData": "platform", "aTargets": [2] },
{ "mData": "version", "aTargets": [3] },
{ "mData": "grade", "aTargets": [4] }
],
"oLanguage": {
"sLengthMenu": "unit _MENU_ test"
}
} );
oSettings = oTable.fnSettings();
},
function () {
var anChildren = $('label',oSettings.aanFeatures.l[0])[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( {
"sAjaxSource": "../../../examples/ajax/sources/objects.txt",
"aoColumnDefs": [
{ "mData": "engine", "aTargets": [0] },
{ "mData": "browser", "aTargets": [1] },
{ "mData": "platform", "aTargets": [2] },
{ "mData": "version", "aTargets": [3] },
{ "mData": "grade", "aTargets": [4] }
],
"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();
} );
|