summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/normalize-package-data/test/strict.js
blob: 40e09dcf2fec92695f5a64c7433af827668317d1 (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
45
46
47
48
49
50
51
52
53
54
var test = require("tap").test

var normalize = require("../")

test("strict", function(t) {
  var threw

  try {
    threw = false
    normalize({name: "X"}, true)
  } catch (er) {
    threw = true
    t.equal(er.message, 'Invalid name: "X"')
  } finally {
    t.equal(threw, true)
  }

  try {
    threw = false
    normalize({name:" x "}, true)
  } catch (er) {
    threw = true
    t.equal(er.message, 'Invalid name: " x "')
  } finally {
    t.equal(threw, true)
  }

  try {
    threw = false
    normalize({name:"x",version:"01.02.03"}, true)
  } catch (er) {
    threw = true
    t.equal(er.message, 'Invalid version: "01.02.03"')
  } finally {
    t.equal(threw, true)
  }

  // these should not throw
  var slob = {name:" X ",version:"01.02.03",dependencies:{
    y:">01.02.03",
    z:"! 99 $$ASFJ(Aawenf90awenf as;naw.3j3qnraw || an elephant"
  }}
  normalize(slob, false)
  t.same(slob,
         { name: 'X',
           version: '1.2.3',
           dependencies:
            { y: '>01.02.03',
              z: '! 99 $$ASFJ(Aawenf90awenf as;naw.3j3qnraw || an elephant' },
           readme: 'ERROR: No README data found!',
           _id: 'X@1.2.3' })

  t.end()
})