summaryrefslogtreecommitdiffstats
path: root/devtools/shared/tests/xpcshell/test_fetch-resource.js
blob: a320d63151739442e2edded7504ab40270e9536c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/* Any copyright is dedicated to the Public Domain.
   http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";

// Tests for DevToolsUtils.fetch on resource:// URI's.

const URL_FOUND = "resource://devtools/shared/DevToolsUtils.js";
const URL_NOT_FOUND = "resource://devtools/this/is/not/here.js";

// Disable `xpc::IsInAutomation()` so we don't crash when accessing a
// nonexistent resource URI.
Services.prefs.setBoolPref(
  "security.turn_off_all_security_so_that_viruses_can_take_over_this_computer",
  false
);

/**
 * Test that non-existent files are handled correctly.
 */
add_task(async function test_missing() {
  await DevToolsUtils.fetch(URL_NOT_FOUND).then(
    result => {
      info(result);
      ok(false, "fetch resolved unexpectedly for non-existent resource:// URI");
    },
    () => {
      ok(true, "fetch rejected as the resource:// URI was non-existent.");
    }
  );
});

/**
 * Tests that existing files are handled correctly.
 */
add_task(async function test_normal() {
  await DevToolsUtils.fetch(URL_FOUND).then(result => {
    notDeepEqual(
      result.content,
      "",
      "resource:// URI seems to be read correctly."
    );
  });
});