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 //var testStorageFile = Components.interfaces.nsIFile;
22 var mFile = Components.interfaces.nsIFile;
24 const nsCI = Components.interfaces
25 const moduleName = "aaVCTest";
26 const moduleCID = "{c23f7275-3b2f-432a-b2fe-c560b7b0a069}";
27 const moduleContractID = "@aasii.org/abstract/test/vc-base;1";
29 Components.utils.import("resource:///modules/aaTestVC.jsm");
30 Components.utils.import("resource:///modules/aaUITestUtils.jsm");
31 Components.utils.import("resource:///modules/aaUITestFrame.jsm");
35 * The NSGetModule function is the magic entry point that XPCOM uses to find
36 * what XPCOM components this module provides
38 function NSGetModule(comMgr, fileSpec)
40 var loader = Components.classes["@mozilla.org/moz/jssubscript-loader;1"]
41 .getService(Components.interfaces.mozIJSSubScriptLoader);
42 loader.loadSubScript("resource:///modules/nsTestFrame.jsm");
43 loader.loadSubScript("resource:///modules/aaTestNames.jsm");
45 var aaVCTestModule = JSTestModule();
46 aaVCTestModule.init = ModuleInit;
47 aaVCTestModule.init();
48 return aaVCTestModule;
54 this._name = moduleName;
55 this._CID = Components.ID(moduleCID);
56 this._contractID = moduleContractID;
59 this._add(start_CID, start_contractID, start_name,
60 start_page_test, start_page_check);
62 this._add(open_storage_CID, open_storage_contractID, open_storage_name,
63 open_storage_test, null);
65 this._add(close_storage_CID, close_storage_contractID, close_storage_name,
66 close_storage_test, null);
68 this._add(top_CID, top_contractID, top_name, top_test, top_check);
70 this._add(show_entity_CID, show_entity_contractID, show_entity_name,
71 show_entity_test, entity_check);
73 this._add(entity_CID, entity_contractID, entity_name, entity_test, null);
75 this._add(show_resource_CID, show_resource_contractID, show_resource_name,
76 show_resource_test, show_resource_check);
78 this._add(resource_CID, resource_contractID, resource_name, resource_test, null);
80 this._add(flow_CID, flow_contractID, flow_name, flow_test, flow_page_check);
82 this._add(flow_entity_CID, flow_entity_contractID, flow_entity_name,
83 flow_entity_test, entity_select_check);
85 this._add(entity_discard_CID, entity_discard_contractID, entity_discard_name,
86 entity_discard_test, entity_discard_check);
90 this._add(entity_submit_CID, entity_submit_contractID, entity_submit_name,
91 entity_submit_test, entity_submit_check);
92 this._tests[i].item = 0;
94 this._add(flow_give_CID, flow_give_contractID, flow_give_name,
95 flow_give_test, resource_select_check);
97 this._add(give_discard_CID, give_discard_contractID, give_discard_name,
98 resource_discard_test, give_discard_check);
102 this._add(give_submit_CID, give_submit_contractID, give_submit_name,
103 resource_submit_test, give_submit_check);
105 this._add(flow_take_CID, flow_take_contractID, flow_take_name,
106 flow_take_test, resource_select_check);
108 this._add(take_discard_CID, take_discard_contractID, take_discard_name,
109 resource_discard_test, take_discard_check);
113 this._add(take_submit_CID, take_submit_contractID, take_submit_name,
114 resource_submit_test, take_submit_check);
115 this._tests[i].item = 1;
117 this._add(flow_save_CID, flow_save_contractID, flow_save_name,
118 flow_save_test, null);
121 /* Module-specific Defines and Utilities */
122 var contentId = "content";
123 var treeId = "page1.tree";
126 /* Top Window Test */
127 const top_contractID = "@aasii.org/abstract/test/vc-top;1";
128 const top_name = "aaVCTopTest";
129 const top_CID = Components.ID("{5274ac84-fc9c-4bf9-9689-0a89f5638e1c}");
131 function top_test(runner)
133 var manager = Components.classes["@aasii.org/storage/manager;1"]
134 .createInstance(nsCI.aaIManager);
136 if (!runner.hasWindow)
137 runner.watchWindow = runner.testWindow;
142 function top_check(runner)
146 /* 'cmd_show1' Test */
147 const show_entity_contractID = "@aasii.org/abstract/test/show-entity;1";
148 const show_entity_name = "aaVCShow1Test";
149 const show_entity_CID = Components.ID("{8a57485e-fed0-4eed-ab93-5f9c01aacbe8}");
151 function show_entity_test(runner)
153 runner.doCommand("cmd_view_entity");
154 runner.watchWindow = getFrame(runner).contentWindow;
158 const entity_contractID = "@aasii.org/abstract/test/entity;1";
159 const entity_name = "aaVCPage1OnSelectTest";
160 const entity_CID = Components.ID("{213e5e73-f6d7-42c4-9d04-746fd6d7f01a}");
162 function entity_test(runner)
164 var tree = getElement(runner,treeId);
165 var box = getElement(runner, entityTagId);
167 if (getAnnoElement(runner, "header", "header.discard")
168 .getAttribute("collapsed") != "true")
169 runner.addJSFailure("entity.discard button should not be visible");
170 if (getAnnoElement(runner, "header", "header.submit")
171 .getAttribute("collapsed") != "true")
172 runner.addJSFailure("entity.submit button should not be visible");
173 if (getElement(runner, "cmd_page1_discard")
174 .getAttribute("disabled") != "true")
175 runner.addJSFailure("entity_discard command should be disabled");
176 if (getElement(runner, "cmd_page1_submit")
177 .getAttribute("disabled") != "true")
178 runner.addJSFailure("entity_submit command should be disabled");
180 /* Insert Entity[0] */
181 runner.doCommand("cmd_page1_new");
182 if (! entity_details_check(tree, box))
183 runner.addJSFailure("page1.tag not synched");
184 box.value = aaTestNames.EntityTag[0];
186 runner.doCommand("cmd_page1_save");
187 if (! entity_details_check(tree, box))
188 runner.addJSFailure("page1.tag not synched");
190 /* Test that 'cancel' clears selection */
191 runner.doCommand("cmd_page1_cancel");
192 if (tree.view.selection.currentIndex != -1)
193 runner.addJSFailure("page1.tree selection not cleared");
195 /* Test synchronization after selection */
196 tree.view.selection.select(0);
197 if (! entity_details_check(tree, box))
198 runner.addJSFailure("page1.tag not synched");
200 runner.doCommand("cmd_page1_new");
201 if (box.getAttribute("focused") != "true")
202 runner.addJSFailure("entity.tag not focused");
203 if (tree.view.selection.currentIndex != -1)
204 runner.addJSFailure("entity.tree selection not cleared");
205 if (! entity_details_check(tree, box))
206 runner.addJSFailure("entity.tag not synched");
208 runner.doCommand("cmd_page1_cancel");
209 if (tree.view.selection.currentIndex != 0)
210 runner.addJSFailure("page1.tree selection not restored");
211 if (! entity_details_check(tree, box))
212 runner.addJSFailure("page1.tag not synched");
214 tree.view.selection.select(-1);
215 runner.doCommand("cmd_page1_new");
216 if (tree.view.getCellText(0,tree.columns[0]) != aaTestNames.EntityTag[0])
217 runner.addJSFailure("entity.tree.line1 failed");
219 runner.doCommand("cmd_page1_cancel");
220 if (! entity_details_check(tree, box))
221 runner.addJSFailure("page1.tag not synched");
223 tree.view.selection.select(0);
224 runner.doCommand("cmd_page1_new");
226 runner.doCommand("cmd_page1_reset");
227 if (! entity_details_check(tree, box))
228 runner.addJSFailure("page1.tag not synched");
231 runner.doCommand("cmd_page1_save");
232 runner.addJSFailure("page1.save not disabled");
236 var entity = getFrame(runner).contentWindow.wrappedJSObject
239 runner.addJSFailure("blank entity marked edited");
242 runner.addJSFailure("edited entity marked blank");
245 /* Test that insertion goes to the last row */
246 var count = tree.view.rowCount;
247 runner.doCommand("cmd_page1_save");
248 if (tree.view.selection.currentIndex != count)
249 runner.addJSFailure("page1.tree insert not focused");
251 runner.doCommand("cmd_page1_cancel");
252 if (tree.view.selection.currentIndex != -1)
253 runner.addJSFailure("page1.tree selection not cleared");
256 runner.doCommand("cmd_page1_change");
257 runner.addJSFailure("page1.change not disabled");
260 tree.view.selection.select(count);
261 runner.doCommand("cmd_page1_change");
262 box.value = aaTestNames.EntityTag[0];
264 runner.doCommand("cmd_page1_save");
265 if (box.value != "temp")
266 runner.addJSFailure("page1.tag not unique");
267 box.value = aaTestNames.EntityTag[1];
269 runner.doCommand("cmd_page1_save");
270 if (! entity_details_check(tree, box))
271 runner.addJSFailure("page1.tag not synched");
272 if (tree.view.selection.currentIndex != count)
273 runner.addJSFailure("page1.change on wrong index: " +
274 tree.view.selection.currentIndex + "!=" + count);
275 if (box.value != aaTestNames.EntityTag[1])
276 runner.addJSFailure("entity.change not saved");
279 for (i = 2; i < aaTestNames.EntityTag.length; i++) {
280 runner.doCommand("cmd_page1_new");
281 if (! entity_details_check(tree, box))
282 runner.addJSFailure("page1.tag not synched");
283 box.value = aaTestNames.EntityTag[i];
285 runner.doCommand("cmd_page1_save");
286 if (! entity_details_check(tree, box))
287 runner.addJSFailure("page1.tag not synched");
292 /* 'cmd_show2' Test */
293 const show_resource_contractID = "@aasii.org/abstract/test/show-resource;1";
294 const show_resource_name = "aaVCShow2Test";
295 const show_resource_CID = Components.ID("{2aa28aa0-d25c-4fdc-a32b-27fe83afab1d}");
297 function show_resource_test(runner)
299 runner.doCommand("cmd_view_resource");
300 runner.watchWindow = getFrame(runner).contentWindow;
303 function show_resource_check(runner)
305 var tree = getElement(runner,treeId);
306 resource_check(runner);
307 // XXX 403202 'Unflexing' the tree speeds up reflow significantly
308 if (tree && tree.hasAttribute("flex"))
309 tree.removeAttribute("flex");
313 const resource_contractID = "@aasii.org/abstract/test/resource;1";
314 const resource_name = "aaVCPage2OnSelectTest";
315 const resource_CID = Components.ID("{540d4ac5-d104-473c-846a-052d50ca62be}");
317 function resource_test(runner)
319 var page = getFrame(runner).contentWindow.wrappedJSObject.view;
322 runner.doCommand("cmd_page1_new");
323 if (! resource_details_check(runner, page))
324 runner.addJSFailure("resource page not synched");
325 if (aaTestNames.ResourceType[0]) {
326 runner.doCommand("cmd_resource_type");
327 page.code.value = aaTestNames.ResourceCode[0];
328 sendOnInput(page.code);
330 page.tag.value = aaTestNames.ResourceTag[0];
331 sendOnInput(page.tag);
332 runner.doCommand("cmd_page1_save");
333 if (! resource_details_check(runner, page))
334 runner.addJSFailure("resource page not synched");
336 /* Test that 'cancel' clears selection */
337 runner.doCommand("cmd_page1_cancel");
338 if (page.tree.view.selection.currentIndex != -1)
339 runner.addJSFailure("page1.tree selection not cleared");
341 /* Test synchronization after selection */
342 page.tree.view.selection.select(0);
343 if (! resource_details_check(runner, page))
344 runner.addJSFailure("resource page not synched");
346 runner.doCommand("cmd_page1_new");
347 if (page.tag.getAttribute("focused") != "true")
348 runner.addJSFailure("resource page1.tag not focused");
349 if (page.tree.view.selection.currentIndex != -1)
350 runner.addJSFailure("resource page1.tree selection not cleared");
351 if (! resource_details_check(runner, page))
352 runner.addJSFailure("resource page not synched");
354 runner.doCommand("cmd_page1_cancel");
355 if (page.tree.view.selection.currentIndex != 0)
356 runner.addJSFailure("resource page1.tree selection not restored");
357 if (! resource_details_check(runner, page))
358 runner.addJSFailure("resource page not synched");
360 page.tree.view.selection.select(-1);
361 runner.doCommand("cmd_page1_new");
362 page.tag.value = "junk";
363 runner.doCommand("cmd_page1_cancel");
364 if (! resource_details_check(runner, page))
365 runner.addJSFailure("resource page not synched");
367 runner.doCommand("cmd_page1_new");
368 page.tag.value = aaTestNames.ResourceTag[1];
369 sendOnInput(page.tag);
370 runner.doCommand("cmd_page1_save");
372 page.tree.view.selection.select(1);
373 runner.doCommand("cmd_page1_new");
374 page.tag.value = "junk";
375 runner.doCommand("cmd_page1_reset");
376 if (! resource_details_check(runner, page))
377 runner.addJSFailure("resource page not synched");
380 runner.doCommand("cmd_page1_save");
381 runner.addJSFailure("resource page1.save not disabled");
384 page.tag.value = "temp";
385 sendOnInput(page.tag);
387 var count = page.tree.view.rowCount;
388 runner.doCommand("cmd_page1_save");
389 if (page.tree.view.selection.currentIndex != count)
390 runner.addJSFailure("resource page1.tree insert not focused");
391 if (! resource_details_check(runner, page))
392 runner.addJSFailure("resource page not synched");
394 page.tree.view.selection.select(-1);
396 runner.doCommand("cmd_page1_change");
397 runner.addJSFailure("resource page1.change not disabled");
400 page.tree.view.selection.select(count);
401 runner.doCommand("cmd_page1_change");
402 page.tag.value = aaTestNames.ResourceTag[1];
403 sendOnInput(page.tag);
404 runner.doCommand("cmd_page1_save");
405 if (page.tag.value != "temp")
406 runner.addJSFailure("resource page1.tag not unique");
407 page.tag.value = aaTestNames.ResourceTag[2];
408 sendOnInput(page.tag);
409 runner.doCommand("cmd_page1_save");
410 if (! resource_details_check(runner, page))
411 runner.addJSFailure("resource page not synched");
412 if (page.tree.view.selection.currentIndex != count)
413 runner.addJSFailure("resource page1.change on wrong index");
414 if (page.tag.value != aaTestNames.ResourceTag[2])
415 runner.addJSFailure("resource page1.change not saved");
419 for (i = 3; i < aaTestNames.ResourceTag.length; i++) {
420 runner.doCommand("cmd_page1_new");
421 if (aaTestNames.ResourceType[i]) {
422 runner.doCommand("cmd_resource_type");
423 page.code.value = aaTestNames.ResourceCode[i];
424 sendOnInput(page.code);
426 page.tag.value = aaTestNames.ResourceTag[i];
427 sendOnInput(page.tag);
428 runner.doCommand("cmd_page1_save");
429 if (! resource_details_check(runner, page))
430 runner.addJSFailure("resource page not synched");
435 const flow_contractID = "@aasii.org/abstract/test/flow;1";
436 const flow_name = "aaVCFlowPageTest";
437 const flow_CID = Components.ID("{b2c6addf-862e-4457-99b7-1909ef6208e0}");
438 const flowTagId = "flow.tag";
440 function flow_test(runner)
442 runner.doCommand("cmd_process_flow");
443 runner.watchWindow = getFrame(runner).contentWindow;
446 function flow_page_check(runner)
448 var tree = getElement(runner,treeId);
449 // XXX 403202 'Unflexing' the tree speeds up reflow significantly
450 if (tree && tree.hasAttribute("flex"))
451 tree.removeAttribute("flex");
454 if (getAnnoElement(runner, "header", "header.discard")
455 .getAttribute("collapsed") != "true")
456 runner.addJSFailure("flow.discard button should be invisible");
457 if (getAnnoElement(runner, "header", "header.submit")
458 .getAttribute("collapsed") != "true")
459 runner.addJSFailure("flow.submit button should be invisible");
460 if (getElement(runner, "cmd_page1_discard")
461 .getAttribute("disabled") != "true")
462 runner.addJSFailure("flow_discard command should be disabled");
463 if (getElement(runner, "cmd_page1_submit")
464 .getAttribute("disabled") != "true")
465 runner.addJSFailure("flow_submit command should be disabled");
467 runner.doCommand("cmd_page1_new");
468 if (! flow_check(runner))
469 runner.addJSFailure("[flow] page not synched");
472 /* ask for entity from flow page */
473 const flow_entity_contractID = "@aasii.org/abstract/test/flow-entity;1";
474 const flow_entity_name = "aaVCFlowEntityTest";
475 const flow_entity_CID = Components.ID("{1b16209f-d818-4bf1-862d-64953ff8c414}");
477 const entity_discard_contractID = "@aasii.org/abstract/test/entity-discard;1";
478 const entity_discard_name = "aaVCEntityDiscardTest";
479 const entity_discard_CID = Components.ID("{21737fb5-a114-4a9a-bc45-907ecbffeb23}");
481 function entity_discard_check(runner)
484 if (getElement(runner, entityTagId).value != "")
485 runner.addJSFailure("entity discard failed");
488 const entity_submit_contractID = "@aasii.org/abstract/test/entity-submit;1";
489 const entity_submit_name = "aaVCEntitySubmitTest";
490 const entity_submit_CID = Components.ID("{755a6691-7d04-4b02-95e8-894b3dd17034}");
492 function entity_submit_check(runner)
495 if (getElement(runner, entityTagId).value != aaTestNames.EntityTag[0])
496 runner.addJSFailure("entity submit failed");
499 /* ask for give resource from flow page */
500 const flow_give_contractID = "@aasii.org/abstract/test/flow-give;1";
501 const flow_give_name = "aaVCFlowGiveResourceTest";
502 const flow_give_CID = Components.ID("{fc969e46-99d8-4612-b502-2494e2d372cd}");
504 function flow_give_test(runner)
507 runner.doCommand("cmd_flow_give");
508 runner.watchWindow = getFrame(runner).contentWindow;
511 const give_discard_contractID = "@aasii.org/abstract/test/give-discard;1";
512 const give_discard_name = "aaGiveResourceDiscardTest";
513 const give_discard_CID = Components.ID("{6b3c8a33-e4eb-41f3-8367-0926ef033197}");
515 function give_discard_check(runner)
518 if (getElement(runner, "give.tag").value != "")
519 runner.addJSFailure("resource dsicard failed");
522 const give_submit_contractID = "@aasii.org/abstract/test/give-submit;1";
523 const give_submit_name = "aaGiveResourceSubmitTest";
524 const give_submit_CID = Components.ID("{a7a676e9-45c2-49cd-be2b-c40da915fb20}");
526 function give_submit_check(runner)
529 if (getElement(runner, "give.tag").value != aaTestNames.ResourceTag[0])
530 runner.addJSFailure("resource submit failed");
533 /* ask for take resource from flow page */
534 const flow_take_contractID = "@aasii.org/abstract/test/flow-take;1";
535 const flow_take_name = "aaVCFlowTakeResourceTest";
536 const flow_take_CID = Components.ID("{573b04f4-2d4c-4a70-a880-939f960ea883}");
538 const take_discard_contractID = "@aasii.org/abstract/test/take-discard;1";
539 const take_discard_name = "aaTakeResourceDiscardTest";
540 const take_discard_CID = Components.ID("{8a096221-c744-4cc9-9689-ed53b3b28858}");
542 function take_discard_check(runner)
545 if (getElement(runner, "take.tag").value != "")
546 runner.addJSFailure("resource discard failed");
549 const take_submit_contractID = "@aasii.org/abstract/test/take-submit;1";
550 const take_submit_name = "aaTakeResourceSubmitTest";
551 const take_submit_CID = Components.ID("{fed26559-2aee-458c-8778-0f5d363cab86}");
553 function take_submit_check(runner)
556 if (getElement(runner, "take.tag").value != aaTestNames.ResourceTag[1])
557 runner.addJSFailure("resource submit failed: "
558 + getElement(runner, "take.tag").value);
561 const flow_save_contractID = "@aasii.org/abstract/test/flow-save;1";
562 const flow_save_name = "aaVCFlowSaveTest";
563 const flow_save_CID = Components.ID("{a8704d86-db0e-4256-bdc4-4774d11cf2fb}");
565 function flow_save_test(runner)
567 var tree = getElement(runner,treeId);
568 var tagBox = getElement(runner, "flow.tag")
569 var rateBox = getElement(runner, "flow.rate")
570 var count = tree.view.rowCount;
572 tagBox.value = aaTestNames.FlowTag[0];
574 if (! flow_check(runner))
575 runner.addJSFailure("[flow save] page not synched");
576 getElement(runner, "rate.direction").selectedIndex = 1;
577 rateBox.value = "100";
578 sendOnInput(rateBox);
579 if (! flow_check(runner))
580 runner.addJSFailure("[flow save] page not synched");
581 runner.doCommand("cmd_page1_save");
582 if (tree.view.selection.currentIndex != count)
583 runner.addJSFailure("[flow save] insert not focused in the tree: " +
584 tree.view.selection.currentIndex + "!=" + count);
585 if (! flow_check(runner))
586 runner.addJSFailure("[flow save] page not synched");
588 runner.doCommand("cmd_page1_change");
589 runner.addJSFailure("[flow save] 'change' not disabled");
594 const start_contractID = "@aasii.org/abstract/test/start-page;1";
595 const start_name = "aaVCStartPageTest";
596 const start_CID = Components.ID("{34d31427-05cd-4743-9f4b-6a4384e6337a}");
598 function start_page_check(runner)
602 var startPage = getElement(runner,"start_page");
604 runner.addJSFailure("start page is null");
607 var setButton = getElement(runner, "start_page", "set_storage");
610 runner.addJSFailure("start page: set_storage is null");
613 if (setButton.getAttribute("collapsed") == "true")
615 runner.addJSFailure("start page: set_storage button should be visible");
619 var getButton = getElement(runner, "start_page", "create_storage");
622 runner.addJSFailure("start page: create_storage is null");
625 if (getButton.getAttribute("collapsed") == "true")
627 runner.addJSFailure("start page: create_storage button should be visible");
634 function start_page_test(runner)
636 runner.doCommand("cmd_start");
637 runner.watchWindow = getFrame(runner).contentWindow;
640 const open_storage_contractID = "@aasii.org/abstract/test/storage-open;1";
641 const open_storage_name = "aaVCOpenStorageTest";
642 const open_storage_CID = Components.ID("{6f8b5da2-a533-497a-bc5e-255bcc60f588}");
644 function open_storage_test(runner)
646 mFile = Components.classes["@mozilla.org/file/directory_service;1"]
647 .getService(Components.interfaces.nsIProperties)
648 .get("CurProcD", Components.interfaces.nsIFile);
649 mFile.append("myBase.sqlite");
652 var doc = runner.testWindow.document;
653 if ( doc.documentElement.tagName != "window" )
654 runner.addJSFailure("main window not created");
656 var web = doc.getElementById("content").docShell
657 .QueryInterface(nsCI.nsIWebNavigation);
659 var session = web.sessionHistory.QueryInterface(nsCI.aaISHistory);
661 runner.addJSFailure("session not started");
662 session.setFile(mFile);
663 var ioService = Components.classes["@mozilla.org/network/io-service;1"]
664 .getService(Components.interfaces.nsIIOService);
665 var uri = session.connectionURI.QueryInterface(nsCI.nsIURL);
667 runner.addJSFailure("URI is null");
668 if (uri.fileName != "myBase.sqlite")
669 runner.addJSFailure("Filename is wrong: " + uri.fileName);
672 const close_storage_contractID = "@aasii.org/abstract/test/storage-close;1";
673 const close_storage_name = "aaVCCloseStorageTest";
674 const close_storage_CID = Components.ID("{dee507e5-5e1c-4550-9cf0-83b72215f09b}");
676 function close_storage_test(runner)
678 var doc = runner.testWindow.document;
679 var web = doc.getElementById("content").docShell
680 .QueryInterface(nsCI.nsIWebNavigation);
682 var manager = Components.classes["@aasii.org/storage/manager;1"]
683 .createInstance(nsCI.aaIManager);
685 manager.tmpFileFromString("default.sqlite", true);
687 var session = web.sessionHistory.QueryInterface(nsCI.aaISHistory);
689 runner.addJSFailure("session not started");
690 session.setFile(null);
694 runner.addJSFailure("File exists yet");