1 | var test = require('tap').test
|
2 |
|
3 | var normalize = require('../')
|
4 | var typos = require('../lib/typos.json')
|
5 | var warningMessages = require("../lib/warning_messages.json")
|
6 | var safeFormat = require("../lib/safe_format")
|
7 |
|
8 | test('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 | })
|