summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/normalize-package-data/test/typo.js
blob: 9c2fd70a45491d8677429a665ef504cc7fe7fe37 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
var test = require('tap').test

var normalize = require('../')
var typos = require('../lib/typos.json')
var warningMessages = require("../lib/warning_messages.json")
var safeFormat = require("../lib/safe_format")

test('typos', function(t) {
  var warnings = []
  function warn(m) {
    warnings.push(m)
  }

  var typoMessage = safeFormat.bind(undefined, warningMessages.typo)

  var expect =
    [ warningMessages.missingRepository,
      warningMessages.missingLicense,
      typoMessage('dependancies', 'dependencies'),
      typoMessage('dependecies', 'dependencies'),
      typoMessage('depdenencies', 'dependencies'),
      typoMessage('devEependencies', 'devDependencies'),
      typoMessage('depends', 'dependencies'),
      typoMessage('dev-dependencies', 'devDependencies'),
      typoMessage('devDependences', 'devDependencies'),
      typoMessage('devDepenencies', 'devDependencies'),
      typoMessage('devdependencies', 'devDependencies'),
      typoMessage('repostitory', 'repository'),
      typoMessage('repo', 'repository'),
      typoMessage('prefereGlobal', 'preferGlobal'),
      typoMessage('hompage', 'homepage'),
      typoMessage('hampage', 'homepage'),
      typoMessage('autohr', 'author'),
      typoMessage('autor', 'author'),
      typoMessage('contributers', 'contributors'),
      typoMessage('publicationConfig', 'publishConfig') ]

  normalize({"dependancies": "dependencies"
            ,"dependecies": "dependencies"
            ,"depdenencies": "dependencies"
            ,"devEependencies": "devDependencies"
            ,"depends": "dependencies"
            ,"dev-dependencies": "devDependencies"
            ,"devDependences": "devDependencies"
            ,"devDepenencies": "devDependencies"
            ,"devdependencies": "devDependencies"
            ,"repostitory": "repository"
            ,"repo": "repository"
            ,"prefereGlobal": "preferGlobal"
            ,"hompage": "homepage"
            ,"hampage": "homepage"
            ,"autohr": "author"
            ,"autor": "author"
            ,"contributers": "contributors"
            ,"publicationConfig": "publishConfig"
            ,readme:"asdf"
            ,name:"name"
            ,version:"1.2.5"}, warn)

  t.same(warnings, expect)

  warnings.length = 0
  var expect =
    [ warningMessages.missingDescription,
      warningMessages.missingRepository,
      typoMessage("bugs['web']", "bugs['url']"),
      typoMessage("bugs['name']", "bugs['url']"),
      warningMessages.nonUrlBugsUrlField,
      warningMessages.emptyNormalizedBugs,
      warningMessages.missingReadme,
      warningMessages.missingLicense]

  normalize({name:"name"
            ,version:"1.2.5"
            ,bugs:{web:"url",name:"url"}}, warn)

  t.same(warnings, expect)

  warnings.length = 0
  var expect =
    [ warningMessages.missingDescription,
      warningMessages.missingRepository,
      warningMessages.missingReadme,
      warningMessages.missingLicense,
      typoMessage('script', 'scripts') ]

  normalize({name:"name"
            ,version:"1.2.5"
            ,script:{server:"start",tests:"test"}}, warn)

  t.same(warnings, expect)

  warnings.length = 0
  expect =
    [ warningMessages.missingDescription,
      warningMessages.missingRepository,
      typoMessage("scripts['server']", "scripts['start']"),
      typoMessage("scripts['tests']", "scripts['test']"),
      warningMessages.missingReadme,
      warningMessages.missingLicense]

  normalize({name:"name"
            ,version:"1.2.5"
            ,scripts:{server:"start",tests:"test"}}, warn)

  t.same(warnings, expect)

  warnings.length = 0
  expect =
    [ warningMessages.missingDescription,
      warningMessages.missingRepository,
      warningMessages.missingReadme,
      warningMessages.missingLicense]

  normalize({name:"name"
            ,version:"1.2.5"
            ,scripts:{server:"start",tests:"test"
                     ,start:"start",test:"test"}}, warn)

  t.same(warnings, expect)

  warnings.length = 0
  expect = []

  normalize({private: true
            ,name:"name"
            ,version:"1.2.5"
            ,scripts:{server:"start",tests:"test"}}, warn)

  t.same(warnings, expect)

  t.end();
})