1 // DATA_TEMPLATE: dom_data
2 oTest.fnStart( "Check behaviour of the data set functions that DataTables uses" );
4 $(document).ready( function () {
5 // Slightly unusual test set this one, in that we don't really care about the DOM
6 // but want to test the internal data handling functions but we do need a table to
7 // get at the functions!
8 var table = $('#example').dataTable();
11 // Object property access
15 fn = table.oApi._fnSetObjectDataFn('test');
20 function () { return o.test }
24 "Single property doesn't kill other properties",
26 fn = table.oApi._fnSetObjectDataFn('test');
33 function () { return o.test && o.test2===false; }
37 "Single property overwrite old property",
39 fn = table.oApi._fnSetObjectDataFn('test');
47 function () { return o.test && o.test2===false; }
53 "Create nested property",
55 fn = table.oApi._fnSetObjectDataFn('test.inner');
62 function () { return o.test.inner }
66 "Deep create nested property",
68 fn = table.oApi._fnSetObjectDataFn('test.inner');
73 function () { return o.test.inner }
77 "Nested property doesn't kill other properties",
79 fn = table.oApi._fnSetObjectDataFn('test.inner');
88 function () { return o.test.inner && o.test.test2===false; }
92 "Single property overwrite old property",
94 fn = table.oApi._fnSetObjectDataFn('nested.test');
104 function () { return o.nested.test && o.nested.test2===false; }
107 // Set arrays / objects
111 fn = table.oApi._fnSetObjectDataFn('test');
114 fn( o, {"a":true, "b":false} );
116 function () { return o.test.a && o.test.b===false }
120 "Create nested object",
122 fn = table.oApi._fnSetObjectDataFn('nested.test');
125 fn( o, {"a":true, "b":false} );
127 function () { return o.nested.test.a && o.nested.test.b===false }
133 fn = table.oApi._fnSetObjectDataFn('test');
138 function () { return o.test[0]===1 && o.test[2]===3 }
142 "Create nested array",
144 fn = table.oApi._fnSetObjectDataFn('nested.test');
149 function () { return o.nested.test[0]===1 && o.nested.test[2]===3 }
155 "Create array of objects",
157 fn = table.oApi._fnSetObjectDataFn('test[].a');
162 function () { return o.test.length===3 && o.test[0].a===1 && o.test[1].a===2; }
166 "Create array of nested objects",
168 fn = table.oApi._fnSetObjectDataFn('test[].a.b');
173 function () { return o.test.length===3 && o.test[0].a.b===1 && o.test[1].a.b===2; }
179 fn = table.oApi._fnSetObjectDataFn('test[]');
184 function () { return o.test.length===3 && o.test[0]===1 && o.test[1]===2; }