Projekt

Obecné

Profil

Stáhnout (1.58 KB) Statistiky
| Větev: | Revize:
1
// Copyright 2014 Simon Lydell
2
// X11 (“MIT”) Licensed. (See LICENSE.)
3

    
4
var test = require("tape")
5

    
6
var resolveUrl = require("../")
7

    
8
"use strict"
9

    
10
test("resolveUrl", function(t) {
11

    
12
  t.plan(7)
13

    
14
  t.equal(typeof resolveUrl, "function", "is a function")
15

    
16
  t.equal(
17
    resolveUrl("https://example.com/"),
18
    "https://example.com/"
19
  )
20

    
21
  var loc = "https://example.com/articles/resolving-urls/edit"
22

    
23
  t.equal(
24
    resolveUrl(loc, "remove"),
25
    "https://example.com/articles/resolving-urls/remove"
26
  )
27

    
28
  t.equal(
29
    resolveUrl(loc, "/static/scripts/app.js"),
30
    "https://example.com/static/scripts/app.js"
31
  )
32

    
33
  t.equal(
34
    resolveUrl(loc, "/static/scripts/app.js", "../source-maps/app.js.map"),
35
    "https://example.com/static/source-maps/app.js.map"
36
  )
37

    
38
  t.equal(
39
    resolveUrl(loc, "/static/scripts/app.js", "../source-maps/app.js.map", "../coffee/app.coffee"),
40
    "https://example.com/static/coffee/app.coffee"
41
  )
42

    
43
  t.equal(
44
    resolveUrl(loc, "//cdn.example.com/jquery.js"),
45
    "https://cdn.example.com/jquery.js"
46
  )
47

    
48
})
49

    
50
test("edge cases", function(t) {
51

    
52
  t.plan(4)
53

    
54
  t["throws"](resolveUrl, /at least one argument/, "throws with no arguments")
55

    
56
  var accidentallyUndefined
57
  var result
58
  t.doesNotThrow(
59
    function() { result = resolveUrl(accidentallyUndefined) },
60
    "undefined is still an argument"
61
  )
62
  t.ok(result.match(/\/undefined$/), "undefined is stringified")
63

    
64
  t.equal(
65
    resolveUrl("http://foo.org/test", undefined, {}, ["a/b"], null),
66
    "http://foo.org/a/null",
67
    "arguments are stringified"
68
  )
69

    
70
})
    (1-1/1)