123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- <!DOCTYPE HTML>
- <html lang="en">
- <head>
- <meta charset="utf8">
- <title>Test for file activity tracking</title>
- <script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
- <script type="text/javascript;version=1.8" src="common.js"></script>
- <!-- Any copyright is dedicated to the Public Domain.
- - http://creativecommons.org/publicdomain/zero/1.0/ -->
- </head>
- <body>
- <p>Test for file activity tracking</p>
- <script class="testbody" type="text/javascript;version=1.8">
- SimpleTest.waitForExplicitFinish();
- Cu.import("resource://gre/modules/NetUtil.jsm");
- Cu.import("resource://gre/modules/FileUtils.jsm");
- let gState;
- let gTmpFile;
- function doFileActivity()
- {
- info("doFileActivity");
- let fileContent = "<p>hello world from bug 798764";
- gTmpFile = FileUtils.getFile("TmpD", ["bug798764.html"]);
- gTmpFile.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, FileUtils.PERMS_FILE);
- let fout = FileUtils.openSafeFileOutputStream(gTmpFile,
- FileUtils.MODE_WRONLY | FileUtils.MODE_CREATE | FileUtils.MODE_TRUNCATE);
- let converter = Cc["@mozilla.org/intl/scriptableunicodeconverter"].
- createInstance(Ci.nsIScriptableUnicodeConverter);
- converter.charset = "UTF-8";
- let fileContentStream = converter.convertToInputStream(fileContent);
- NetUtil.asyncCopy(fileContentStream, fout, addIframe);
- }
- function addIframe(aStatus)
- {
- ok(Components.isSuccessCode(aStatus),
- "the temporary file was saved successfully");
- let iframe = document.createElement("iframe");
- iframe.src = NetUtil.newURI(gTmpFile).spec;
- document.body.appendChild(iframe);
- }
- function startTest()
- {
- removeEventListener("load", startTest);
- attachConsole(["FileActivity"], onAttach);
- }
- function onAttach(aState, aResponse)
- {
- gState = aState;
- gState.dbgClient.addListener("fileActivity", onFileActivity);
- doFileActivity();
- }
- function onFileActivity(aType, aPacket)
- {
- is(aPacket.from, gState.actor, "fileActivity actor");
- gState.dbgClient.removeListener("fileActivity", onFileActivity);
- info("aPacket.uri: " + aPacket.uri);
- ok(/\bbug798764\b.*\.html$/.test(aPacket.uri), "file URI match");
- testEnd();
- }
- function testEnd()
- {
- if (gTmpFile) {
- SimpleTest.executeSoon(function() {
- try {
- gTmpFile.remove(false);
- }
- catch (ex if (ex.name == "NS_ERROR_FILE_IS_LOCKED")) {
- // Sometimes remove() throws because the file is not unlocked soon
- // enough.
- }
- gTmpFile = null;
- });
- }
- if (gState) {
- closeDebugger(gState, function() {
- gState = null;
- SimpleTest.finish();
- });
- } else {
- SimpleTest.finish();
- }
- }
- addEventListener("load", startTest);
- </script>
- </body>
- </html>
|