]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/realize-package-specifier/test/basic.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / node_modules / realize-package-specifier / test / basic.js
1 "use strict"
2 var test = require("tap").test
3 var requireInject = require("require-inject")
4 var path = require("path")
5
6 var re = {
7   tarball: /[/\\]a.tar.gz$/,
8   packagedir: /[/\\]b$/,
9   packagejson: /[/\\]b[/\\]package.json$/,
10   nonpackagedir: /[/\\]c$/,
11   nopackagejson: /[/\\]c[/\\]package.json$/,
12   remotename: /[/\\]d$/,
13   packagedirlikegithub: /[/\\]e[/\\]1$/,
14   packagejsonlikegithub: /[/\\]e[/\\]1[/\\]package.json$/,
15   github: /[/\\]e[/\\]2$/,
16   localrangefile: /[/\\]1[.]0[.]0$/,
17   localverfile: /[/\\]1$/
18 }
19
20 var rps = requireInject("../index", {
21   "fs": {
22     "stat": function (path, callback) {
23       if (re.tarball.test(path)) {
24         callback(null,{isDirectory:function(){ return false }})
25       }
26       else if (re.packagedir.test(path)) {
27         callback(null,{isDirectory:function(){ return true }})
28       }
29       else if (re.packagejson.test(path)) {
30         callback(null,{})
31       }
32       else if (re.nonpackagedir.test(path)) {
33         callback(null,{isDirectory:function(){ return true }})
34       }
35       else if (re.nopackagejson.test(path)) {
36         callback(new Error("EFILENOTFOUND"))
37       }
38       else if (re.remotename.test(path)) {
39         callback(new Error("EFILENOTFOUND"))
40       }
41       else if (re.packagedirlikegithub.test(path)) {
42         callback(null,{isDirectory:function(){ return true }})
43       }
44       else if (re.packagejsonlikegithub.test(path)) {
45         callback(null,{})
46       }
47       else if (re.github.test(path)) {
48         callback(new Error("EFILENOTFOUND"))
49       }
50       else if (re.localverfile.test(path)) {
51         callback(null,{isDirectory:function(){ return false }})
52       }
53       else if (re.localrangefile.test(path)) {
54         callback(null,{isDirectory:function(){ return false }})
55       }
56       else {
57         throw new Error("Unknown stat fixture path: "+path)
58       }
59     }
60   }
61 })
62
63 test("realize-package-specifier", function (t) {
64   t.plan(13)
65   rps("a.tar.gz", function (err, result) {
66     t.is(result.type, "local", "local tarball")
67   })
68   rps("b", function (err, result) {
69     t.is(result.type, "directory", "local package directory")
70   })
71   rps("c", function (err, result) {
72     t.is(result.type, "range", "remote package, non-package local directory")
73   })
74   rps("d", function (err, result) {
75     t.is(result.type, "range", "remote package, no local directory")
76   })
77   rps("file:./a.tar.gz", function (err, result) {
78     t.is(result.type, "local", "local tarball")
79   })
80   rps("file:./b", function (err, result) {
81     t.is(result.type, "directory", "local package directory")
82   })
83   rps("file:./c", function (err, result) {
84     t.is(result.type, "local", "non-package local directory, specified with a file URL")
85   })
86   rps("file:./d", function (err, result) {
87     t.is(result.type, "local", "no local directory, specified with a file URL")
88   })
89   rps("e/1", function (err, result) {
90     t.is(result.type, "directory", "local package directory")
91   })
92   rps("e/2", function (err, result) {
93     t.is(result.type, "hosted", "hosted package dependency")
94     t.is(result.hosted.type, "github", "github package dependency")
95   })
96   rps("1", function (err, result) {
97     t.is(result.type, "local", "range like local file is still a local file")
98   })
99   rps("1.0.0", function (err, result) {
100     t.is(result.type, "local", "version like local file is still a local file")
101   })
102 })
103 test("named realize-package-specifier", function (t) {
104   t.plan(13)
105
106   rps("a@a.tar.gz", function (err, result) {
107     t.is(result.type, "local", "named local tarball")
108   })
109   rps("b@b", function (err, result) {
110     t.is(result.type, "directory", "named local package directory")
111   })
112   rps("c@c", function (err, result) {
113     t.is(result.type, "tag", "remote package, non-package local directory")
114   })
115   rps("d@d", function (err, result) {
116     t.is(result.type, "tag", "remote package, no local directory")
117   })
118   rps("a@file:./a.tar.gz", function (err, result) {
119     t.is(result.type, "local", "local tarball")
120   })
121   rps("b@file:./b", function (err, result) {
122     t.is(result.type, "directory", "local package directory")
123   })
124   rps("c@file:./c", function (err, result) {
125     t.is(result.type, "local", "non-package local directory, specified with a file URL")
126   })
127   rps("d@file:./d", function (err, result) {
128     t.is(result.type, "local", "no local directory, specified with a file URL")
129   })
130   rps("e@e/1", function (err, result) {
131     t.is(result.type, "directory", "local package directory")
132   })
133   rps("e@e/2", function (err, result) {
134     t.is(result.type, "hosted", "hosted package dependency")
135     t.is(result.hosted.type, "github", "github package dependency")
136   })
137   rps("e@1", function (err, result) {
138     t.is(result.type, "range", "range like specifier is never a local file")
139   })
140   rps("e@1.0.0", function (err, result) {
141     t.is(result.type, "version", "version like specifier is never a local file")
142   })
143 })