Prettier JQuery tables
[contractdashboard.git] / media / unit_testing / tests_onhold / 1_dom / aoColumns.iDataSort.js
blob:a/media/unit_testing/tests_onhold/1_dom/aoColumns.iDataSort.js -> blob:b/media/unit_testing/tests_onhold/1_dom/aoColumns.iDataSort.js
--- a/media/unit_testing/tests_onhold/1_dom/aoColumns.iDataSort.js
+++ b/media/unit_testing/tests_onhold/1_dom/aoColumns.iDataSort.js
@@ -1,1 +1,88 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "aoColumns.iDataSort" );
 
+$(document).ready( function () {
+	/* Should know that sorting already works by default from other tests, so we can jump
+	 * right in here
+	 */
+	var oTable = $('#example').dataTable( {
+		"aoColumns": [
+			null,
+			{ "iDataSort": 4 },
+			null,
+			null,
+			null
+		]
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Sorting on first column is uneffected",
+		null,
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == 'Gecko'; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting on second column is the order of the fifth",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'A'; }
+	);
+	
+	oTest.fnTest( 
+		"Reserve sorting on second column uses fifth column as well",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'X'; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting on 5th column retains it's own sorting",
+		function () { $('#example thead th:eq(4)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'A'; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Use 2nd col for sorting 5th col and via-versa - no effect on first col sorting",
+		function () {
+			mTmp = 0;
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aoColumns": [
+					null,
+					{ "iDataSort": 4 },
+					null,
+					null,
+					{ "iDataSort": 1 }
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == 'Gecko'; }
+	);
+	
+	oTest.fnTest( 
+		"2nd col sorting uses fifth col",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'A'; }
+	);
+	
+	oTest.fnTest( 
+		"2nd col sorting uses fifth col - reversed",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'X'; }
+	);
+	
+	oTest.fnTest( 
+		"5th col sorting uses 2nd col",
+		function () { $('#example thead th:eq(4)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'All others'; }
+	);
+	
+	oTest.fnTest( 
+		"5th col sorting uses 2nd col - reversed",
+		function () { $('#example thead th:eq(4)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'Seamonkey 1.1'; }
+	);
+	
+	
+	oTest.fnComplete();
+} );