test_formdata.js (1559B)
1 /* Any copyright is dedicated to the Public Domain. 2 http://creativecommons.org/publicdomain/zero/1.0/ */ 3 4 EnableEngines(["forms"]); 5 6 /* 7 * The list of phases mapped to their corresponding profiles. The object 8 * here must be in JSON format as it will get parsed by the Python 9 * testrunner. It is parsed by the YAML package, so it relatively flexible. 10 */ 11 var phases = { 12 phase1: "profile1", 13 phase2: "profile2", 14 phase3: "profile1", 15 phase4: "profile2", 16 }; 17 18 /* 19 * Form data asset lists: these define form values that are used in the tests. 20 */ 21 22 var formdata1 = [ 23 { fieldname: "testing", value: "success", date: -1 }, 24 { fieldname: "testing", value: "failure", date: -2 }, 25 { fieldname: "username", value: "joe" }, 26 ]; 27 28 var formdata2 = [ 29 { fieldname: "testing", value: "success", date: -1 }, 30 { fieldname: "username", value: "joe" }, 31 ]; 32 33 var formdata_delete = [{ fieldname: "testing", value: "failure" }]; 34 35 var formdata_new = [{ fieldname: "new-field", value: "new-value" }]; 36 /* 37 * Test phases 38 */ 39 40 Phase("phase1", [ 41 [Formdata.add, formdata1], 42 [Formdata.verify, formdata1], 43 [Sync], 44 ]); 45 46 Phase("phase2", [[Sync], [Formdata.verify, formdata1]]); 47 48 Phase("phase3", [ 49 [Sync], 50 [Formdata.delete, formdata_delete], 51 [Formdata.verifyNot, formdata_delete], 52 [Formdata.verify, formdata2], 53 // add new data after the first Sync, ensuring the tracker works. 54 [Formdata.add, formdata_new], 55 [Sync], 56 ]); 57 58 Phase("phase4", [ 59 [Sync], 60 [Formdata.verify, formdata2], 61 [Formdata.verify, formdata_new], 62 [Formdata.verifyNot, formdata_delete], 63 ]);