]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/cmd-shim/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 / cmd-shim / test / basic.js
1 var test = require('tap').test
2 var mkdirp = require('mkdirp')
3 var fs = require('fs')
4 var path = require('path')
5 var fixtures = path.resolve(__dirname, 'fixtures')
6
7 var cmdShim = require('../')
8
9 test('no shebang', function (t) {
10   var from = path.resolve(fixtures, 'from.exe')
11   var to = path.resolve(fixtures, 'exe.shim')
12   cmdShim(from, to, function(er) {
13     if (er)
14       throw er
15     t.equal(fs.readFileSync(to, 'utf8'),
16             "\"$basedir/from.exe\"   \"$@\"\nexit $?\n")
17     t.equal(fs.readFileSync(to + '.cmd', 'utf8'),
18             "@\"%~dp0\\from.exe\"   %*\r\n")
19     t.end()
20   })
21 })
22
23 test('env shebang', function (t) {
24   var from = path.resolve(fixtures, 'from.env')
25   var to = path.resolve(fixtures, 'env.shim')
26   cmdShim(from, to, function(er) {
27     if (er)
28       throw er
29     console.error('%j', fs.readFileSync(to, 'utf8'))
30     console.error('%j', fs.readFileSync(to + '.cmd', 'utf8'))
31
32     t.equal(fs.readFileSync(to, 'utf8'),
33             "#!/bin/sh"+
34             "\nbasedir=$(dirname \"$(echo \"$0\" | sed -e 's,\\\\,/,g')\")"+
35             "\n"+
36             "\ncase `uname` in"+
37             "\n    *CYGWIN*) basedir=`cygpath -w \"$basedir\"`;;"+
38             "\nesac"+
39             "\n"+
40             "\nif [ -x \"$basedir/node\" ]; then"+
41             "\n  \"$basedir/node\"  \"$basedir/from.env\" \"$@\""+
42             "\n  ret=$?"+
43             "\nelse "+
44             "\n  node  \"$basedir/from.env\" \"$@\""+
45             "\n  ret=$?"+
46             "\nfi"+
47             "\nexit $ret"+
48             "\n")
49     t.equal(fs.readFileSync(to + '.cmd', 'utf8'),
50             "@IF EXIST \"%~dp0\\node.exe\" (\r"+
51             "\n  \"%~dp0\\node.exe\"  \"%~dp0\\from.env\" %*\r"+
52             "\n) ELSE (\r"+
53             "\n  @SETLOCAL\r"+
54             "\n  @SET PATHEXT=%PATHEXT:;.JS;=;%\r"+
55             "\n  node  \"%~dp0\\from.env\" %*\r"+
56             "\n)")
57     t.end()
58   })
59 })
60
61 test('env shebang with args', function (t) {
62   var from = path.resolve(fixtures, 'from.env.args')
63   var to = path.resolve(fixtures, 'env.args.shim')
64   cmdShim(from, to, function(er) {
65     if (er)
66       throw er
67     console.error('%j', fs.readFileSync(to, 'utf8'))
68     console.error('%j', fs.readFileSync(to + '.cmd', 'utf8'))
69
70     t.equal(fs.readFileSync(to, 'utf8'),
71             "#!/bin/sh"+
72             "\nbasedir=$(dirname \"$(echo \"$0\" | sed -e 's,\\\\,/,g')\")"+
73             "\n"+
74             "\ncase `uname` in"+
75             "\n    *CYGWIN*) basedir=`cygpath -w \"$basedir\"`;;"+
76             "\nesac"+
77             "\n"+
78             "\nif [ -x \"$basedir/node\" ]; then"+
79             "\n  \"$basedir/node\"  --expose_gc \"$basedir/from.env.args\" \"$@\""+
80             "\n  ret=$?"+
81             "\nelse "+
82             "\n  node  --expose_gc \"$basedir/from.env.args\" \"$@\""+
83             "\n  ret=$?"+
84             "\nfi"+
85             "\nexit $ret"+
86             "\n")
87     t.equal(fs.readFileSync(to + '.cmd', 'utf8'),
88             "@IF EXIST \"%~dp0\\node.exe\" (\r"+
89             "\n  \"%~dp0\\node.exe\"  --expose_gc \"%~dp0\\from.env.args\" %*\r"+
90             "\n) ELSE (\r"+
91             "\n  @SETLOCAL\r"+
92             "\n  @SET PATHEXT=%PATHEXT:;.JS;=;%\r"+
93             "\n  node  --expose_gc \"%~dp0\\from.env.args\" %*\r"+
94             "\n)")
95     t.end()
96   })
97 })
98
99 test('explicit shebang', function (t) {
100   var from = path.resolve(fixtures, 'from.sh')
101   var to = path.resolve(fixtures, 'sh.shim')
102   cmdShim(from, to, function(er) {
103     if (er)
104       throw er
105     console.error('%j', fs.readFileSync(to, 'utf8'))
106     console.error('%j', fs.readFileSync(to + '.cmd', 'utf8'))
107
108     t.equal(fs.readFileSync(to, 'utf8'),
109             "#!/bin/sh" +
110             "\nbasedir=$(dirname \"$(echo \"$0\" | sed -e 's,\\\\,/,g')\")" +
111             "\n" +
112             "\ncase `uname` in" +
113             "\n    *CYGWIN*) basedir=`cygpath -w \"$basedir\"`;;" +
114             "\nesac" +
115             "\n" +
116             "\nif [ -x \"$basedir//usr/bin/sh\" ]; then" +
117             "\n  \"$basedir//usr/bin/sh\"  \"$basedir/from.sh\" \"$@\"" +
118             "\n  ret=$?" +
119             "\nelse " +
120             "\n  /usr/bin/sh  \"$basedir/from.sh\" \"$@\"" +
121             "\n  ret=$?" +
122             "\nfi" +
123             "\nexit $ret" +
124             "\n")
125
126     t.equal(fs.readFileSync(to + '.cmd', 'utf8'),
127             "@IF EXIST \"%~dp0\\/usr/bin/sh.exe\" (\r" +
128             "\n  \"%~dp0\\/usr/bin/sh.exe\"  \"%~dp0\\from.sh\" %*\r" +
129             "\n) ELSE (\r" +
130             "\n  @SETLOCAL\r"+
131             "\n  @SET PATHEXT=%PATHEXT:;.JS;=;%\r"+
132             "\n  /usr/bin/sh  \"%~dp0\\from.sh\" %*\r" +
133             "\n)")
134     t.end()
135   })
136 })
137
138 test('explicit shebang with args', function (t) {
139   var from = path.resolve(fixtures, 'from.sh.args')
140   var to = path.resolve(fixtures, 'sh.args.shim')
141   cmdShim(from, to, function(er) {
142     if (er)
143       throw er
144     console.error('%j', fs.readFileSync(to, 'utf8'))
145     console.error('%j', fs.readFileSync(to + '.cmd', 'utf8'))
146
147     t.equal(fs.readFileSync(to, 'utf8'),
148             "#!/bin/sh" +
149             "\nbasedir=$(dirname \"$(echo \"$0\" | sed -e 's,\\\\,/,g')\")" +
150             "\n" +
151             "\ncase `uname` in" +
152             "\n    *CYGWIN*) basedir=`cygpath -w \"$basedir\"`;;" +
153             "\nesac" +
154             "\n" +
155             "\nif [ -x \"$basedir//usr/bin/sh\" ]; then" +
156             "\n  \"$basedir//usr/bin/sh\"  -x \"$basedir/from.sh.args\" \"$@\"" +
157             "\n  ret=$?" +
158             "\nelse " +
159             "\n  /usr/bin/sh  -x \"$basedir/from.sh.args\" \"$@\"" +
160             "\n  ret=$?" +
161             "\nfi" +
162             "\nexit $ret" +
163             "\n")
164
165     t.equal(fs.readFileSync(to + '.cmd', 'utf8'),
166             "@IF EXIST \"%~dp0\\/usr/bin/sh.exe\" (\r" +
167             "\n  \"%~dp0\\/usr/bin/sh.exe\"  -x \"%~dp0\\from.sh.args\" %*\r" +
168             "\n) ELSE (\r" +
169             "\n  @SETLOCAL\r"+
170             "\n  @SET PATHEXT=%PATHEXT:;.JS;=;%\r"+
171             "\n  /usr/bin/sh  -x \"%~dp0\\from.sh.args\" %*\r" +
172             "\n)")
173     t.end()
174   })
175 })