UNPKG

4.2 kBJavaScriptView Raw
1var test = require('tap').test
2
3var normalize = require('../')
4var typos = require('../lib/typos.json')
5var warningMessages = require("../lib/warning_messages.json")
6var safeFormat = require("../lib/safe_format")
7
8test('typos', function(t) {
9 var warnings = []
10 function warn(m) {
11 warnings.push(m)
12 }
13
14 var typoMessage = safeFormat.bind(undefined, warningMessages.typo)
15
16 var expect =
17 [ warningMessages.missingRepository,
18 warningMessages.missingLicense,
19 typoMessage('dependancies', 'dependencies'),
20 typoMessage('dependecies', 'dependencies'),
21 typoMessage('depdenencies', 'dependencies'),
22 typoMessage('devEependencies', 'devDependencies'),
23 typoMessage('depends', 'dependencies'),
24 typoMessage('dev-dependencies', 'devDependencies'),
25 typoMessage('devDependences', 'devDependencies'),
26 typoMessage('devDepenencies', 'devDependencies'),
27 typoMessage('devdependencies', 'devDependencies'),
28 typoMessage('repostitory', 'repository'),
29 typoMessage('repo', 'repository'),
30 typoMessage('prefereGlobal', 'preferGlobal'),
31 typoMessage('hompage', 'homepage'),
32 typoMessage('hampage', 'homepage'),
33 typoMessage('autohr', 'author'),
34 typoMessage('autor', 'author'),
35 typoMessage('contributers', 'contributors'),
36 typoMessage('publicationConfig', 'publishConfig') ]
37
38 normalize({"dependancies": "dependencies"
39 ,"dependecies": "dependencies"
40 ,"depdenencies": "dependencies"
41 ,"devEependencies": "devDependencies"
42 ,"depends": "dependencies"
43 ,"dev-dependencies": "devDependencies"
44 ,"devDependences": "devDependencies"
45 ,"devDepenencies": "devDependencies"
46 ,"devdependencies": "devDependencies"
47 ,"repostitory": "repository"
48 ,"repo": "repository"
49 ,"prefereGlobal": "preferGlobal"
50 ,"hompage": "homepage"
51 ,"hampage": "homepage"
52 ,"autohr": "author"
53 ,"autor": "author"
54 ,"contributers": "contributors"
55 ,"publicationConfig": "publishConfig"
56 ,readme:"asdf"
57 ,name:"name"
58 ,version:"1.2.5"}, warn)
59
60 t.same(warnings, expect)
61
62 warnings.length = 0
63 var expect =
64 [ warningMessages.missingDescription,
65 warningMessages.missingRepository,
66 typoMessage("bugs['web']", "bugs['url']"),
67 typoMessage("bugs['name']", "bugs['url']"),
68 warningMessages.nonUrlBugsUrlField,
69 warningMessages.emptyNormalizedBugs,
70 warningMessages.missingReadme,
71 warningMessages.missingLicense]
72
73 normalize({name:"name"
74 ,version:"1.2.5"
75 ,bugs:{web:"url",name:"url"}}, warn)
76
77 t.same(warnings, expect)
78
79 warnings.length = 0
80 var expect =
81 [ warningMessages.missingDescription,
82 warningMessages.missingRepository,
83 warningMessages.missingReadme,
84 warningMessages.missingLicense,
85 typoMessage('script', 'scripts') ]
86
87 normalize({name:"name"
88 ,version:"1.2.5"
89 ,script:{server:"start",tests:"test"}}, warn)
90
91 t.same(warnings, expect)
92
93 warnings.length = 0
94 expect =
95 [ warningMessages.missingDescription,
96 warningMessages.missingRepository,
97 typoMessage("scripts['server']", "scripts['start']"),
98 typoMessage("scripts['tests']", "scripts['test']"),
99 warningMessages.missingReadme,
100 warningMessages.missingLicense]
101
102 normalize({name:"name"
103 ,version:"1.2.5"
104 ,scripts:{server:"start",tests:"test"}}, warn)
105
106 t.same(warnings, expect)
107
108 warnings.length = 0
109 expect =
110 [ warningMessages.missingDescription,
111 warningMessages.missingRepository,
112 warningMessages.missingReadme,
113 warningMessages.missingLicense]
114
115 normalize({name:"name"
116 ,version:"1.2.5"
117 ,scripts:{server:"start",tests:"test"
118 ,start:"start",test:"test"}}, warn)
119
120 t.same(warnings, expect)
121
122 warnings.length = 0
123 expect = []
124
125 normalize({private: true
126 ,name:"name"
127 ,version:"1.2.5"
128 ,scripts:{server:"start",tests:"test"}}, warn)
129
130 t.same(warnings, expect)
131
132 t.end();
133})