Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/utils/tests/serverjs/file/resolve.js
blob: dbd33f09d75fce66f689106edeea5cc57a542f58 (plain)
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));