diff DataTables-1.9.4/media/unit_testing/tests_onhold/6_delayed_rendering/fnRowCallback.js @ 0:ac5f9272033b draft

first upload
author saskia-hiltemann
date Tue, 01 Jul 2014 11:42:23 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/DataTables-1.9.4/media/unit_testing/tests_onhold/6_delayed_rendering/fnRowCallback.js	Tue Jul 01 11:42:23 2014 -0400
@@ -0,0 +1,118 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "fnRowCallback" );
+
+/* Note - fnRowCallback MUST return the first arguments (modified or not) */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/ajax/sources/arrays.txt",
+		"bDeferRender": true
+	} );
+	var oSettings = oTable.fnSettings();
+	var mPass;
+	
+	oTest.fnWaitTest( 
+		"Default should be null",
+		null,
+		function () { return oSettings.fnRowCallback == null; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Four arguments passed",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = -1;
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/ajax/sources/arrays.txt",
+				"bDeferRender": true,
+				"fnRowCallback": function ( nTr ) {
+					mPass = arguments.length;
+					return nTr;
+				}
+			} );
+		},
+		function () { return mPass == 4; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"fnRowCallback called once for each drawn row",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = 0;
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/ajax/sources/arrays.txt",
+				"bDeferRender": true,
+				"fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) {
+					mPass++;
+					return nTr;
+				}
+			} );
+		},
+		function () { return mPass == 10; }
+	);
+	
+	oTest.fnWaitTest( 
+		"fnRowCallback allows us to alter row information",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/ajax/sources/arrays.txt",
+				"bDeferRender": true,
+				"fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) {
+					$(nTr).addClass('unit_test');
+					return nTr;
+				}
+			} );
+		},
+		function () { return $('#example tbody tr:eq(1)').hasClass('unit_test'); }
+	);
+	
+	oTest.fnWaitTest( 
+		"Data array has length matching columns",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = true;
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/ajax/sources/arrays.txt",
+				"bDeferRender": true,
+				"fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) {
+					if ( asData.length != 5 )
+						mPass = false;
+					return nTr;
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Data array has length matching columns",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = true;
+			var iCount = 0;
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/ajax/sources/arrays.txt",
+				"bDeferRender": true,
+				"fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) {
+					if ( iCount != iDrawIndex )
+						mPass = false;
+					iCount++;
+					return nTr;
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
\ No newline at end of file