summaryrefslogtreecommitdiffstats
path: root/devtools/server/tests/unit/test_sourcemaps-04.js
blob: 5fecb44c856a359f1f7af67be2e3c52542b91199 (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
44
45
46
/* Any copyright is dedicated to the Public Domain.
   http://creativecommons.org/publicdomain/zero/1.0/ */

/**
 * Check that absolute source map urls work.
 */

var gDebuggee;
var gClient;
var gThreadClient;

function run_test()
{
  initTestDebuggerServer();
  gDebuggee = addTestGlobal("test-source-map");
  gClient = new DebuggerClient(DebuggerServer.connectPipe());
  gClient.connect().then(function () {
    attachTestTabAndResume(gClient, "test-source-map", function (aResponse, aTabClient, aThreadClient) {
      gThreadClient = aThreadClient;
      test_absolute_source_map();
    });
  });
  do_test_pending();
}

function test_absolute_source_map()
{
  gThreadClient.addOneTimeListener("newSource", function _onNewSource(aEvent, aPacket) {
    do_check_eq(aEvent, "newSource");
    do_check_eq(aPacket.type, "newSource");
    do_check_true(!!aPacket.source);

    do_check_true(aPacket.source.url.indexOf("sourcemapped.coffee") !== -1,
                  "The new source should be a coffee file.");
    do_check_eq(aPacket.source.url.indexOf("sourcemapped.js"), -1,
                "The new source should not be a js file.");

    finishClient(gClient);
  });

  code = readFile("sourcemapped.js")
    + "\n//# sourceMappingURL=" + getFileUrl("source-map-data/sourcemapped.map");

  Components.utils.evalInSandbox(code, gDebuggee, "1.8",
                                 getFileUrl("sourcemapped.js"), 1);
}