Merge branch 'master' into PROT-9-webservice
[proteocache.git] / webapp / resources / datatables-1.9.4 / media / unit_testing / tests_onhold / 6_delayed_rendering / sAjaxDataProp2.js
diff --git a/webapp/resources/datatables-1.9.4/media/unit_testing/tests_onhold/6_delayed_rendering/sAjaxDataProp2.js b/webapp/resources/datatables-1.9.4/media/unit_testing/tests_onhold/6_delayed_rendering/sAjaxDataProp2.js
new file mode 100644 (file)
index 0000000..bd0c346
--- /dev/null
@@ -0,0 +1,140 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "Custom data source property - array only" );
+
+
+$(document).ready( function () {
+       var oInit = {
+               "sAjaxSource": "../../../examples/ajax/sources/array_only.txt",
+               "bDeferRender": true,
+               "sAjaxDataProp": ""
+       };
+       $('#example').dataTable( oInit );
+       
+       oTest.fnWaitTest( 
+               "10 rows shown on the first page",
+               null,
+               function () { return $('#example tbody tr').length == 10; }
+       );
+       
+       oTest.fnTest( 
+               "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.fnTest( 
+               "Sorting (first click) on second column",
+               function () { $('#example thead th:eq(1)').click(); },
+               function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+       );
+       
+       oTest.fnTest( 
+               "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.fnTest( 
+               "Sorting (third click) on second column",
+               function () { $('#example thead th:eq(1)').click(); },
+               function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+       );
+       
+       oTest.fnTest( 
+               "Sorting (first click) on numeric column",
+               function () { $('#example thead th:eq(3)').click(); },
+               function () { return $('#example tbody td:eq(3)').html() == "-"; }
+       );
+       
+       oTest.fnTest( 
+               "Sorting (second click) on numeric column",
+               function () { $('#example thead th:eq(3)').click(); },
+               function () { return $('#example tbody td:eq(3)').html() == "522.1"; }
+       );
+       
+       oTest.fnTest( 
+               "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.fnTest( 
+               "Sorting multi-column - sorting second column only",
+               function () { 
+                       $('#example thead th:eq(1)').click(); },
+               function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+       );
+       
+       /* Basic paging */
+       oTest.fnTest( 
+               "Paging to second page",
+               function () { $('#example_next').click(); },
+               function () { return $('#example tbody td:eq(1)').html() == "IE Mobile"; }
+       );
+       
+       oTest.fnTest( 
+               "Paging to first page",
+               function () { $('#example_previous').click(); },
+               function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+       );
+       
+       oTest.fnTest( 
+               "Attempting to page back beyond the first page",
+               function () { $('#example_previous').click(); },
+               function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+       );
+       
+       /* Changing length */
+       oTest.fnTest( 
+               "Changing table length to 25 records",
+               function () { $("select[name=example_length]").val('25').change(); },
+               function () { return $('#example tbody tr').length == 25; }
+       );
+       
+       oTest.fnTest( 
+               "Changing table length to 50 records",
+               function () { $("select[name=example_length]").val('50').change(); },
+               function () { return $('#example tbody tr').length == 50; }
+       );
+       
+       oTest.fnTest( 
+               "Changing table length to 100 records",
+               function () { $("select[name=example_length]").val('100').change(); },
+               function () { return $('#example tbody tr').length == 57; }
+       );
+       
+       oTest.fnTest( 
+               "Changing table length to 10 records",
+               function () { $("select[name=example_length]").val('10').change(); },
+               function () { return $('#example tbody tr').length == 10; }
+       );
+       
+       /*
+        * Information element
+        */
+       oTest.fnTest(
+               "Information on zero config",
+               null,
+               function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 10 of 57 entries"; }
+       );
+       
+       oTest.fnTest(
+               "Information on second page",
+               function () { $('#example_next').click(); },
+               function () { return document.getElementById('example_info').innerHTML == "Showing 11 to 20 of 57 entries"; }
+       );
+       
+       oTest.fnTest(
+               "Information on third page",
+               function () { $('#example_next').click(); },
+               function () { return document.getElementById('example_info').innerHTML == "Showing 21 to 30 of 57 entries"; }
+       );
+       
+       
+       oTest.fnComplete();
+} );
\ No newline at end of file