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