aboutsummaryrefslogtreecommitdiff
path: root/node_modules/source-map-resolve/test/windows.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/source-map-resolve/test/windows.js')
-rw-r--r--node_modules/source-map-resolve/test/windows.js166
1 files changed, 166 insertions, 0 deletions
diff --git a/node_modules/source-map-resolve/test/windows.js b/node_modules/source-map-resolve/test/windows.js
new file mode 100644
index 0000000..611ec7d
--- /dev/null
+++ b/node_modules/source-map-resolve/test/windows.js
@@ -0,0 +1,166 @@
+// Copyright 2014 Simon Lydell
+// X11 (“MIT”) Licensed. (See LICENSE.)
+
+var path = require("path")
+var test = require("tape")
+var asyncify = require("simple-asyncify")
+var common = require("./common")
+var u = common.u
+var read = common.read
+var identity = common.identity
+
+var sourceMapResolve = require("../")
+
+path.sep = "\\"
+
+
+function testResolveSourceMap(method, sync) {
+ return function(t) {
+ var wrap = (sync ? identity : asyncify)
+
+ var codeUrl = "c:\\a\\b\\c\\foo.js"
+
+ t.plan(3 * 2)
+
+ if (sync) {
+ method = asyncify(method)
+ }
+
+ var map = {}
+ var readMap = wrap(read(JSON.stringify(map)))
+
+ method(u("foo.js.map"), codeUrl, readMap, function(error, result) {
+ t.error(error)
+ t.deepEqual(result, {
+ sourceMappingURL: "foo.js.map",
+ url: "/a/b/c/foo.js.map",
+ sourcesRelativeTo: "/a/b/c/foo.js.map",
+ map: map
+ })
+ })
+
+ method(u("/foo.js.map"), codeUrl, readMap, function(error, result) {
+ t.error(error)
+ t.deepEqual(result, {
+ sourceMappingURL: "/foo.js.map",
+ url: "/foo.js.map",
+ sourcesRelativeTo: "/foo.js.map",
+ map: map
+ })
+ })
+
+ method(u("../foo.js.map"), codeUrl, readMap, function(error, result) {
+ t.error(error)
+ t.deepEqual(result, {
+ sourceMappingURL: "../foo.js.map",
+ url: "/a/b/foo.js.map",
+ sourcesRelativeTo: "/a/b/foo.js.map",
+ map: map
+ })
+ })
+
+ }
+}
+
+test(".resolveSourceMap", testResolveSourceMap(sourceMapResolve.resolveSourceMap, false))
+
+test(".resolveSourceMapSync", testResolveSourceMap(sourceMapResolve.resolveSourceMapSync, true))
+
+
+function testResolveSources(method, sync) {
+ return function(t) {
+ var wrap = (sync ? identity : asyncify)
+
+ var mapUrl = "c:\\a\\b\\c\\foo.js.map"
+
+ t.plan(1 * 3)
+
+ if (sync) {
+ method = asyncify(method)
+ }
+
+ var map = {
+ sources: ["foo.js", "/foo.js", "../foo.js"]
+ }
+
+ method(map, mapUrl, wrap(identity), function(error, result) {
+ t.error(error)
+ t.deepEqual(result.sourcesResolved, ["/a/b/c/foo.js", "/foo.js", "/a/b/foo.js"])
+ t.deepEqual(result.sourcesContent, ["/a/b/c/foo.js", "/foo.js", "/a/b/foo.js"])
+ })
+
+ }
+}
+
+test(".resolveSources", testResolveSources(sourceMapResolve.resolveSources, false))
+
+test(".resolveSourcesSync", testResolveSources(sourceMapResolve.resolveSourcesSync, true))
+
+
+function testResolve(method, sync) {
+ return function(t) {
+ var wrap = (sync ? identity : asyncify)
+ var wrapMap = function(mapFn, fn) {
+ return wrap(function(url) {
+ if (/\.map$/.test(url)) {
+ return mapFn(url)
+ }
+ return fn(url)
+ })
+ }
+
+ var codeUrl = "c:\\a\\b\\c\\foo.js"
+
+ t.plan(3 * 2)
+
+ if (sync) {
+ method = asyncify(method)
+ }
+
+ var map = {
+ sources: ["foo.js", "/foo.js", "../foo.js"]
+ }
+ var readMap = wrapMap(read(JSON.stringify(map)), identity)
+
+ method(u("foo.js.map"), codeUrl, readMap, function(error, result) {
+ t.error(error)
+ t.deepEqual(result, {
+ sourceMappingURL: "foo.js.map",
+ url: "/a/b/c/foo.js.map",
+ sourcesRelativeTo: "/a/b/c/foo.js.map",
+ map: map,
+ sourcesResolved: ["/a/b/c/foo.js", "/foo.js", "/a/b/foo.js"],
+ sourcesContent: ["/a/b/c/foo.js", "/foo.js", "/a/b/foo.js"]
+ })
+ })
+
+ method(u("/foo.js.map"), codeUrl, readMap, function(error, result) {
+ t.error(error)
+ t.deepEqual(result, {
+ sourceMappingURL: "/foo.js.map",
+ url: "/foo.js.map",
+ sourcesRelativeTo: "/foo.js.map",
+ map: map,
+ sourcesResolved: ["/foo.js", "/foo.js", "/foo.js"],
+ sourcesContent: ["/foo.js", "/foo.js", "/foo.js"]
+ })
+ })
+
+ method(u("../foo.js.map"), codeUrl, readMap, function(error, result) {
+ t.error(error)
+ t.deepEqual(result, {
+ sourceMappingURL: "../foo.js.map",
+ url: "/a/b/foo.js.map",
+ sourcesRelativeTo: "/a/b/foo.js.map",
+ map: map,
+ sourcesResolved: ["/a/b/foo.js", "/foo.js", "/a/foo.js"],
+ sourcesContent: ["/a/b/foo.js", "/foo.js", "/a/foo.js"]
+ })
+ })
+
+ }
+}
+
+test(".resolve", testResolve(sourceMapResolve.resolve, false))
+
+test(".resolveSync", testResolve(sourceMapResolve.resolveSync, true))