1 /* vim:set ts=2 sw=2 sts=2 et cindent tw=79 ft=javascript: */
3 * Copyright (C) 2007,2008 Sergey Yanovich <ynvich@gmail.com>
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License as
7 * published by the Free Software Foundation; either version 2 of the
8 * License, or (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
15 * You should have received a copy of the GNU General Public
16 * License along with this program; if not, write to the
17 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 * Boston, MA 02111-1307, USA.
21 const nsCI = Components.interfaces
22 const moduleName = "aaTestAccountViews";
23 const moduleCID = "{afd38c04-819b-4823-ad6a-22c6d05b3774}";
24 const moduleContractID = "@aasii.org/abstract/test/vc-accounts;1";
26 Components.utils.import("resource:///modules/aaTestVC.jsm");
27 Components.utils.import("resource:///modules/aaUITestUtils.jsm");
29 var clickToChoose = "";
30 var profitAndLoss = "";
36 * The NSGetModule function is the magic entry point that XPCOM uses to find
37 * what XPCOM components this module provides
39 function NSGetModule(comMgr, fileSpec)
41 var loader = Components.classes["@mozilla.org/moz/jssubscript-loader;1"]
42 .getService(Components.interfaces.mozIJSSubScriptLoader);
43 loader.loadSubScript("resource:///modules/nsTestFrame.jsm");
44 loader.loadSubScript("resource:///modules/aaTestNames.jsm");
46 var aaVCTestModule = new JSTestModule();
47 aaVCTestModule.init = ModuleInit;
48 aaVCTestModule.init();
49 return aaVCTestModule;
54 this._name = moduleName;
55 this._CID = Components.ID(moduleCID);
56 this._contractID = moduleContractID;
59 this._add(chart_page_CID, chart_page_contractID,
60 chart_page_name, chart_page_test, chart_page_check);
62 this._add(chart_resource_CID, chart_resource_contractID, chart_resource_name,
63 chart_resource_test, resource_select_check);
65 this._add(chart_resource_submit_CID, chart_resource_submit_contractID,
66 chart_resource_submit_name, resource_submit_test,
67 chart_resource_submit_check);
68 this._tests[2].instance.item = 0;
72 this._add(transfer_page_CID, transfer_page_contractID,
73 transfer_page_name, transfer_page_test, transfer_page_check);
75 this._add(transfer_to_CID, transfer_to_contractID, transfer_to_name,
76 transfer_to_test, flow_select_check);
78 this._add(transfer_to_discard_CID, transfer_to_discard_contractID,
79 transfer_to_discard_name, flow_discard_test,
80 transfer_to_discard_check);
81 this._tests[6].instance.item = 0;
85 this._add(transfer_to_create_CID, transfer_to_create_contractID,
86 transfer_to_create_name, transfer_to_create_test, resource_select_check);
88 this._add(subflow_give_submit_CID, subflow_give_submit_contractID,
89 subflow_give_submit_name, resource_submit_test,
91 this._tests[9].instance.item = 1;
93 this._add(subflow_take_select_CID, subflow_take_select_contractID,
94 subflow_take_select_name, flow_take_test, resource_select_check);
96 this._add(subflow_take_submit_CID, subflow_take_submit_contractID,
97 subflow_take_submit_name, resource_submit_test,
99 this._tests[11].instance.item = 1;
101 this._add(subflow_entity_select_CID, subflow_entity_select_contractID,
102 subflow_entity_select_name, flow_entity_test, entity_select_check);
104 this._add(subflow_entity_submit_CID, subflow_entity_submit_contractID,
105 subflow_entity_submit_name, resource_submit_test,
107 this._tests[13].instance.item = 1;
109 this._add(transfer_to_submit_CID, transfer_to_submit_contractID,
110 transfer_to_submit_name, transfer_to_submit_test,
112 this._tests[14].instance.item = 1;
114 this._add(transfer_from_CID, transfer_from_contractID, transfer_from_name,
115 transfer_from_test, flow_select_check);
117 this._add(transfer_from_discard_CID, transfer_from_discard_contractID,
118 transfer_from_discard_name, flow_discard_test,
119 transfer_from_discard_check);
123 this._add(transfer_from_submit_CID, transfer_from_submit_contractID,
124 transfer_from_submit_name, flow_submit_test, transfer_from_submit_check);
125 this._tests[18].instance.item = 0;
127 this._add(transfer_save_CID, transfer_save_contractID,
128 transfer_save_name, transfer_save_test, flow_select_check);
130 this._add(submit_after_reset_CID, submit_after_reset_contractID,
131 submit_after_reset_name, flow_submit_test,
132 submit_after_reset_check);
133 this._tests[20].instance.item = 1;
135 this._add(account_page_CID, account_page_contractID, account_page_name,
136 account_page_test, account_page_check);
138 this._add(transcript_page_CID, transcript_page_contractID,
139 transcript_page_name, transcript_page_test, transcript_page_check);
141 this._add(transcript_flow_CID, transcript_flow_contractID, transcript_flow_name,
142 transcript_flow_test, flow_select_check);
144 this._add(tf_discard_CID, tf_discard_contractID, tf_discard_name,
145 flow_discard_test, transcript_flow_discard_check);
146 this._tests[24].instance.item = 0;
150 this._add(tf_submit_CID, tf_submit_contractID, tf_submit_name,
151 flow_submit_test, transcript_flow_submit_check);
152 this._tests[26].instance.item = 1;
154 this._add(transcript_load_CID, transcript_load_contractID,
155 transcript_load_name, transcript_load_test);
157 this._add(transcript_after_flow_CID, transcript_after_flow_contractID,
158 transcript_after_flow_name, transcript_after_flow_test);
160 this._add(transcript_income_flow_CID, transcript_income_flow_contractID,
161 transcript_income_flow_name, transcript_income_flow_test);
163 this._add(rate_page_CID, rate_page_contractID,
164 rate_page_name, rate_page_test, rate_page_check);
166 this._add(rate_resource_CID, rate_resource_contractID, rate_resource_name,
167 rate_resource_test, resource_select_check);
169 this._add(rate_resource_discard_CID, rate_resource_discard_contractID,
170 rate_resource_discard_name, resource_discard_test,
171 rate_resource_discard_check);
175 this._add(rate_resource_submit_CID, rate_resource_submit_contractID,
176 rate_resource_submit_name, resource_submit_test,
177 rate_resource_submit_check);
178 this._tests[34].instance.item = 3;
180 this._add(rate_save_CID, rate_save_contractID,
181 rate_save_name, rate_save_test);
183 this._add(rate_digits_CID, rate_digits_contractID,
184 rate_digits_name, rate_digits_test);
186 this._add(ledger_page_CID, ledger_page_contractID,
187 ledger_page_name, ledger_page_test, ledger_page_check);
189 this._add(tasp_CID, tasp_contractID, tasp_name,
190 transfer_page_test, tasp_select_from);
194 this._add(tasff_CID, tasff_contractID,
195 tasff_name, flow_submit_test, tasff_check);
196 this._tests[this._tests.length - 1].instance.item = 3;
199 this._add(tastf_CID, tastf_contractID,
200 tastf_name, flow_submit_test, tastf_check);
201 this._tests[this._tests.length - 1].instance.item = 0;
204 function initLocaleSymbols()
206 var heap = Components.classes["@mozilla.org/intl/stringbundle;1"]
207 .createInstance(nsCI.nsIStringBundleService);
208 var bundle = heap.createBundle(
209 "chrome://abstract/locale/abstract.properties");
210 clickToChoose = bundle.GetStringFromName("link.choose");
211 profitAndLoss = bundle.GetStringFromName("terms.profits");
212 debitTerm = bundle.GetStringFromName("terms.debit");
213 creditTerm = bundle.GetStringFromName("terms.credit");
216 /* Module-specific Defines and Utilities */
217 const contentId = "content";
219 /* Account Page Test */
220 const account_page_contractID = "@aasii.org/abstract/test/account-balance;1";
221 const account_page_name = "aaAccountPageTest";
222 const account_page_CID = Components.ID("{3391fcd8-e122-4e31-9162-f114fe2d843d}");
224 function account_page_test(runner)
226 runner.doCommand("cmd_report_balances");
227 runner.watchWindow = getFrame(runner).contentWindow;
230 function account_page_check(runner)
232 var tree = getElement(runner, "balances.tree");
233 var view = tree.view;
234 var date = getElement(runner, "filter.date");
235 date.value = "2008-02-06";
238 runner.addJSFailure("[balances page] failed");
240 if (view.getCellText(0,tree.columns[3]) != "")
241 runner.addJSFailure("transcript.tree.line1.col4 failed");
242 if (view.getCellText(1,tree.columns[3]) != "100.00")
243 runner.addJSFailure("transcript.tree.line2.col4 failed");
244 if (view.getCellText(2,tree.columns[3]) != "10000.00")
245 runner.addJSFailure("transcript.tree.line3.col4 failed");
246 if (view.getCellText(3,tree.columns[3]) != "20000.00")
247 runner.addJSFailure("transcript.tree.line4.col4 failed");
248 if (view.getCellText(4,tree.columns[3]) != "")
249 runner.addJSFailure("transcript.tree.line5.col4 failed");
251 if (view.getCellText(0,tree.columns[4]) != "30000.00")
252 runner.addJSFailure("transcript.tree.line1.col4 failed");
253 if (view.getCellText(1,tree.columns[4]) != "")
254 runner.addJSFailure("transcript.tree.line2.col4 failed");
255 if (view.getCellText(2,tree.columns[4]) != "")
256 runner.addJSFailure("transcript.tree.line3.col4 failed");
257 if (view.getCellText(3,tree.columns[4]) != "")
258 runner.addJSFailure("transcript.tree.line4.col4 failed");
259 if (view.getCellText(4,tree.columns[4]) != "0.00")
260 runner.addJSFailure("transcript.tree.line5.col4 failed");
262 getElement(runner, "units.mode").selectedIndex = 1;
264 if (tree.view.getCellText(0,tree.columns[0]) != aaTestNames.FlowTag[0])
265 runner.addJSFailure("balance.tree.line1.col1 failed");
266 if (tree.view.getCellText(0,tree.columns[1]) != aaTestNames.EntityTag[0])
267 runner.addJSFailure("balance.tree.line1.col2 failed");
268 if (tree.view.getCellText(0,tree.columns[2]) != aaTestNames.ResourceTag[0])
269 runner.addJSFailure("balance.tree.line1.col3 failed");
270 if (tree.view.getCellText(0,tree.columns[3]) != "")
271 runner.addJSFailure("balance.tree.line3.col4 failed");
272 if (tree.view.getCellText(0,tree.columns[4]) != "30000.00")
273 runner.addJSFailure("balance.tree.line1.col5 failed");
274 if (tree.view.getCellText(3,tree.columns[3]) != "20000.00")
275 runner.addJSFailure("balance.tree.line3.col4 failed");
277 if (getElement(runner, "footer.sumDebit").value != "40000.00")
278 runner.addJSFailure("balance.totalAssets is wrong: "
279 + getElement(runner, "footer.sumDebit").value);
280 if (getElement(runner, "footer.sumCredit").value != "40000.00")
281 runner.addJSFailure("balance.totalLiabilities is wrong: "
282 + getElement(runner, "footer.sumCredit").value);
285 /* Transcript Page Test */
286 const transcript_page_contractID = "@aasii.org/abstract/test/account-transcript;1";
287 const transcript_page_name = "aaTranscriptPageTest";
288 const transcript_page_CID = Components.ID("{d7a1753e-7d74-4f8a-940d-317d37c369ee}");
290 function transcript_page_test(runner)
292 runner.doCommand("cmd_report_transcript");
293 runner.watchWindow = getFrame(runner).contentWindow;
296 function transcript_check(runner)
298 if (! getElement(runner, "transcript.tree"))
299 runner.addJSFailure("[transcript page] tree failed");
300 if (! getElement(runner, "filter.flow"))
301 runner.addJSFailure("[transcript page] flow link failed");
304 const transcript1DateFrom = "2008-02-04";
305 const transcript1DateTo = "2008-02-06";
307 function transcript_page_check(runner)
309 transcript_check(runner);
310 var tree = getElement(runner, "transcript.tree");
311 // XXX 403202 'Unflexing' the tree speeds up reflow significantly
312 if (tree && tree.hasAttribute("flex"))
313 tree.removeAttribute("flex");
315 getElement(runner, "filter.dateFrom").value = transcript1DateFrom;
316 sendOnChange(getElement(runner, "filter.dateFrom"));
317 getElement(runner, "filter.dateTo").value = transcript1DateTo;
318 sendOnChange(getElement(runner, "filter.dateTo"));
319 if (getElement(runner, "filter.cancel").hasAttribute("collapsed"))
320 runner.addJSFailure("[transcript page] 'change' command");
323 /* ask for flow from transcript page */
324 const transcript_flow_contractID = "@aasii.org/test/transcript-flow;1";
325 const transcript_flow_name = "aaVCTranscriptFlowTest";
326 const transcript_flow_CID = Components.ID("{b4fe65f6-c55e-491c-a039-27c0beff12cc}");
328 function transcript_flow_test(runner)
330 sendOnClick(getElement(runner, "filter.flow"));
331 runner.watchWindow = getFrame(runner).contentWindow;
334 const tf_discard_contractID = "@aasii.org/test/transcript-flow-discard;1";
335 const tf_discard_name = "aaVCTranscriptFlowDiscardTest";
336 const tf_discard_CID = Components.ID("{a122d947-3fb2-4796-87fe-22c67706bd9a}");
338 function transcript_flow_discard_check(runner)
340 transcript_check(runner);
341 if (getElement(runner, "filter.flow").value != clickToChoose)
342 runner.addJSFailure("[transcript->flow] discard failed");
345 const tf_submit_contractID = "@aasii.org/test/transcript-flow-submit;1";
346 const tf_submit_name = "aaVCTranscriptFlowSubmitTest";
347 const tf_submit_CID = Components.ID("{3197a8bb-1fd1-453e-98d8-6bc7996552a5}");
349 function transcript_flow_submit_check(runner)
351 transcript_check(runner);
352 if (getElement(runner, "filter.flow").value != aaTestNames.FlowTag[1])
353 runner.addJSFailure("[transcript->flow] submit failed: "
354 + getElement(runner, "filter.flow").value + "!=" + aaTestNames.FlowTag[1]);
357 /* submit/discard from flow page */
358 function flow_select_check(runner)
361 var tree = getElement(runner, "page1.tree");
362 // XXX 403202 'Unflexing' the tree speeds up reflow significantly
363 if (tree && tree.hasAttribute("flex"))
364 tree.removeAttribute("flex");
366 if (getAnnoElement(runner, "header", "header.discard")
367 .getAttribute("collapsed") == "true")
368 runner.addJSFailure("flow.discard button should be visible");
369 if (getAnnoElement(runner, "header", "header.submit")
370 .getAttribute("collapsed") == "true")
371 runner.addJSFailure("flow.submit button should be visible");
372 if (getElement(runner, "cmd_page1_discard")
373 .getAttribute("disabled") == "true")
374 runner.addJSFailure("flow_discard command should be enabled");
375 if (getElement(runner, "cmd_page1_submit")
376 .getAttribute("disabled") == "true")
377 runner.addJSFailure("flow_submit command should be enabled");
380 function flow_discard_test(runner)
382 getElement(runner,"page1.tree").view.selection.select(this.item);
383 runner.doCommand("cmd_page1_discard");
384 runner.watchWindow = getFrame(runner).contentWindow;
387 function flow_submit_test(runner)
390 this.item = getElement(runner, "page1.tree").view.rowCount + this.item;
391 getElement(runner,"page1.tree").view.selection.select(this.item);
392 runner.doCommand("cmd_page1_submit");
393 runner.watchWindow = getFrame(runner).contentWindow;
396 function flow_last_line_check(runner)
398 var tree = getElement(runner, "page1.tree");
399 var view = tree.view;
400 if (view.getCellText(view.rowCount - 1, tree.columns[0])
402 runner.addJSFailure("[flow page] wrong tag on the last line");
405 /* Transcript Load Test */
406 const transcript_load_contractID = "@aasii.org/abstract/test/transcript-load;1";
407 const transcript_load_name = "aaTranscriptLoadTest";
408 const transcript_load_CID = Components.ID("{335e1a8e-f8a0-4a9d-850b-0404cd2db9e5}");
410 function transcript_load_test(runner)
412 var loadLnk = getElement(runner, "transcript.load");
413 var startDate = getElement(runner, "filter.dateFrom");
414 var endDate = getElement(runner, "filter.dateTo");
415 var tree = getElement(runner, "transcript.tree");
416 var view = tree.view.QueryInterface(nsCI.nsITreeView);
418 sendOnClick(loadLnk);
420 if (getElement(runner, "filter.group").getAttribute("collapsed") != "true")
421 runner.addJSFailure("[transcript load] filter not hidden");
423 if (getElement(runner, "header.flow").value != aaTestNames.FlowTag[1])
424 runner.addJSFailure("[transcript load] wrong flow: "
425 + getElement(runner, "header.flow").value);
426 if (getElement(runner, "header.dateFrom").value != transcript1DateFrom)
427 runner.addJSFailure("[transcript load] [1] wrong 'from' date");
428 if (getElement(runner, "header.sumDebitFrom").value != "0.00")
429 runner.addJSFailure("[transcript load] [1] wrong 'from' debit");
430 if (getElement(runner, "header.sumCreditFrom").value != "0.00")
431 runner.addJSFailure("[transcript load] [1] wrong 'from' credit");
432 if (getElement(runner, "header.dateTo").value != transcript1DateTo)
433 runner.addJSFailure("[transcript load] [1] wrong 'to' date");
434 if (getElement(runner, "header.sumDebits").value != "300.00")
435 runner.addJSFailure("[transcript load] [1] wrong total debit");
436 if (getElement(runner, "header.sumCredits").value != "200.00")
437 runner.addJSFailure("[transcript load] [1] wrong total credit");
438 if (getElement(runner, "header.sumDebitTo").value != "100.00")
439 runner.addJSFailure("[transcript load] [1] wrong 'to' debit");
440 if (getElement(runner, "header.sumCreditTo").value != "0.00")
441 runner.addJSFailure("[transcript load] [1] wrong 'to' credit");
443 if (view.getCellText(0,tree.columns[0]) != "2008-02-04")
444 runner.addJSFailure("transcript.tree.line1.col1 failed");
445 if (view.getCellText(1,tree.columns[0]) != "2008-02-05")
446 runner.addJSFailure("transcript.tree.line2.col1 failed");
448 if (view.getCellText(0,tree.columns[1]) != aaTestNames.FlowTag[0])
449 runner.addJSFailure("transcript.tree.line1.col2 failed");
450 if (view.getCellText(1,tree.columns[1]) != "c")
451 runner.addJSFailure("transcript.tree.line2.col2 failed");
453 if (view.getCellText(0,tree.columns[2]) != "300.00")
454 runner.addJSFailure("transcript.tree.line1.col3 failed");
455 if (view.getCellText(1,tree.columns[2]) != "")
456 runner.addJSFailure("transcript.tree.line2.col3 failed");
458 if (view.getCellText(0,tree.columns[3]) != "")
459 runner.addJSFailure("transcript.tree.line1.col4 failed");
460 if (view.getCellText(1,tree.columns[3]) != "200.00")
461 runner.addJSFailure("transcript.tree.line2.col4 failed");
463 getElement(runner, "units.mode").selectedIndex = 1;
465 if (view.getCellText(0,tree.columns[2]) != "30000.00")
466 runner.addJSFailure("transcript.tree.line1.col3 failed");
467 if (view.getCellText(1,tree.columns[2]) != "")
468 runner.addJSFailure("transcript.tree.line2.col3 failed");
470 if (view.getCellText(0,tree.columns[3]) != "")
471 runner.addJSFailure("transcript.tree.line1.col4 failed");
472 if (view.getCellText(1,tree.columns[3]) != "20000.00")
473 runner.addJSFailure("transcript.tree.line2.col4 failed");
475 /* Test for bug #133 */
476 if (getElement(runner, "header.sumDebitTo").value != "10000.00")
477 runner.addJSFailure("[transcript load] [1] wrong 'to' debit");
478 if (getElement(runner, "header.sumCreditTo").value != "0.00")
479 runner.addJSFailure("[transcript load] [1] wrong 'to' credit");
481 if (getElement(runner, "header.sumDebits").value != "30000.00")
482 runner.addJSFailure("[transcript load] [1] wrong total debit");
483 if (getElement(runner, "header.sumCredits").value != "20000.00")
484 runner.addJSFailure("[transcript load] [1] wrong total credit");
487 /* Tests for Flow-in-Transcript-Selection bug #122 */
488 const transcript_after_flow_contractID = "@aasii.org/abstract/test/trasncript-after-flow;1";
489 const transcript_after_flow_name = "aaTranscriptAfterFlowP1";
490 const transcript_after_flow_CID = Components.ID("{b9c0df9d-6036-43c7-b0b4-d4e2f3092601}");
492 function transcript_after_flow_test(runner)
494 var loader = Components.classes["@aasii.org/storage/load-flow;1"].
495 createInstance(nsCI.aaISqlRequest);
496 var flows = getFrame(runner).docShell.QueryInterface(nsCI.nsIWebNavigation)
497 .sessionHistory.load(loader);
498 getFrame(runner).contentWindow.wrappedJSObject.gView.param.flow = flows
499 .queryElementAt(3, nsCI.aaIFlow);
501 var tree = getElement(runner, "transcript.tree");
502 var view = tree.view.QueryInterface(nsCI.nsITreeView);
504 if (view.getCellText(0,tree.columns[1]) != aaTestNames.FlowTag[0])
505 runner.addJSFailure("transcript.tree.line3.col2 failed: " +
506 view.getCellText(0,tree.columns[1]) + "!=" + aaTestNames.FlowTag[0]);
509 /* Tests for income-flow display */
510 const transcript_income_flow_contractID = "@aasii.org/abstract/test/trasncript-income-flow;1";
511 const transcript_income_flow_name = "aaTranscriptIncomeFlowP1";
512 const transcript_income_flow_CID = Components.ID("{07f18646-a3be-4ab5-9edd-7b2b899f00b8}");
514 function transcript_income_flow_test(runner)
516 var loadLnk = getElement(runner, "transcript.load");
517 var startDate = getElement(runner, "filter.dateFrom");
518 var endDate = getElement(runner, "filter.dateTo");
519 var tree = getElement(runner, "transcript.tree");
520 var view = tree.view.QueryInterface(nsCI.nsITreeView);
522 getFrame(runner).contentWindow.wrappedJSObject.gView.param.flow =
523 Components.classes["@aasii.org/base/income-flow;1"]
524 .createInstance(nsCI.aaIFlow);
526 startDate.value = "2008-02-04";
527 endDate.value = "2008-02-06";
529 sendOnClick(loadLnk);
531 if (getElement(runner, "header.dateFrom").value != "2008-02-04")
532 runner.addJSFailure("[transcript load] [2] wrong 'from' date");
533 if (getElement(runner, "header.sumDebitFrom").value != "0.00")
534 runner.addJSFailure("[transcript load] [2] wrong 'from' debit");
535 if (getElement(runner, "header.sumCreditFrom").value != "0.00")
536 runner.addJSFailure("[transcript load] [2] wrong 'from' credit");
537 if (getElement(runner, "header.dateTo").value != "2008-02-06")
538 runner.addJSFailure("[transcript load] [2] wrong 'to' date");
539 if (getElement(runner, "header.sumDebitTo").value != "0.00")
540 runner.addJSFailure("[transcript load] [2] wrong 'to' debit");
541 if (getElement(runner, "header.sumCreditTo").value != "10000.00")
542 runner.addJSFailure("[transcript load] [2] wrong 'to' credit");
543 if (view.rowCount != 1)
544 runner.addJSFailure("[transcript load] [2] line count");
546 if (view.getCellText(0,tree.columns[0]) != "2008-02-05")
547 runner.addJSFailure("transcript.tree.line1.col1 failed");
549 if (view.getCellText(0,tree.columns[1]) != "c")
550 runner.addJSFailure("transcript.tree.line1.col2 failed");
552 if (view.getCellText(0,tree.columns[2]) != "")
553 runner.addJSFailure("transcript.tree.line1.col3 failed");
555 if (view.getCellText(0,tree.columns[3]) != "10000.00")
556 runner.addJSFailure("transcript.tree.line1.col4 failed");
559 /* Chart Page Test */
560 const chart_page_contractID = "@aasii.org/abstract/test/account-chart;1";
561 const chart_page_name = "aaChartPageTest";
562 const chart_page_CID = Components.ID("{9166dd77-6add-4104-a75e-cbdc41c6d3df}");
564 function chart_page_test(runner)
567 runner.doCommand("cmd_manage_chart");
568 runner.watchWindow = getFrame(runner).contentWindow;
571 function chart_sync_check(runner)
574 var wnd = getFrame(runner).contentWindow.wrappedJSObject;
575 var chart = wnd.gView.chart;
576 var loaded = wnd.gLoaded;
578 runner.addJSFailure(" no chart object");
582 if (chart.resource && chart.resource.tag
583 != getElement(runner, "chart.resource").value)
584 runner.addJSFailure(" chart.resource is wrong");
586 if ( loaded ^ getElement(runner, "chart.set").hasAttribute("collapsed")) {
587 runner.addJSFailure(" chart.set command out of sync");
594 function chart_check(runner)
597 if (getFrame(runner).contentWindow.location.href !=
598 "chrome://abstract/content/chart.xul") {
599 runner.addJSFailure(" [chart] wrong xul document");
603 if ( ! chart_sync_check(runner) )
609 function chart_page_check(runner)
611 if (! chart_check(runner))
612 runner.addJSFailure("[chart page]");
615 /* ask for resource from chart page */
616 const chart_resource_contractID = "@aasii.org/test/chart-resource;1";
617 const chart_resource_name = "aaVCChartResourceTest";
618 const chart_resource_CID = Components.ID("{0a83a675-ebbd-4796-9147-5a423b83d20b}");
620 function chart_resource_test(runner)
622 sendOnClick(getElement(runner, "chart.resource"));
623 runner.watchWindow = getFrame(runner).contentWindow;
626 const chart_resource_submit_contractID = "@aasii.org/test/chart-resource-submit;1";
627 const chart_resource_submit_name = "aaVCChartResourceSubmitTest";
628 const chart_resource_submit_CID = Components.ID("{5b81d3f1-55a1-4f37-b608-992d8f094741}");
630 function chart_resource_submit_check(runner)
632 if (! chart_check(runner))
633 runner.addJSFailure("[chart->resource] wrong page init");
635 if (getElement(runner, "chart.resource").value != aaTestNames.ResourceTag[0])
636 runner.addJSFailure("[chart->resource] submit failed: "
637 + getElement(runner, "chart.resource").value);
639 sendOnClick(getElement(runner, "chart.set"));
640 if ( ! chart_sync_check(runner))
641 runner.addJSFailure("[chart->date] out of sync");
644 /* Transfer Page Test */
645 const transfer_page_contractID = "@aasii.org/abstract/test/account-transfer;1";
646 const transfer_page_name = "aaTransferPageTest";
647 const transfer_page_CID = Components.ID("{950daefb-95ba-4960-a11a-b88af6cf6cad}");
649 function transfer_page_test(runner)
651 runner.doCommand("cmd_process_transfer");
652 runner.watchWindow = getFrame(runner).contentWindow;
655 function transfer_sync_check(runner)
657 var wnd = getFrame(runner).contentWindow.wrappedJSObject;
660 runner.addJSFailure("[transfer sync] getting window");
665 runner.addJSFailure("[transfer sync] getting fact object");
669 if (getElement(runner, "transfer.fromFlow").value != (wnd.gFact.takeFrom ?
670 wnd.gFact.takeFrom.tag : clickToChoose)) {
671 runner.addJSFailure(" 'fromFlow.tag' is wrong:" + getElement(runner,
672 "transfer.fromFlow").value);
676 if (getElement(runner, "transfer.toFlow").value != (wnd.gFact.giveTo ?
677 wnd.gFact.giveTo.tag : clickToChoose)) {
678 runner.addJSFailure(" 'toFlow.tag' is wrong: " + getElement(runner,
679 "transfer.toFlow").value);
683 if (getElement(runner, "transfer.amount").value != wnd.gFact.amount) {
684 runner.addJSFailure(" 'amount' is wrong: " + getElement(runner,
685 "transfer.amount").value);
689 var time = new Date(wnd.gEvent.time / 1000);
690 if (getElement(runner, "transfer.date").value != time
691 .toLocaleFormat('%Y-%m-%d')) {
692 runner.addJSFailure(" 'date' is wrong: " + getElement(runner,
693 "transfer.date").value + " - " + time.toLocaleFormat('%Y-%m-%d'));
697 if ((wnd.gTransaction && (getElement(runner, "transfer.value").value
698 != wnd.gTransaction.value.toFixed(2))) || !wnd.gTransaction
699 && (getElement(runner, "transfer.value").value != "")) {
700 runner.addJSFailure(" 'value' is wrong: " + getElement(runner,
701 "transfer.value").value);
708 function transfer_check(runner)
711 if (getFrame(runner).docShell.QueryInterface(nsCI.nsIWebNavigation)
712 .currentURI.spec != "chrome://abstract/content/transfer.xul") {
713 runner.addJSFailure(" [transfer] wrong xul document");
716 if (! transfer_sync_check(runner)) {
717 runner.addJSFailure(" [transfer] page out of sync");
724 function transfer_page_check(runner)
726 if (! transfer_check(runner))
727 runner.addJSFailure("[transfer page] wrong initialization");
729 if (getElement(runner, "transfer.amount").value != "0")
730 runner.addJSFailure(" 'amount' is wrong: " + getElement(runner,
731 "transfer.amount").value);
733 var junk = Components.classes["@aasii.org/base/flow;1"].createInstance(nsCI.aaIFlow);
735 var wnd = getFrame(runner).contentWindow.wrappedJSObject;
736 wnd.gFact.takeFrom = junk;
737 wnd.gFact.giveTo = junk;
740 /* ask for 'from' flow from transfer page */
741 const transfer_from_contractID = "@aasii.org/test/transfer-from;1";
742 const transfer_from_name = "aaVCTransferFromTest";
743 const transfer_from_CID = Components.ID("{7ad5abf7-53b9-468d-b50c-4d9614a9dc14}");
745 function transfer_from_test(runner)
747 sendOnClick(getElement(runner, "transfer.fromFlow"));
748 runner.watchWindow = getFrame(runner).contentWindow;
751 const transfer_from_discard_contractID = "@aasii.org/test/transfer-from-discard;1";
752 const transfer_from_discard_name = "aaVCTransferFromDiscardTest";
753 const transfer_from_discard_CID = Components.ID("{ca063e94-1b9c-4e53-bf25-9fa8af605def}");
755 function transfer_from_discard_check(runner)
757 if (! transfer_check(runner))
758 runner.addJSFailure("[transfer->fromFlow] wrong init");
760 if (getElement(runner, "transfer.fromFlow").value != "junk")
761 runner.addJSFailure("[transfer->fromFlow] discard failed");
764 const transfer_from_submit_contractID = "@aasii.org/test/transfer-from-submit;1";
765 const transfer_from_submit_name = "aaVCTransferFromSubmitTest";
766 const transfer_from_submit_CID = Components.ID("{aaf7ec49-e9aa-45a8-b630-56b6659fa6ad}");
768 function transfer_from_submit_check(runner)
770 if (! transfer_check(runner))
771 runner.addJSFailure("[transfer->fromFlow] wrong page init");
773 if (getElement(runner, "transfer.fromFlow").value != aaTestNames.FlowTag[0])
774 runner.addJSFailure("[transfer->fromFlow] submit failed:"
775 + getElement(runner, "transfer.fromFlow").value);
778 /* ask for 'to' flow from transfer page */
779 const transfer_to_contractID = "@aasii.org/test/transfer-to;1";
780 const transfer_to_name = "aaVCTransferToTest";
781 const transfer_to_CID = Components.ID("{3c13bbbd-927b-4b67-be0a-2f80691bed1e}");
783 function transfer_to_test(runner)
785 sendOnClick(getElement(runner, "transfer.toFlow"));
786 runner.watchWindow = getFrame(runner).contentWindow;
789 const transfer_to_discard_contractID = "@aasii.org/test/transfer-to-discard;1";
790 const transfer_to_discard_name = "aaVCTransferToDiscardTest";
791 const transfer_to_discard_CID = Components.ID("{a04d7093-663b-4c24-9c96-028c67b89df3}");
793 function transfer_to_discard_check(runner)
795 if (! transfer_check(runner))
796 runner.addJSFailure("[transfer->toFlow] wrong init");
798 if (getElement(runner, "transfer.toFlow").value != "junk")
799 runner.addJSFailure("[transfer->toFlow] discard failed");
802 const transfer_to_create_contractID = "@aasii.org/test/transfer-to-create;1";
803 const transfer_to_create_name = "aaVCTransferToCreateTest";
804 const transfer_to_create_CID = Components.ID("{4c2eed92-0acd-4a60-9003-13e558ce961e}");
806 function transfer_to_create_test(runner)
808 flow_last_line_check(runner);
809 runner.doCommand("cmd_page1_new");
810 runner.doCommand("cmd_flow_give");
811 runner.watchWindow = getFrame(runner).contentWindow;
814 const subflow_give_submit_contractID = "@aasii.org/test/subflow-give-submit;1";
815 const subflow_give_submit_name = "aaVCSubflowGiveSubmitTest";
816 const subflow_give_submit_CID = Components.ID("{9daed633-4b08-4220-8931-4152f7bc5066}");
818 const subflow_take_submit_contractID = "@aasii.org/test/subflow-take-submit;1";
819 const subflow_take_submit_name = "aaVCSubflowtakeSubmitTest";
820 const subflow_take_submit_CID = Components.ID("{6b652c77-8368-42ca-9768-8376bad338ae}");
822 const subflow_take_select_contractID = "@aasii.org/test/subflow-take-select;1";
823 const subflow_take_select_name = "aaVCSubflowtakeSelectTest";
824 const subflow_take_select_CID = Components.ID("{479b48f0-a20f-488d-b219-dbfee74b15bd}");
826 const subflow_entity_submit_contractID = "@aasii.org/test/subflow-entity-submit;1";
827 const subflow_entity_submit_name = "aaVCSubflowGiveSubmitTest";
828 const subflow_entity_submit_CID = Components.ID("{316884a0-4623-4c49-b214-819bc7b98bc6}");
830 const subflow_entity_select_contractID = "@aasii.org/test/subflow-entity-select;1";
831 const subflow_entity_select_name = "aaVCSubflowGiveSelectTest";
832 const subflow_entity_select_CID = Components.ID("{63ecefa6-b153-4d83-a812-f23ae777d0f0}");
834 const transfer_to_submit_contractID = "@aasii.org/test/transfer-to-submit;1";
835 const transfer_to_submit_name = "aaVCTransferToSubmitTest";
836 const transfer_to_submit_CID = Components.ID("{dbd1150c-c80c-4a95-8a02-2906c0d06dd3}");
838 function transfer_to_submit_test(runner)
840 getElement(runner, "flow.tag").value = aaTestNames.FlowTag[1];
841 sendOnInput(getElement(runner, "flow.tag"));
843 getElement(runner, "flow.rate").value = "1.0";
844 sendOnInput(getElement(runner, "flow.rate"));
846 runner.doCommand("cmd_page1_save");
847 add_flow_when_selecting_check(runner);
849 this.item = getElement(runner, "page1.tree").view.rowCount + this.item;
850 getElement(runner,"page1.tree").view.selection.select(this.item);
851 runner.doCommand("cmd_page1_submit");
852 runner.watchWindow = getFrame(runner).contentWindow;
855 const transfer_save_contractID = "@aasii.org/test/transfer-save;1";
856 const transfer_save_name = "aaVCTransferSaveTest";
857 const transfer_save_CID = Components.ID("{bcb12042-4b82-4e71-949b-228b444e344c}");
859 function transfer_save_test(runner)
861 var amount = getElement(runner, "transfer.amount");
862 amount.value = "300";
864 if (! transfer_sync_check(runner))
865 runner.addJSFailure("[transfer save] page out of sync");
866 var date = getElement(runner, "transfer.date");
867 date.value = "2008-02-04";
869 if (! transfer_sync_check(runner))
870 runner.addJSFailure("[transfer save] page out of sync");
872 var commit = getElement(runner, "transfer.commit");
874 if (! transfer_sync_check(runner))
875 runner.addJSFailure("[transfer save] page out of sync");
876 var value = getElement(runner, "transfer.value");
877 if (value.value != "30000.00")
878 runner.addJSFailure("[transfer save] wrong value:" + value.value);
879 var earnings = getElement(runner, "transfer.earnings");
880 if (earnings.value != "")
881 runner.addJSFailure("[transfer save] wrong earnings:" + earnings.value);
882 if (getElement(runner,"transfer.commit").getAttribute("disabled") != "true")
883 runner.addJSFailure("[transfer save] 'commit' not disabled");
884 var reset = getElement(runner, "transfer.reset");
886 if (getElement(runner,"transfer.commit").hasAttribute("disabled"))
887 runner.addJSFailure("[transfer save] 'commit' not enabled");
889 sendOnClick(getElement(runner, "transfer.fromFlow"));
890 runner.watchWindow = getFrame(runner).contentWindow;
893 function submit_after_reset_check(runner)
895 var amount = getElement(runner, "transfer.amount");
896 var date = getElement(runner, "transfer.date");
897 var commit = getElement(runner, "transfer.commit");
898 var value = getElement(runner, "transfer.value");
899 var earnings = getElement(runner, "transfer.earnings");
900 var reset = getElement(runner, "transfer.reset");
902 if (getElement(runner, "transfer.fromFlow").value != aaTestNames.FlowTag[1])
903 runner.addJSFailure("submit after reset failed:"
904 + getElement(runner, "transfer.fromFlow").value);
905 /* Prepare direct database access */
906 var wnd = getFrame(runner).contentWindow.wrappedJSObject;
907 var session = getFrame(runner).docShell.QueryInterface(nsCI.nsIWebNavigation)
909 var entityLoader = Components.classes["@aasii.org/storage/load-entity;1"]
910 .createInstance(nsCI.aaISqlRequest);
911 var entities = session.load(entityLoader);
912 var resourceLoader = Components.classes["@aasii.org/storage/load-resource;1"]
913 .createInstance(nsCI.aaISqlRequest);
914 var resources = session.load(resourceLoader);
915 var flow = Components.classes["@aasii.org/base/flow;1"]
916 .createInstance(nsCI.aaIFlow);
918 /* Create flow 'c' */
920 flow.entity = entities.queryElementAt(2, nsCI.aaIEntity);
921 flow.giveResource = resources.queryElementAt(1, nsCI.aaIResource);
922 flow.takeResource = resources.queryElementAt(0, nsCI.aaIResource);
924 session.save(flow, null);
926 /* Create flow 'd' */
927 flow = Components.classes["@aasii.org/base/flow;1"]
928 .createInstance(nsCI.aaIFlow);
930 flow.entity = entities.queryElementAt(3, nsCI.aaIEntity);
931 flow.giveResource = resources.queryElementAt(0, nsCI.aaIResource);
932 flow.takeResource = resources.queryElementAt(0, nsCI.aaIResource);
934 session.save(flow, null);
937 var flowLoader = Components.classes["@aasii.org/storage/load-flow;1"]
938 .createInstance(nsCI.aaISqlRequest);
939 var flows = session.load(flowLoader);
941 /* Add transfer 'b'->'c' of 200 */
942 //wnd.gFact.takeFrom = flows.queryElementAt(1, nsCI.aaIFlow);
943 wnd.gFact.giveTo = flows.queryElementAt(2, nsCI.aaIFlow);
944 amount.value = "200";
946 date.value = "2008-02-05";
949 if (value.value != "20000.00")
950 runner.addJSFailure("[transfer save] wrong value:" + value.value);
951 if (earnings.value != "10000.00")
952 runner.addJSFailure("[transfer save] wrong earnings:" + earnings.value);
955 /* Add transfer 'c'->'d' of 20000 */
956 wnd.gFact.takeFrom = flows.queryElementAt(2, nsCI.aaIFlow);
957 wnd.gFact.giveTo = flows.queryElementAt(3, nsCI.aaIFlow);
958 amount.value = "20000";
960 date.value = "2008-02-06";
963 if (value.value != "20000.00")
964 runner.addJSFailure("[transfer save] wrong value:" + value.value);
965 if (earnings.value != "")
966 runner.addJSFailure("[transfer save] wrong earnings:" + earnings.value);
969 const submit_after_reset_contractID = "@aasii.org/test/submit-after-reset;1";
970 const submit_after_reset_name = "aaVCTransferToSubmitAfterReset";
971 const submit_after_reset_CID = Components.ID("{412fc32b-1aed-4efa-8456-ae5a4c2ef29a}");
973 /* test for bug 128 */
974 function add_flow_when_selecting_check(runner)
976 var tree = getElement(runner, "page1.tree");
977 var view = tree.view;
979 if (getElement(runner, "page1.browseSet").hasAttribute("disabled"))
980 runner.addJSFailure("edit status - bug 128 regression");
981 if (view.getCellText(view.selection.currentIndex,tree.columns[0])
982 != aaTestNames.FlowTag[1])
983 runner.addJSFailure("selection - bug 128 regression");
984 tree.view.selection.select(0);
985 if (getElement(runner, "flow.rate").value != "0.01")
986 runner.addJSFailure("rate switch - bug 129 regression");
989 /* test for rate change page */
990 const rate_page_contractID = "@aasii.org/test/rate-page;1";
991 const rate_page_name = "aaVCRatePageTest";
992 const rate_page_CID = Components.ID("{cb01568d-1fb2-4ea9-a468-8d00b50b4c65}");
994 function rate_sync_check(runner)
996 var wnd = getFrame(runner).contentWindow.wrappedJSObject;
999 runner.addJSFailure("[rate sync] getting window");
1003 var details = wnd.view;
1005 runner.addJSFailure("[rate sync] details object is null");
1011 quote = details.buffer;
1012 else if (details._item)
1013 quote = details._item;
1015 var resourceBox = details._resource;
1016 var dateBox = details._date;
1017 var rateBox = details._rate;
1019 if (resourceBox.value != clickToChoose) {
1020 runner.addJSFailure("[rate sync] resource.tag is wrong: "
1021 + resourceBox.value);
1024 if (rateBox.value != "") {
1025 runner.addJSFailure("[rate sync] rate is wrong: "
1031 quote = quote.QueryInterface(nsCI.aaIQuote);
1032 var date = new Date(quote.time / 1000);
1033 if (dateBox.value != date.toLocaleFormat('%Y-%m-%d')) {
1034 runner.addJSFailure("[rate sync] date is wrong: "
1038 if (rateBox.value != quote.rate) {
1039 runner.addJSFailure("[rate sync] rate is wrong: "
1047 function rate_page_test(runner)
1049 runner.doCommand("cmd_manage_rate");
1050 runner.watchWindow = getFrame(runner).contentWindow;
1053 function rate_check(runner)
1056 if (getFrame(runner).docShell.QueryInterface(nsCI.nsIWebNavigation)
1057 .currentURI.spec != "chrome://abstract/content/rate.xul") {
1058 runner.addJSFailure(" [rate page] wrong xul document");
1061 var tree = getElement(runner, "page1.tree");
1062 if (! tree.view.QueryInterface(nsCI.aaIDataTreeView)) {
1063 runner.addJSFailure("[rate page] tree view assingment");
1066 if (! rate_sync_check(runner))
1071 function rate_page_check(runner)
1073 if (!rate_check(runner))
1074 runner.addJSFailure("[rate page] page out of sync");
1075 var tree = getElement(runner, "page1.tree");
1076 if (tree.view.rowCount != 0)
1077 runner.addJSFailure("[rate page] tree not empty");
1078 runner.doCommand("cmd_page1_new");
1079 if (! rate_sync_check(runner))
1080 runner.addJSFailure("[rate page] page out of sync");
1081 var date = getElement(runner, "quote.date");
1082 date.value = "2008-02-06";
1084 if (! rate_sync_check(runner))
1085 runner.addJSFailure("[rate page] page out of sync");
1086 var rate = getElement(runner, "quote.rate");
1087 rate.value = "1.4995";
1089 if (! rate_sync_check(runner))
1090 runner.addJSFailure("[rate page] page out of sync");
1093 /* ask for resource from rate page */
1094 const rate_resource_contractID = "@aasii.org/test/rate-resource;1";
1095 const rate_resource_name = "aaVCRateResourceTest";
1096 const rate_resource_CID = Components.ID("{89919005-f3fb-4d35-8f35-fa0603defbdb}");
1098 function rate_resource_test(runner)
1100 sendOnClick(getElement(runner, "quote.resource"));
1101 runner.watchWindow = getFrame(runner).contentWindow;
1104 const rate_resource_discard_contractID = "@aasii.org/test/rate-resource-discard;1";
1105 const rate_resource_discard_name = "aaVCRateResourceDiscardTest";
1106 const rate_resource_discard_CID = Components.ID("{fd2c7c83-2551-44d4-a06f-b6562b622f7e}");
1108 function rate_resource_discard_check(runner)
1110 if (! rate_check(runner))
1111 runner.addJSFailure("[rate page] wrong init");
1113 if (getElement(runner, "quote.resource").value != clickToChoose)
1114 runner.addJSFailure("[rate page] discard failed");
1117 const rate_resource_submit_contractID = "@aasii.org/test/rate-resource-submit;1";
1118 const rate_resource_submit_name = "aaVCRateResourceSubmitTest";
1119 const rate_resource_submit_CID = Components.ID("{3668794f-4e7a-44d6-bb37-949dc576fba1}");
1121 function rate_resource_submit_check(runner)
1123 if (! rate_check(runner))
1124 runner.addJSFailure("[rate page] wrong page init");
1126 if (getElement(runner, "quote.resource").value != aaTestNames.ResourceTag[3])
1127 runner.addJSFailure("[rate page] submit failed:"
1128 + getElement(runner, "quote.resource").value);
1131 const rate_save_contractID = "@aasii.org/test/rate-save;1";
1132 const rate_save_name = "aaVCRateSaveTest";
1133 const rate_save_CID = Components.ID("{cc30d198-e1ce-4d24-889d-d93ed4857569}");
1135 function rate_save_test(runner)
1137 runner.doCommand("cmd_page1_save");
1138 if (! rate_check(runner))
1139 runner.addJSFailure("[rate save] page out of sync");
1142 const rate_digits_contractID = "@aasii.org/test/rate-digits;1";
1143 const rate_digits_name = "aaVCRateDigitsTest";
1144 const rate_digits_CID = Components.ID("{76c0d5aa-b122-4322-b139-89ad95c88163}");
1146 function rate_digits_test(runner)
1148 var tree = getElement(runner, "page1.tree");
1149 if (tree.view.getCellText(0,tree.columns[2]) != "1.4995")
1150 runner.addJSFailure("ledger.tree.line1.col1 failed:"
1151 + tree.view.getCellText(0,tree.columns[2]));
1154 /* test for general ledger page */
1155 const ledger_page_contractID = "@aasii.org/test/ledger-page;1";
1156 const ledger_page_name = "aaVCLedgerPageTest";
1157 const ledger_page_CID = Components.ID("{49b95893-a0e9-4e5e-9e8f-b2ab2398dccd}");
1159 function ledger_page_test(runner)
1161 runner.doCommand("cmd_report_ledger");
1162 runner.watchWindow = getFrame(runner).contentWindow;
1165 function ledger_check(runner)
1168 if (getFrame(runner).docShell.QueryInterface(nsCI.nsIWebNavigation)
1169 .currentURI.spec != "chrome://abstract/content/ledger.xul") {
1170 runner.addJSFailure(" [ledger page] wrong xul document");
1173 var tree = getElement(runner, "ledger.tree");
1175 runner.addJSFailure("[ledger page] tree view assingment");
1181 function ledger_page_check(runner)
1183 if (!ledger_check(runner)) {
1184 runner.addJSFailure("[ledger page] page out of sync");
1187 var tree = getElement(runner, "ledger.tree");
1188 if (tree.view.rowCount != 6)
1189 runner.addJSFailure("[ledger page] wrong row count:" + tree.view.rowCount);
1190 if (tree.view.getCellText(0,tree.columns[0]) != "2008-02-04")
1191 runner.addJSFailure("ledger.tree.line1.col1 failed");
1192 if (tree.view.getCellText(1,tree.columns[0]) != "")
1193 runner.addJSFailure("ledger.tree.line2.col1 failed");
1194 if (tree.view.getCellText(2,tree.columns[0]) != "2008-02-05")
1195 runner.addJSFailure("ledger.tree.line3.col1 failed");
1196 if (tree.view.getCellText(3,tree.columns[0]) != "")
1197 runner.addJSFailure("ledger.tree.line4.col1 failed");
1198 if (tree.view.getCellText(4,tree.columns[0]) != "2008-02-06")
1199 runner.addJSFailure("ledger.tree.line5.col1 failed:"
1200 + tree.view.getCellText(4,tree.columns[0]));
1201 if (tree.view.getCellText(5,tree.columns[0]) != "")
1202 runner.addJSFailure("ledger.tree.line6.col1 failed");
1204 if (tree.view.getCellText(0,tree.columns[1]) != aaTestNames.ResourceTag[1])
1205 runner.addJSFailure("ledger.tree.line1.col2 failed: "
1206 + tree.view.getCellText(0,tree.columns[1]));
1207 if (tree.view.getCellText(1,tree.columns[1]) != "")
1208 runner.addJSFailure("ledger.tree.line2.col2 failed");
1209 if (tree.view.getCellText(2,tree.columns[1]) != aaTestNames.ResourceTag[1])
1210 runner.addJSFailure("ledger.tree.line3.col2 failed");
1211 if (tree.view.getCellText(3,tree.columns[1]) != "")
1212 runner.addJSFailure("ledger.tree.line4.col2 failed");
1213 if (tree.view.getCellText(4,tree.columns[1]) != aaTestNames.ResourceTag[0])
1214 runner.addJSFailure("ledger.tree.line5.col2 failed:"
1215 + tree.view.getCellText(4,tree.columns[1]));
1216 if (tree.view.getCellText(5,tree.columns[1]) != "")
1217 runner.addJSFailure("ledger.tree.line6.col2 failed");
1219 if (tree.view.getCellText(0,tree.columns[2]) != "300.00")
1220 runner.addJSFailure("ledger.tree.line1.col3 failed");
1221 if (tree.view.getCellText(1,tree.columns[2]) != "")
1222 runner.addJSFailure("ledger.tree.line2.col3 failed");
1223 if (tree.view.getCellText(2,tree.columns[2]) != "200.00")
1224 runner.addJSFailure("ledger.tree.line3.col3 failed");
1225 if (tree.view.getCellText(3,tree.columns[2]) != "")
1226 runner.addJSFailure("ledger.tree.line4.col3 failed");
1227 if (tree.view.getCellText(4,tree.columns[2]) != "20000.00")
1228 runner.addJSFailure("ledger.tree.line5.col3 failed:"
1229 + tree.view.getCellText(4,tree.columns[2]));
1230 if (tree.view.getCellText(5,tree.columns[2]) != "")
1231 runner.addJSFailure("ledger.tree.line6.col3 failed");
1233 if (tree.view.getCellText(0,tree.columns[3]) != creditTerm)
1234 runner.addJSFailure("ledger.tree.line1.col4 failed");
1235 if (tree.view.getCellText(1,tree.columns[3]) != debitTerm)
1236 runner.addJSFailure("ledger.tree.line2.col4 failed");
1237 if (tree.view.getCellText(2,tree.columns[3]) != creditTerm)
1238 runner.addJSFailure("ledger.tree.line3.col4 failed");
1239 if (tree.view.getCellText(3,tree.columns[3]) != debitTerm)
1240 runner.addJSFailure("ledger.tree.line4.col4 failed");
1241 if (tree.view.getCellText(4,tree.columns[3]) != creditTerm)
1242 runner.addJSFailure("ledger.tree.line5.col4 failed:"
1243 + tree.view.getCellText(4,tree.columns[3]));
1244 if (tree.view.getCellText(5,tree.columns[3]) != debitTerm)
1245 runner.addJSFailure("ledger.tree.line6.col3 failed");
1247 if (tree.view.getCellText(0,tree.columns[4]) != aaTestNames.FlowTag[0])
1248 runner.addJSFailure("ledger.tree.line1.col5 failed:"
1249 + tree.view.getCellText(0,tree.columns[4]));
1250 if (tree.view.getCellText(1,tree.columns[4]) != aaTestNames.FlowTag[1])
1251 runner.addJSFailure("ledger.tree.line2.col5 failed");
1252 if (tree.view.getCellText(2,tree.columns[4]) != aaTestNames.FlowTag[1])
1253 runner.addJSFailure("ledger.tree.line3.col5 failed");
1254 if (tree.view.getCellText(3,tree.columns[4]) != "c")
1255 runner.addJSFailure("ledger.tree.line4.col5 failed");
1256 if (tree.view.getCellText(4,tree.columns[4]) != "c")
1257 runner.addJSFailure("ledger.tree.line5.col5 failed:"
1258 + tree.view.getCellText(4,tree.columns[4]));
1259 if (tree.view.getCellText(5,tree.columns[4]) != "d")
1260 runner.addJSFailure("ledger.tree.line6.col5 failed");
1262 if (tree.view.getCellText(0,tree.columns[5]) != "100.00")
1263 runner.addJSFailure("ledger.tree.line1.col6 failed");
1264 if (tree.view.getCellText(1,tree.columns[5]) != "100.00")
1265 runner.addJSFailure("ledger.tree.line2.col6 failed");
1266 if (tree.view.getCellText(2,tree.columns[5]) != "100.00")
1267 runner.addJSFailure("ledger.tree.line3.col6 failed");
1268 if (tree.view.getCellText(3,tree.columns[5]) != "150.00")
1269 runner.addJSFailure("ledger.tree.line4.col6 failed");
1270 if (tree.view.getCellText(4,tree.columns[5]) != "1.00")
1271 runner.addJSFailure("ledger.tree.line5.col6 failed:"
1272 + tree.view.getCellText(4,tree.columns[5]));
1273 if (tree.view.getCellText(5,tree.columns[5]) != "1.00")
1274 runner.addJSFailure("ledger.tree.line6.col6 failed");
1276 if (tree.view.getCellText(0,tree.columns[6]) != "")
1277 runner.addJSFailure("ledger.tree.line1.col7 failed");
1278 if (tree.view.getCellText(1,tree.columns[6]) != "30000.00")
1279 runner.addJSFailure("ledger.tree.line2.col7 failed");
1280 if (tree.view.getCellText(2,tree.columns[6]) != "")
1281 runner.addJSFailure("ledger.tree.line3.col7 failed");
1282 if (tree.view.getCellText(3,tree.columns[6]) != "30000.00")
1283 runner.addJSFailure("ledger.tree.line4.col7 failed");
1284 if (tree.view.getCellText(4,tree.columns[6]) != "")
1285 runner.addJSFailure("ledger.tree.line5.col7 failed:"
1286 + tree.view.getCellText(4,tree.columns[6]));
1287 if (tree.view.getCellText(5,tree.columns[6]) != "20000.00")
1288 runner.addJSFailure("ledger.tree.line6.col7 failed");
1290 if (tree.view.getCellText(0,tree.columns[7]) != "30000.00")
1291 runner.addJSFailure("ledger.tree.line1.col8 failed");
1292 if (tree.view.getCellText(1,tree.columns[7]) != "")
1293 runner.addJSFailure("ledger.tree.line2.col8 failed");
1294 if (tree.view.getCellText(2,tree.columns[7]) != "20000.00")
1295 runner.addJSFailure("ledger.tree.line3.col8 failed");
1296 if (tree.view.getCellText(3,tree.columns[7]) != "")
1297 runner.addJSFailure("ledger.tree.line4.col8 failed");
1298 if (tree.view.getCellText(4,tree.columns[7]) != "20000.00")
1299 runner.addJSFailure("ledger.tree.line5.col8 failed:"
1300 + tree.view.getCellText(4,tree.columns[7]));
1301 if (tree.view.getCellText(5,tree.columns[7]) != "")
1302 runner.addJSFailure("ledger.tree.line6.col7 failed");
1305 /* test for amounts on transfer page - get to the page */
1306 const tasp_CID = Components.ID("{e5712fda-f8d6-47b2-a5ca-e4d9e3887c8f}");
1307 const tasp_contractID = "@aasii.org/test/transfer-page-amounts1;1";
1308 const tasp_name = "aaVCTransferPageAmounts1Test";
1310 function tasp_select_from(runner)
1312 let page = getFrame(runner).docShell.QueryInterface(nsCI.nsIWebNavigation)
1314 if (page != "chrome://abstract/content/transfer.xul")
1315 runner.addJSFailure("[transfer page amounts] wrong xul document: " + page);
1316 if (getElement(runner, "transfer.fromDebitAmount").value != "-")
1317 runner.addJSFailure("[transfer page amounts] wrong from Debit amount"
1318 + getElement(runner, "transfer.fromDebitAmount").value);
1319 if (getElement(runner, "transfer.fromCreditAmount").value != "-")
1320 runner.addJSFailure("[transfer page amounts] wrong from credit amount"
1321 + getElement(runner, "transfer.fromCreditAmount").value);
1322 if (getElement(runner, "transfer.toDebitAmount").value != "-")
1323 runner.addJSFailure("[transfer page amounts] wrong to Debit amount"
1324 + getElement(runner, "transfer.toDebitAmount").value);
1325 if (getElement(runner, "transfer.toCreditAmount").value != "-")
1326 runner.addJSFailure("[transfer page amounts] wrong to credit amount"
1327 + getElement(runner, "transfer.toCreditAmount").value);
1330 /* test for amounts on transfer page - select from flow */
1331 const tasff_CID = Components.ID("{5f5eb176-b640-4fd6-af2b-915db0311f06}");
1332 const tasff_contractID = "@aasii.org/test/transfer-page-amounts2;1";
1333 const tasff_name = "aaVCTransferPageAmounts2Test";
1335 function tasff_check(runner)
1337 if (! transfer_check(runner))
1338 runner.addJSFailure("[transfer page amounts] wrong page init");
1339 if (getElement(runner, "transfer.fromDebitAmount").value != "20000.00")
1340 runner.addJSFailure("[transfer page amounts] wrong from Debit amount: "
1341 + getElement(runner, "transfer.fromDebitAmount").value);
1342 if (getElement(runner, "transfer.fromCreditAmount").value != "-")
1343 runner.addJSFailure("[transfer page amounts] wrong from credit amount: "
1344 + getElement(runner, "transfer.fromCreditAmount").value);
1347 /* test for amounts on transfer page - select to flow */
1348 const tastf_CID = Components.ID("{408876cd-4988-49bb-9e86-2d40dd7af921}");
1349 const tastf_contractID = "@aasii.org/test/transfer-page-amounts3;1";
1350 const tastf_name = "aaVCTransferPageAmounts3Test";
1352 function tastf_check(runner)
1354 if (! transfer_check(runner))
1355 runner.addJSFailure("[transfer page amounts] wrong page init");
1356 if (getElement(runner, "transfer.toDebitAmount").value != "-")
1357 runner.addJSFailure("[transfer page amounts] wrong from Debit amount: "
1358 + getElement(runner, "transfer.toDebitAmount").value);
1359 if (getElement(runner, "transfer.toCreditAmount").value != "30000.00")
1360 runner.addJSFailure("[transfer page amounts] wrong from credit amount: "
1361 + getElement(runner, "transfer.toCreditAmount").value);