]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/validate-npm-package-name/test/index.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / node_modules / validate-npm-package-name / test / index.js
1 var validate = require("..")
2 var test = require("tap").test
3 var path = require("path")
4 var fs = require("fs")
5
6 test("validate-npm-package-name", function (t) {
7
8   // Traditional
9
10   t.deepEqual(validate("some-package"), {validForNewPackages: true, validForOldPackages: true})
11   t.deepEqual(validate("example.com"), {validForNewPackages: true, validForOldPackages: true})
12   t.deepEqual(validate("under_score"), {validForNewPackages: true, validForOldPackages: true})
13   t.deepEqual(validate("period.js"), {validForNewPackages: true, validForOldPackages: true})
14   t.deepEqual(validate("123numeric"), {validForNewPackages: true, validForOldPackages: true})
15   t.deepEqual(validate("crazy!"), {validForNewPackages: true, validForOldPackages: true})
16
17   // Scoped (npm 2+)
18
19   t.deepEqual(validate("@npm/thingy"), {validForNewPackages: true, validForOldPackages: true})
20   t.deepEqual(validate("@npm-zors/money!time.js"), {validForNewPackages: true, validForOldPackages: true})
21
22   // Invalid
23
24   t.deepEqual(validate(""), {
25     validForNewPackages: false,
26     validForOldPackages: false,
27     errors: ["name length must be greater than zero"]})
28
29   t.deepEqual(validate(""), {
30     validForNewPackages: false,
31     validForOldPackages: false,
32     errors: ["name length must be greater than zero"]})
33
34   t.deepEqual(validate(".start-with-period"), {
35     validForNewPackages: false,
36     validForOldPackages: false,
37     errors: ["name cannot start with a period"]})
38
39   t.deepEqual(validate("_start-with-underscore"), {
40     validForNewPackages: false,
41     validForOldPackages: false,
42     errors: ["name cannot start with an underscore"]})
43
44   t.deepEqual(validate("contain:colons"), {
45     validForNewPackages: false,
46     validForOldPackages: false,
47     errors: ["name can only contain URL-friendly characters"]})
48
49   t.deepEqual(validate(" leading-space"), {
50     validForNewPackages: false,
51     validForOldPackages: false,
52     errors: ["name cannot contain leading or trailing spaces", "name can only contain URL-friendly characters"]})
53
54   t.deepEqual(validate("trailing-space "), {
55     validForNewPackages: false,
56     validForOldPackages: false,
57     errors: ["name cannot contain leading or trailing spaces", "name can only contain URL-friendly characters"]})
58
59   t.deepEqual(validate("s/l/a/s/h/e/s"), {
60     validForNewPackages: false,
61     validForOldPackages: false,
62     errors: ["name can only contain URL-friendly characters"]})
63
64   t.deepEqual(validate("node_modules"), {
65     validForNewPackages: false,
66     validForOldPackages: false,
67     errors: ["node_modules is a blacklisted name"]})
68
69   t.deepEqual(validate("favicon.ico"), {
70     validForNewPackages: false,
71     validForOldPackages: false,
72     errors: ["favicon.ico is a blacklisted name"]})
73
74   // Node/IO Core
75
76   t.deepEqual(validate("http"), {
77     validForNewPackages: false,
78     validForOldPackages: true,
79     warnings: ["http is a core module name"]})
80
81   // Long Package Names
82
83   t.deepEqual(validate("ifyouwanttogetthesumoftwonumberswherethosetwonumbersarechosenbyfindingthelargestoftwooutofthreenumbersandsquaringthemwhichismultiplyingthembyitselfthenyoushouldinputthreenumbersintothisfunctionanditwilldothatforyou-"), {
84     validForNewPackages: false,
85     validForOldPackages: true,
86     warnings: ["name can no longer contain more than 214 characters"]
87   })
88
89   t.deepEqual(validate("ifyouwanttogetthesumoftwonumberswherethosetwonumbersarechosenbyfindingthelargestoftwooutofthreenumbersandsquaringthemwhichismultiplyingthembyitselfthenyoushouldinputthreenumbersintothisfunctionanditwilldothatforyou"), {
90     validForNewPackages: true,
91     validForOldPackages: true
92   })
93
94   // Legacy Mixed-Case
95
96   t.deepEqual(validate("CAPITAL-LETTERS"), {
97     validForNewPackages: false,
98     validForOldPackages: true,
99     warnings: ["name can no longer contain capital letters"]})
100
101   t.end()
102 })