X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=webapp%2Fresources%2Fdatatables-1.9.4%2Fmedia%2Funit_testing%2Ftests_onhold%2F1_dom%2F_setDataFunctions.js;fp=webapp%2Fresources%2Fdatatables-1.9.4%2Fmedia%2Funit_testing%2Ftests_onhold%2F1_dom%2F_setDataFunctions.js;h=7cd7bf9c0b282cb2149f1428c7708fb089605d1a;hb=9bb6ee99ca7f738fac1087190b5481b8fe6e8d9f;hp=0000000000000000000000000000000000000000;hpb=2e3f6b76be585306f1003d849831840c0adb3360;p=proteocache.git diff --git a/webapp/resources/datatables-1.9.4/media/unit_testing/tests_onhold/1_dom/_setDataFunctions.js b/webapp/resources/datatables-1.9.4/media/unit_testing/tests_onhold/1_dom/_setDataFunctions.js new file mode 100644 index 0000000..7cd7bf9 --- /dev/null +++ b/webapp/resources/datatables-1.9.4/media/unit_testing/tests_onhold/1_dom/_setDataFunctions.js @@ -0,0 +1,190 @@ +// DATA_TEMPLATE: dom_data +oTest.fnStart( "Check behaviour of the data set functions that DataTables uses" ); + +$(document).ready( function () { + // Slightly unusual test set this one, in that we don't really care about the DOM + // but want to test the internal data handling functions but we do need a table to + // get at the functions! + var table = $('#example').dataTable(); + var fn, test, o; + + // Object property access + oTest.fnTest( + "Create property", + function () { + fn = table.oApi._fnSetObjectDataFn('test'); + + o = {}; + fn( o, true ); + }, + function () { return o.test } + ); + + oTest.fnTest( + "Single property doesn't kill other properties", + function () { + fn = table.oApi._fnSetObjectDataFn('test'); + + o = { + "test2": false + }; + fn( o, true ); + }, + function () { return o.test && o.test2===false; } + ); + + oTest.fnTest( + "Single property overwrite old property", + function () { + fn = table.oApi._fnSetObjectDataFn('test'); + + o = { + "test": false, + "test2": false + }; + fn( o, true ); + }, + function () { return o.test && o.test2===false; } + ); + + + // Nested + oTest.fnTest( + "Create nested property", + function () { + fn = table.oApi._fnSetObjectDataFn('test.inner'); + + o = { + "test": {} + }; + fn( o, true ); + }, + function () { return o.test.inner } + ); + + oTest.fnTest( + "Deep create nested property", + function () { + fn = table.oApi._fnSetObjectDataFn('test.inner'); + + o = {}; + fn( o, true ); + }, + function () { return o.test.inner } + ); + + oTest.fnTest( + "Nested property doesn't kill other properties", + function () { + fn = table.oApi._fnSetObjectDataFn('test.inner'); + + o = { + "test": { + "test2": false + } + }; + fn( o, true ); + }, + function () { return o.test.inner && o.test.test2===false; } + ); + + oTest.fnTest( + "Single property overwrite old property", + function () { + fn = table.oApi._fnSetObjectDataFn('nested.test'); + + o = { + "nested": { + "test": false, + "test2": false + } + }; + fn( o, true ); + }, + function () { return o.nested.test && o.nested.test2===false; } + ); + + // Set arrays / objects + oTest.fnTest( + "Create object", + function () { + fn = table.oApi._fnSetObjectDataFn('test'); + + o = {}; + fn( o, {"a":true, "b":false} ); + }, + function () { return o.test.a && o.test.b===false } + ); + + oTest.fnTest( + "Create nested object", + function () { + fn = table.oApi._fnSetObjectDataFn('nested.test'); + + o = {}; + fn( o, {"a":true, "b":false} ); + }, + function () { return o.nested.test.a && o.nested.test.b===false } + ); + + oTest.fnTest( + "Create array", + function () { + fn = table.oApi._fnSetObjectDataFn('test'); + + o = {}; + fn( o, [1,2,3] ); + }, + function () { return o.test[0]===1 && o.test[2]===3 } + ); + + oTest.fnTest( + "Create nested array", + function () { + fn = table.oApi._fnSetObjectDataFn('nested.test'); + + o = {}; + fn( o, [1,2,3] ); + }, + function () { return o.nested.test[0]===1 && o.nested.test[2]===3 } + ); + + + // Array notation + oTest.fnTest( + "Create array of objects", + function () { + fn = table.oApi._fnSetObjectDataFn('test[].a'); + + o = {}; + fn( o, [1,2,3] ); + }, + function () { return o.test.length===3 && o.test[0].a===1 && o.test[1].a===2; } + ); + + oTest.fnTest( + "Create array of nested objects", + function () { + fn = table.oApi._fnSetObjectDataFn('test[].a.b'); + + o = {}; + fn( o, [1,2,3] ); + }, + function () { return o.test.length===3 && o.test[0].a.b===1 && o.test[1].a.b===2; } + ); + + oTest.fnTest( + "Create array", + function () { + fn = table.oApi._fnSetObjectDataFn('test[]'); + + o = {}; + fn( o, [1,2,3] ); + }, + function () { return o.test.length===3 && o.test[0]===1 && o.test[1]===2; } + ); + + + + oTest.fnComplete(); +} ); \ No newline at end of file