Skip to content

Commit 96ad844

Browse files
committed
Separate tests from the build script
1 parent c898267 commit 96ad844

File tree

3 files changed

+29
-39
lines changed

3 files changed

+29
-39
lines changed

build.js

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,15 @@
1-
21
var fs = require('fs')
3-
var charmap = require('./charmap')
4-
52

6-
exports.sort = function () {
3+
function sortCharmap () {
4+
var charmap = JSON.parse(fs.readFileSync('charmap.json', 'utf8'))
75
var sorted = charmap.sort(function (a, b) {
86
return a.key > b.key ? 1 : a.key < b.key ? -1 : 0
97
})
108
fs.writeFileSync('charmap.json', JSON.stringify(sorted, null, 2), 'utf8')
119
}
1210

13-
exports.duplicates = function () {
14-
var cache = {}
15-
var duplicates = []
16-
charmap.forEach(function (pair) {
17-
if (!cache[pair.key]) {
18-
cache[pair.key] = pair
19-
}
20-
else {
21-
duplicates.push(pair)
22-
}
23-
})
24-
return {
25-
cache: cache,
26-
duplicates: duplicates
27-
}
28-
}
29-
30-
exports.replace = function () {
11+
function replaceCharmap () {
12+
var charmap = JSON.parse(fs.readFileSync('charmap.json', 'utf8'))
3113
var obj = charmap.reduce(function (obj, pair) {
3214
obj[pair.key] = pair.value
3315
return obj
@@ -44,3 +26,6 @@ exports.replace = function () {
4426

4527
fs.writeFileSync('index.js', source, 'utf8')
4628
}
29+
30+
sortCharmap()
31+
replaceCharmap()

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,11 @@
3535
],
3636
"types": "index.d.ts",
3737
"scripts": {
38+
"build": "node build.js && echo Build completed",
3839
"lint": "eslint index.js test.js build.js && echo Lint Passed",
3940
"test": "npm run lint && npm run test:ci && echo Tests Passed",
40-
"test:ci": "mocha",
41-
"test:cov": "istanbul cover _mocha"
41+
"test:ci": "npm run build && mocha",
42+
"test:cov": "npm run build && istanbul cover _mocha"
4243
},
4344
"engines": {
4445
"node": ">=4.0.0"

test.js

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,9 @@
11
/* eslint-disable node/no-deprecated-api */
22
var t = require('assert')
3+
var slugify = require('./')
4+
var charmap = require('./charmap.json')
35

46
describe('slugify', function () {
5-
var build = require('./build')
6-
var slugify
7-
8-
before(function () {
9-
build.replace()
10-
slugify = require('./')
11-
})
12-
137
it('throws', function () {
148
try {
159
slugify(undefined)
@@ -20,11 +14,25 @@ describe('slugify', function () {
2014
})
2115

2216
it('duplicates characters are not allowed', function () {
23-
var result = build.duplicates()
17+
function getDuplicates (charmap) {
18+
var cache = {}
19+
var duplicates = []
20+
charmap.forEach(function (pair) {
21+
if (!cache[pair.key]) {
22+
cache[pair.key] = pair
23+
}
24+
else {
25+
duplicates.push(pair)
26+
}
27+
})
28+
return duplicates
29+
}
30+
31+
var result = getDuplicates(charmap)
2432
t.equal(
25-
result.duplicates.length,
33+
result.length,
2634
0,
27-
'duplicates: ' + result.duplicates
35+
'duplicates: ' + result
2836
.map(function (pair) {
2937
return pair.key
3038
})
@@ -277,8 +285,4 @@ describe('slugify', function () {
277285
)
278286
})
279287
})
280-
281-
after(function () {
282-
build.sort()
283-
})
284288
})

0 commit comments

Comments
 (0)