Initial commit
[yaffs-website] / node_modules / normalize-package-data / test / typo.js
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 })