Initial commit
[yaffs-website] / node_modules / normalize-package-data / test / strict.js
1 var test = require("tap").test
2
3 var normalize = require("../")
4
5 test("strict", function(t) {
6   var threw
7
8   try {
9     threw = false
10     normalize({name: "X"}, true)
11   } catch (er) {
12     threw = true
13     t.equal(er.message, 'Invalid name: "X"')
14   } finally {
15     t.equal(threw, true)
16   }
17
18   try {
19     threw = false
20     normalize({name:" x "}, true)
21   } catch (er) {
22     threw = true
23     t.equal(er.message, 'Invalid name: " x "')
24   } finally {
25     t.equal(threw, true)
26   }
27
28   try {
29     threw = false
30     normalize({name:"x",version:"01.02.03"}, true)
31   } catch (er) {
32     threw = true
33     t.equal(er.message, 'Invalid version: "01.02.03"')
34   } finally {
35     t.equal(threw, true)
36   }
37
38   // these should not throw
39   var slob = {name:" X ",version:"01.02.03",dependencies:{
40     y:">01.02.03",
41     z:"! 99 $$ASFJ(Aawenf90awenf as;naw.3j3qnraw || an elephant"
42   }}
43   normalize(slob, false)
44   t.same(slob,
45          { name: 'X',
46            version: '1.2.3',
47            dependencies:
48             { y: '>01.02.03',
49               z: '! 99 $$ASFJ(Aawenf90awenf as;naw.3j3qnraw || an elephant' },
50            readme: 'ERROR: No README data found!',
51            _id: 'X@1.2.3' })
52
53   t.end()
54 })