1 var test = require('tap').test
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")
8 test('typos', function(t) {
14 var typoMessage = safeFormat.bind(undefined, warningMessages.typo)
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') ]
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"
49 ,"prefereGlobal": "preferGlobal"
50 ,"hompage": "homepage"
51 ,"hampage": "homepage"
54 ,"contributers": "contributors"
55 ,"publicationConfig": "publishConfig"
58 ,version:"1.2.5"}, warn)
60 t.same(warnings, 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]
73 normalize({name:"name"
75 ,bugs:{web:"url",name:"url"}}, warn)
77 t.same(warnings, expect)
81 [ warningMessages.missingDescription,
82 warningMessages.missingRepository,
83 warningMessages.missingReadme,
84 warningMessages.missingLicense,
85 typoMessage('script', 'scripts') ]
87 normalize({name:"name"
89 ,script:{server:"start",tests:"test"}}, warn)
91 t.same(warnings, 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]
102 normalize({name:"name"
104 ,scripts:{server:"start",tests:"test"}}, warn)
106 t.same(warnings, expect)
110 [ warningMessages.missingDescription,
111 warningMessages.missingRepository,
112 warningMessages.missingReadme,
113 warningMessages.missingLicense]
115 normalize({name:"name"
117 ,scripts:{server:"start",tests:"test"
118 ,start:"start",test:"test"}}, warn)
120 t.same(warnings, expect)
125 normalize({private: true
128 ,scripts:{server:"start",tests:"test"}}, warn)
130 t.same(warnings, expect)