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
|
var system = require('system');
var util = require('util');
var assert = require('test/assert');
var fs = require('file');
util.forEachApply([
[['/'], '/'],
[['/a'], '/a'],
[['/a/'], '/a/'],
[['/a', '/b'], '/b'],
[['/a', '/b/'], '/b/'],
[['/', 'a'], '/a'],
[['/', 'a/'], '/a/'],
[['/a', 'a'], '/a'],
[['/a', 'a/'], '/a/'],
[['/a/', 'a'], '/a/a'],
[['/a/', 'a/'], '/a/a/'],
[['..'], '../'],
[['..', 'a'], '../a'],
[['..', 'a/'], '../a/'],
[['.'], ''],
[['.', 'a'], 'a'],
[['.', 'a/'], 'a/'],
[['a', '.'], ''],
[['a', '.', 'a'], 'a'],
[['a', '.', 'a/'], 'a/'],
[['a', '..'], '../'],
[['a', '..', 'a'], '../a'],
[['a', '..', 'a/'], '../a/'],
[['a/', '..'], ''],
[['a/', '..', 'a'], 'a'],
[['a/', '..', 'a/'], 'a/'],
[['a/b', ''], 'a/b'],
], function (parts, expected) {
exports['test ' + util.repr(parts)] = function () {
var result = '';
var actual = fs.resolve.apply(null, parts);
assert.eq(expected, actual, util.repr(parts));
};
});
if (require.main === module.id)
require("os").exit(require("test/runner").run(exports));
|