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
47
48
49
50
51
52
53
54
55
56
|
"use strict";
/* ------------------------------------------------------------------------ */
require ('chai').should ()
/* ------------------------------------------------------------------------ */
describe ('path', () => {
const path = require ('../impl/path')
it ('resolves', () => {
path.resolve ('./foo/bar/../qux').should.equal (process.cwd () + '/foo/qux')
})
it ('normalizes', () => {
path.normalize ('./foo/./bar/.././.././qux.map./').should.equal ('qux.map./')
path.normalize ('/a/b').should.equal ('/a/b')
path.normalize ('http://foo/bar').should.equal ('http://foo/bar')
})
it ('computes relative location', () => {
path.relativeToFile ('/foo/bar.js', './qux.map')
.should.equal ('/foo/qux.map')
path.relativeToFile ('/foo/bar/baz.js', './../.././qux.map')
.should.equal ('/qux.map')
path.relativeToFile ('/foo/bar', 'webpack:something')
.should.equal ('webpack:something')
path.relativeToFile ('/foo/bar', 'web/pack:something')
.should.equal ('/foo/web/pack:something')
})
it ('works with data URIs', () => {
path.relativeToFile ('/foo/bar.js', 'data:application/json;charset=utf-8;base64,eyJ2ZXJza==')
.should.equal ( 'data:application/json;charset=utf-8;base64,eyJ2ZXJza==')
path.relativeToFile ('data:application/json;charset=utf-8;base64,eyJ2ZXJza==', 'foo.js')
.should.equal ( 'foo.js')
})
it ('implements isURL', () => {
path.isURL ('foo.js').should.equal (false)
path.isURL ('/foo/bar.js').should.equal (false)
path.isURL ('https://google.com').should.equal (true)
})
})
|