From ed5cb6ed7fa1391ec12af96092d2c752f5624fc2 Mon Sep 17 00:00:00 2001 From: segayuu Date: Thu, 18 Oct 2018 10:15:27 +0900 Subject: [PATCH 1/2] Refactoring es2016nify --- lib/cache_stream.js | 4 +- lib/camel_case_keys.js | 28 +++++++----- lib/escape_diacritic.js | 14 +++--- lib/escape_html.js | 6 +-- lib/hash.js | 10 ++--- lib/highlight.js | 99 +++++++++++++++++++---------------------- lib/html_tag.js | 11 ++--- lib/index.js | 2 +- lib/pattern.js | 27 +++++------ lib/permalink.js | 28 ++++++------ lib/slugize.js | 21 +++++---- lib/spawn.js | 37 ++++++++------- lib/truncate.js | 22 +++++---- lib/word_wrap.js | 15 +++---- 14 files changed, 152 insertions(+), 172 deletions(-) diff --git a/lib/cache_stream.js b/lib/cache_stream.js index 640d9412..91e65124 100644 --- a/lib/cache_stream.js +++ b/lib/cache_stream.js @@ -1,6 +1,6 @@ 'use strict'; -var Transform = require('stream').Transform; +const { Transform } = require('stream'); function CacheStream() { Transform.call(this); @@ -11,7 +11,7 @@ function CacheStream() { require('util').inherits(CacheStream, Transform); CacheStream.prototype._transform = function(chunk, enc, callback) { - var buf = chunk instanceof Buffer ? chunk : Buffer.from(chunk, enc); + const buf = chunk instanceof Buffer ? chunk : Buffer.from(chunk, enc); this._cache.push(buf); this.push(buf); diff --git a/lib/camel_case_keys.js b/lib/camel_case_keys.js index 40b0badf..6008b910 100644 --- a/lib/camel_case_keys.js +++ b/lib/camel_case_keys.js @@ -1,8 +1,8 @@ 'use strict'; -var camelCase = require('camel-case'); +const camelCase = require('camel-case'); -var rPrefixUnderscore = /^(_+)/; +const rPrefixUnderscore = /^(_+)/; function getter(key) { return function() { @@ -19,17 +19,17 @@ function setter(key) { function camelCaseKeys(obj) { if (typeof obj !== 'object') throw new TypeError('obj must be an object!'); - var keys = Object.keys(obj); - var result = {}; + const keys = Object.keys(obj); + const result = {}; - for (var i = 0, len = keys.length; i < len; i++) { - var key = keys[i]; - var value = obj[key]; - var match = key.match(rPrefixUnderscore); - var newKey; + for (let i = 0, len = keys.length; i < len; i++) { + const key = keys[i]; + const value = obj[key]; + const match = key.match(rPrefixUnderscore); + let newKey; if (match) { - var underscore = match[1]; + const underscore = match[1]; newKey = underscore + camelCase(key.substring(underscore.length)); } else { newKey = camelCase(key); @@ -39,8 +39,12 @@ function camelCaseKeys(obj) { result[key] = value; } else { result[newKey] = value; - result.__defineGetter__(key, getter(newKey)); - result.__defineSetter__(key, setter(newKey)); + Object.defineProperty(result, key, { + get: getter(newKey), + set: setter(newKey), + configurable: true, + enumerable: true + }); } } diff --git a/lib/escape_diacritic.js b/lib/escape_diacritic.js index 2b39d827..5e94465d 100644 --- a/lib/escape_diacritic.js +++ b/lib/escape_diacritic.js @@ -1,6 +1,6 @@ 'use strict'; -var defaultDiacriticsRemovalap = [ +const defaultDiacriticsRemovalap = [ {'base': 'A', 'letters': '\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F'}, {'base': 'AA', 'letters': '\uA732'}, {'base': 'AE', 'letters': '\u00C6\u01FC\u01E2'}, @@ -89,12 +89,12 @@ var defaultDiacriticsRemovalap = [ {'base': 'z', 'letters': '\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763'} ]; -var diacriticsMap = {}; +const diacriticsMap = {}; -for (var i = 0; i < defaultDiacriticsRemovalap.length; i++) { - var letters = defaultDiacriticsRemovalap[i].letters.split(''); +for (let i = 0; i < defaultDiacriticsRemovalap.length; i++) { + const letters = defaultDiacriticsRemovalap[i].letters.split(''); - for (var j = 0; j < letters.length; j++) { + for (let j = 0; j < letters.length; j++) { diacriticsMap[letters[j]] = defaultDiacriticsRemovalap[i].base; } } @@ -104,9 +104,7 @@ function escapeDiacritic(str) { // http://stackoverflow.com/a/18391901 // eslint-disable-next-line no-control-regex - return str.replace(/[^\u0000-\u007E]/g, function(a) { - return diacriticsMap[a] || a; - }); + return str.replace(/[^\u0000-\u007E]/g, a => diacriticsMap[a] || a); } module.exports = escapeDiacritic; diff --git a/lib/escape_html.js b/lib/escape_html.js index f094eb66..8c51211b 100644 --- a/lib/escape_html.js +++ b/lib/escape_html.js @@ -1,6 +1,6 @@ 'use strict'; -var htmlEntityMap = { +const htmlEntityMap = { '&': '&', '<': '<', '>': '>', @@ -13,9 +13,7 @@ function escapeHTML(str) { if (typeof str !== 'string') throw new TypeError('str must be a string!'); // http://stackoverflow.com/a/12034334 - return str.replace(/[&<>"'/]/g, function(a) { - return htmlEntityMap[a]; - }); + return str.replace(/[&<>"'/]/g, a => htmlEntityMap[a]); } module.exports = escapeHTML; diff --git a/lib/hash.js b/lib/hash.js index 4a7197e6..3112a588 100644 --- a/lib/hash.js +++ b/lib/hash.js @@ -1,9 +1,9 @@ 'use strict'; -var Transform = require('stream').Transform; -var crypto = require('crypto'); +const { Transform } = require('stream'); +const crypto = require('crypto'); -var ALGORITHM = 'sha1'; +const ALGORITHM = 'sha1'; function HashStream() { Transform.call(this); @@ -23,8 +23,8 @@ HashStream.prototype._flush = function(callback) { callback(); }; -exports.hash = function(content) { - var hash = crypto.createHash(ALGORITHM); +exports.hash = content => { + const hash = crypto.createHash(ALGORITHM); hash.update(content); return hash.digest(); }; diff --git a/lib/highlight.js b/lib/highlight.js index f97d73fd..42fa2aa9 100644 --- a/lib/highlight.js +++ b/lib/highlight.js @@ -1,72 +1,71 @@ 'use strict'; -var hljs = require('highlight.js/lib/highlight'); -var Entities = require('html-entities').XmlEntities; -var entities = new Entities(); -var alias = require('../highlight_alias.json'); +const hljs = require('highlight.js/lib/highlight'); +const Entities = require('html-entities').XmlEntities; +const entities = new Entities(); +const alias = require('../highlight_alias.json'); -function highlightUtil(str, options) { +function highlightUtil(str, options = {}) { if (typeof str !== 'string') throw new TypeError('str must be a string!'); - options = options || {}; - var useHljs = options.hasOwnProperty('hljs') ? options.hljs : false; - var gutter = options.hasOwnProperty('gutter') ? options.gutter : true; - var wrap = options.hasOwnProperty('wrap') ? options.wrap : true; - var firstLine = options.hasOwnProperty('firstLine') ? +options.firstLine : 1; - var caption = options.caption; - var mark = options.hasOwnProperty('mark') ? options.mark : []; - var tab = options.tab; + const useHljs = options.hasOwnProperty('hljs') ? options.hljs : false; + const { + gutter = true, + firstLine = 1, + caption, + mark = [], + tab + } = options; + let { wrap = true } = options; hljs.configure({ classPrefix: useHljs ? 'hljs-' : ''}); - var data = highlight(str, options); + const data = highlight(str, options); if (useHljs && !gutter) wrap = false; - var before = useHljs ? '
' : '
';
-  var after = useHljs ? '
' : '
'; + const before = useHljs ? `
` : '
';
+  const after = useHljs ? '
' : '
'; if (!wrap) return useHljs ? before + data.value + after : data.value; - var lines = data.value.split('\n'); - var numbers = ''; - var content = ''; - var result = ''; - var line; + const lines = data.value.split('\n'); + let numbers = ''; + let content = ''; - for (var i = 0, len = lines.length; i < len; i++) { - line = lines[i]; + for (let i = 0, len = lines.length; i < len; i++) { + let line = lines[i]; if (tab) line = replaceTabs(line, tab); - numbers += '' + (firstLine + i) + '
'; + numbers += `${firstLine + i}
`; content += formatLine(line, firstLine + i, mark, options); } - result += '
'; + let result = `
`; if (caption) { - result += '
' + caption + '
'; + result += `
${caption}
`; } result += ''; if (gutter) { - result += ''; + result += ``; } - result += ''; + result += ``; result += '
' + numbers + '
${numbers}
' + before + content + after + '${before}${content}${after}
'; return result; } function formatLine(line, lineno, marked, options) { - var useHljs = options.hljs || false; - var res = useHljs ? '' : '' + line + '' : ' marked">' + line + ''; + res += useHljs ? `${line}` : ` marked">${line}`; } else { - res += useHljs ? line : '">' + line + ''; + res += useHljs ? line : `">${line}`; } res += '
'; @@ -78,10 +77,10 @@ function encodePlainString(str) { } function replaceTabs(str, tab) { - return str.replace(/^\t+/, function(match) { - var result = ''; + return str.replace(/^\t+/, match => { + let result = ''; - for (var i = 0, len = match.length; i < len; i++) { + for (let i = 0, len = match.length; i < len; i++) { result += tab; } @@ -90,7 +89,7 @@ function replaceTabs(str, tab) { } function loadLanguage(lang) { - hljs.registerLanguage(lang, require('highlight.js/lib/languages/' + lang)); + hljs.registerLanguage(lang, require(`highlight.js/lib/languages/${lang}`)); } function tryLanguage(lang) { @@ -102,29 +101,25 @@ function tryLanguage(lang) { } function loadAllLanguages() { - alias.languages.filter(function(lang) { - return !hljs.getLanguage(lang); - }).forEach(loadLanguage); + alias.languages.filter(lang => !hljs.getLanguage(lang)).forEach(loadLanguage); } function highlight(str, options) { - var lang = options.lang; - var autoDetect = options.hasOwnProperty('autoDetect') ? options.autoDetect : false; + let { lang } = options; + const { autoDetect = false } = options; if (!lang && autoDetect) { loadAllLanguages(); - lang = (function() { - var result = hljs.highlightAuto(str); - if (result.relevance > 0 && result.language) return result.language; + const result = hljs.highlightAuto(str); + if (result.relevance > 0 && result.language) lang = result.language; - }()); } if (!lang) { lang = 'plain'; } - var result = { + const result = { value: encodePlainString(str), language: lang.toLowerCase() }; @@ -145,11 +140,11 @@ function highlight(str, options) { function tryHighlight(str, lang) { try { - var matching = str.match(/(\r?\n)/); - var separator = matching ? matching[1] : ''; - var lines = matching ? str.split(separator) : [str]; - var result = hljs.highlight(lang, lines.shift()); - var html = result.value; + const matching = str.match(/(\r?\n)/); + const separator = matching ? matching[1] : ''; + const lines = matching ? str.split(separator) : [str]; + let result = hljs.highlight(lang, lines.shift()); + let html = result.value; while (lines.length > 0) { result = hljs.highlight(lang, lines.shift(), false, result.top); html += separator + result.value; diff --git a/lib/html_tag.js b/lib/html_tag.js index 85510fa7..8c7541f2 100644 --- a/lib/html_tag.js +++ b/lib/html_tag.js @@ -3,16 +3,13 @@ function htmlTag(tag, attrs, text) { if (!tag) throw new TypeError('tag is required!'); - var result = '<' + tag; + let result = `<${tag}`; - for (var i in attrs) { - if ( - attrs[i] !== undefined - && attrs[i] !== null - ) result += ' ' + i + '="' + attrs[i] + '"'; + for (const i in attrs) { + if (attrs[i] != null) result += ` ${i}="${attrs[i]}"`; } - result += text == null ? '>' : '>' + text + ''; + result += text == null ? '>' : `>${text}`; return result; } diff --git a/lib/index.js b/lib/index.js index eb8fd2ea..1ec2f755 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1,6 +1,6 @@ 'use strict'; -var hash = require('./hash'); +const hash = require('./hash'); exports.escapeDiacritic = require('./escape_diacritic'); exports.escapeHTML = require('./escape_html'); diff --git a/lib/pattern.js b/lib/pattern.js index f9d07756..c2eecf8c 100644 --- a/lib/pattern.js +++ b/lib/pattern.js @@ -1,8 +1,8 @@ 'use strict'; -var escapeRegExp = require('./escape_regexp'); +const escapeRegExp = require('./escape_regexp'); -var rParam = /([:*])([\w?]*)?/g; +const rParam = /([:*])([\w?]*)?/g; function Pattern(rule) { if (rule instanceof Pattern) { @@ -23,18 +23,16 @@ Pattern.prototype.test = function(str) { }; function regexFilter(rule) { - return function(str) { - return str.match(rule); - }; + return str => str.match(rule); } function stringFilter(rule) { - var params = []; + const params = []; - var regex = escapeRegExp(rule) + const regex = escapeRegExp(rule) .replace(/\\([*?])/g, '$1') - .replace(rParam, function(match, operator, name) { - var str = ''; + .replace(rParam, (match, operator, name) => { + let str = ''; if (operator === '*') { str = '(.*)?'; @@ -54,15 +52,14 @@ function stringFilter(rule) { return str; }); - return function(str) { - var match = str.match(regex); + return str => { + const match = str.match(regex); if (!match) return; - var result = {}; - var name; + const result = {}; - for (var i = 0, len = match.length; i < len; i++) { - name = params[i - 1]; + for (let i = 0, len = match.length; i < len; i++) { + const name = params[i - 1]; result[i] = match[i]; if (name) result[name] = match[i]; } diff --git a/lib/permalink.js b/lib/permalink.js index 96684579..d574866e 100644 --- a/lib/permalink.js +++ b/lib/permalink.js @@ -1,22 +1,22 @@ 'use strict'; -var escapeRegExp = require('./escape_regexp'); +const escapeRegExp = require('./escape_regexp'); -var rParam = /:(\w+)/g; +const rParam = /:(\w+)/g; function Permalink(rule, options) { if (!rule) throw new TypeError('rule is required!'); options = options || {}; - var segments = options.segments || {}; - var params = []; + const segments = options.segments || {}; + const params = []; - var regex = escapeRegExp(rule) - .replace(rParam, function(match, name) { + const regex = escapeRegExp(rule) + .replace(rParam, (match, name) => { params.push(name); if (segments.hasOwnProperty(name)) { - var segment = segments[name]; + const segment = segments[name]; if (segment instanceof RegExp) { return segment.source; @@ -29,7 +29,7 @@ function Permalink(rule, options) { }); this.rule = rule; - this.regex = new RegExp('^' + regex + '$'); + this.regex = new RegExp(`^${regex}$`); this.params = params; } @@ -38,13 +38,13 @@ Permalink.prototype.test = function(str) { }; Permalink.prototype.parse = function(str) { - var match = str.match(this.regex); - var params = this.params; - var result = {}; + const match = str.match(this.regex); + const { params } = this; + const result = {}; if (!match) return; - for (var i = 1, len = match.length; i < len; i++) { + for (let i = 1, len = match.length; i < len; i++) { result[params[i - 1]] = match[i]; } @@ -52,9 +52,7 @@ Permalink.prototype.parse = function(str) { }; Permalink.prototype.stringify = function(data) { - return this.rule.replace(rParam, function(match, name) { - return data[name]; - }); + return this.rule.replace(rParam, (match, name) => data[name]); }; module.exports = Permalink; diff --git a/lib/slugize.js b/lib/slugize.js index 73755c46..0a749a7c 100644 --- a/lib/slugize.js +++ b/lib/slugize.js @@ -1,27 +1,26 @@ 'use strict'; -var escapeDiacritic = require('./escape_diacritic'); -var escapeRegExp = require('./escape_regexp'); +const escapeDiacritic = require('./escape_diacritic'); +const escapeRegExp = require('./escape_regexp'); // eslint-disable-next-line no-control-regex -var rControl = /[\u0000-\u001f]/g; -var rSpecial = /[\s~`!@#$%^&*()\-_+=[\]{}|\\;:"'<>,.?/]+/g; +const rControl = /[\u0000-\u001f]/g; +const rSpecial = /[\s~`!@#$%^&*()\-_+=[\]{}|\\;:"'<>,.?/]+/g; -function slugize(str, options) { +function slugize(str, options = {}) { if (typeof str !== 'string') throw new TypeError('str must be a string!'); - options = options || {}; - var separator = options.separator || '-'; - var escapedSep = escapeRegExp(separator); + const separator = options.separator || '-'; + const escapedSep = escapeRegExp(separator); - var result = escapeDiacritic(str) + const result = escapeDiacritic(str) // Remove control characters .replace(rControl, '') // Replace special characters .replace(rSpecial, separator) // Remove continous separators - .replace(new RegExp(escapedSep + '{2,}', 'g'), separator) + .replace(new RegExp(`${escapedSep}{2,}`, 'g'), separator) // Remove prefixing and trailing separtors - .replace(new RegExp('^' + escapedSep + '+|' + escapedSep + '+$', 'g'), ''); + .replace(new RegExp(`^${escapedSep}+|${escapedSep}+$`, 'g'), ''); switch (options.transform) { case 1: diff --git a/lib/spawn.js b/lib/spawn.js index d8ebd0ad..13d2c4af 100644 --- a/lib/spawn.js +++ b/lib/spawn.js @@ -1,40 +1,39 @@ 'use strict'; -var spawn = require('cross-spawn'); -var Promise = require('bluebird'); -var CacheStream = require('./cache_stream'); +const spawn = require('cross-spawn'); +const Promise = require('bluebird'); +const CacheStream = require('./cache_stream'); -function promiseSpawn(command, args, options) { +function promiseSpawn(command, args = [], options) { if (!command) throw new TypeError('command is required!'); - if (!options && args && !Array.isArray(args)) { + if (!options && !Array.isArray(args)) { options = args; args = []; } - args = args || []; options = options || {}; - return new Promise(function(resolve, reject) { - var task = spawn(command, args, options); - var verbose = options.verbose; - var encoding = options.hasOwnProperty('encoding') ? options.encoding : 'utf8'; - var stdoutCache = new CacheStream(); - var stderrCache = new CacheStream(); + return new Promise((resolve, reject) => { + const task = spawn(command, args, options); + const verbose = options.verbose; + const { encoding = 'utf8' } = options; + const stdoutCache = new CacheStream(); + const stderrCache = new CacheStream(); if (task.stdout) { - var stdout = task.stdout.pipe(stdoutCache); + const stdout = task.stdout.pipe(stdoutCache); if (verbose) stdout.pipe(process.stdout); } if (task.stderr) { - var stderr = task.stderr.pipe(stderrCache); + const stderr = task.stderr.pipe(stderrCache); if (verbose) stderr.pipe(process.stderr); } - task.on('close', function(code) { + task.on('close', code => { if (code) { - var e = new Error(getCache(stderrCache, encoding)); + const e = new Error(getCache(stderrCache, encoding)); e.code = code; return reject(e); @@ -47,9 +46,9 @@ function promiseSpawn(command, args, options) { // Listen to exit events if neither stdout and stderr exist (inherit stdio) if (!task.stdout && !task.stderr) { - task.on('exit', function(code) { + task.on('exit', code => { if (code) { - var e = new Error('Spawn failed'); + const e = new Error('Spawn failed'); e.code = code; return reject(e); @@ -62,7 +61,7 @@ function promiseSpawn(command, args, options) { } function getCache(stream, encoding) { - var buf = stream.getCache(); + const buf = stream.getCache(); stream.destroy(); if (!encoding) return buf; diff --git a/lib/truncate.js b/lib/truncate.js index 50775712..0dbd1dac 100644 --- a/lib/truncate.js +++ b/lib/truncate.js @@ -1,24 +1,22 @@ 'use strict'; -function truncate(str, options) { +function truncate(str, options = {}) { if (typeof str !== 'string') throw new TypeError('str must be a string!'); - options = options || {}; - var length = options.length || 30; - var omission = options.omission || '...'; - var separator = options.separator; - var omissionLength = omission.length; + const length = options.length || 30; + const omission = options.omission || '...'; + const { separator } = options; + const omissionLength = omission.length; if (str.length < length) return str; if (separator) { - var words = str.split(separator); - var word = ''; - var result = ''; - var resultLength = 0; + const words = str.split(separator); + let result = ''; + let resultLength = 0; - for (var i = 0, len = words.length; i < len; i++) { - word = words[i]; + for (let i = 0, len = words.length; i < len; i++) { + const word = words[i]; if (resultLength + word.length + omissionLength < length) { result += word + separator; diff --git a/lib/word_wrap.js b/lib/word_wrap.js index 9a552727..23fb6df6 100644 --- a/lib/word_wrap.js +++ b/lib/word_wrap.js @@ -1,17 +1,15 @@ 'use strict'; // https://github.com/rails/rails/blob/v4.2.0/actionview/lib/action_view/helpers/text_helper.rb#L240 -function wordWrap(str, options) { +function wordWrap(str, options = {}) { if (typeof str !== 'string') throw new TypeError('str must be a string!'); - options = options || {}; - var width = options.width || 80; - var regex = new RegExp('(.{1,' + width + '})(\\s+|$)', 'g'); - var lines = str.split('\n'); - var line = ''; + const width = options.width || 80; + const regex = new RegExp(`(.{1,${width}})(\\s+|$)`, 'g'); + const lines = str.split('\n'); - for (var i = 0, len = lines.length; i < len; i++) { - line = lines[i]; + for (let i = 0, len = lines.length; i < len; i++) { + const line = lines[i]; if (line.length > width) { lines[i] = line.replace(regex, '$1\n').trim(); @@ -22,4 +20,3 @@ function wordWrap(str, options) { } module.exports = wordWrap; - From 8f8758182d3fe65e95ce484f41bf37debb2085ad Mon Sep 17 00:00:00 2001 From: segayuu Date: Thu, 18 Oct 2018 11:27:00 +0900 Subject: [PATCH 2/2] Refactoring test: es2016nify --- test/index.js | 2 +- test/scripts/cache_stream.js | 20 ++--- test/scripts/camel_case_keys.js | 24 +++--- test/scripts/escape_diacritic.js | 10 +-- test/scripts/escape_html.js | 10 +-- test/scripts/escape_regexp.js | 10 +-- test/scripts/hash.js | 20 ++--- test/scripts/highlight.js | 130 +++++++++++++++---------------- test/scripts/html_tag.js | 22 +++--- test/scripts/pattern.js | 32 ++++---- test/scripts/permalink.js | 18 ++--- test/scripts/slugize.js | 26 +++---- test/scripts/spawn.js | 92 ++++++++++------------ test/scripts/truncate.js | 18 ++--- test/scripts/word_wrap.js | 16 ++-- 15 files changed, 220 insertions(+), 230 deletions(-) diff --git a/test/index.js b/test/index.js index 855b61c8..834279c8 100644 --- a/test/index.js +++ b/test/index.js @@ -1,6 +1,6 @@ 'use strict'; -describe('util', function() { +describe('util', () => { require('./scripts/cache_stream'); require('./scripts/camel_case_keys'); require('./scripts/escape_diacritic'); diff --git a/test/scripts/cache_stream.js b/test/scripts/cache_stream.js index 37e7bc9a..6fab3f1b 100644 --- a/test/scripts/cache_stream.js +++ b/test/scripts/cache_stream.js @@ -1,26 +1,26 @@ 'use strict'; -var Readable = require('stream').Readable; +const { Readable } = require('stream'); -describe('CacheStream', function() { - var CacheStream = require('../../lib/cache_stream'); +describe('CacheStream', () => { + const CacheStream = require('../../lib/cache_stream'); - it('default', function() { - var src = new Readable(); - var cacheStream = new CacheStream(); - var content = Buffer.from('test'); + it('default', () => { + const src = new Readable(); + const cacheStream = new CacheStream(); + const content = Buffer.from('test'); src.push(content); src.push(null); src.pipe(cacheStream); - cacheStream.on('finish', function() { + cacheStream.on('finish', () => { cacheStream.getCache().should.eql(content); }); }); - it('destroy', function() { - var cacheStream = new CacheStream(); + it('destroy', () => { + const cacheStream = new CacheStream(); cacheStream._cache = [Buffer.alloc(1)]; cacheStream.destroy(); diff --git a/test/scripts/camel_case_keys.js b/test/scripts/camel_case_keys.js index 94dc2aaf..e8b0ba6a 100644 --- a/test/scripts/camel_case_keys.js +++ b/test/scripts/camel_case_keys.js @@ -1,12 +1,12 @@ 'use strict'; -var should = require('chai').should(); // eslint-disable-line +const should = require('chai').should(); // eslint-disable-line -describe('camelCaseKeys', function() { - var camelCaseKeys = require('../../lib/camel_case_keys'); +describe('camelCaseKeys', () => { + const camelCaseKeys = require('../../lib/camel_case_keys'); - it('default', function() { - var result = camelCaseKeys({ + it('default', () => { + const result = camelCaseKeys({ foo_bar: 'test' }); @@ -16,7 +16,7 @@ describe('camelCaseKeys', function() { }); }); - it('obj must be an object', function() { + it('obj must be an object', () => { try { camelCaseKeys(); } catch (err) { @@ -24,8 +24,8 @@ describe('camelCaseKeys', function() { } }); - it('setter', function() { - var result = camelCaseKeys({ + it('setter', () => { + const result = camelCaseKeys({ foo_bar: 'test' }); @@ -33,8 +33,8 @@ describe('camelCaseKeys', function() { result.fooBar.should.eql('new'); }); - it('ignore prefixing underscore', function() { - var result = camelCaseKeys({ + it('ignore prefixing underscore', () => { + const result = camelCaseKeys({ _foo_bar: 'test', __bar_baz: 'foo' }); @@ -47,8 +47,8 @@ describe('camelCaseKeys', function() { }); }); - it('do nothing if the key is camelCase', function() { - var result = camelCaseKeys({ + it('do nothing if the key is camelCase', () => { + const result = camelCaseKeys({ fooBar: 'test' }); diff --git a/test/scripts/escape_diacritic.js b/test/scripts/escape_diacritic.js index 225ac4d4..60751910 100644 --- a/test/scripts/escape_diacritic.js +++ b/test/scripts/escape_diacritic.js @@ -1,15 +1,15 @@ 'use strict'; -var should = require('chai').should(); // eslint-disable-line +const should = require('chai').should(); // eslint-disable-line -describe('escapeDiacritic', function() { - var escapeDiacritic = require('../../lib/escape_diacritic'); +describe('escapeDiacritic', () => { + const escapeDiacritic = require('../../lib/escape_diacritic'); - it('default', function() { + it('default', () => { escapeDiacritic('Hell\u00F2 w\u00F2rld').should.eql('Hello world'); }); - it('str must be a string', function() { + it('str must be a string', () => { try { escapeDiacritic(); } catch (err) { diff --git a/test/scripts/escape_html.js b/test/scripts/escape_html.js index 68fc6ede..0207fc6f 100644 --- a/test/scripts/escape_html.js +++ b/test/scripts/escape_html.js @@ -1,15 +1,15 @@ 'use strict'; -var should = require('chai').should(); // eslint-disable-line +const should = require('chai').should(); // eslint-disable-line -describe('escapeHTML', function() { - var escapeHTML = require('../../lib/escape_html'); +describe('escapeHTML', () => { + const escapeHTML = require('../../lib/escape_html'); - it('default', function() { + it('default', () => { escapeHTML('

Hello "world".

').should.eql('<p>Hello "world".</p>'); }); - it('str must be a string', function() { + it('str must be a string', () => { try { escapeHTML(); } catch (err) { diff --git a/test/scripts/escape_regexp.js b/test/scripts/escape_regexp.js index f74b6deb..7c3c5116 100644 --- a/test/scripts/escape_regexp.js +++ b/test/scripts/escape_regexp.js @@ -1,15 +1,15 @@ 'use strict'; -var should = require('chai').should(); // eslint-disable-line +const should = require('chai').should(); // eslint-disable-line -describe('escapeRegExp', function() { - var escapeRegExp = require('../../lib/escape_regexp'); +describe('escapeRegExp', () => { + const escapeRegExp = require('../../lib/escape_regexp'); - it('default', function() { + it('default', () => { escapeRegExp('hello*world').should.eql('hello\\*world'); }); - it('str must be a string', function() { + it('str must be a string', () => { try { escapeRegExp(); } catch (err) { diff --git a/test/scripts/hash.js b/test/scripts/hash.js index 360e2f8a..b7b2e868 100644 --- a/test/scripts/hash.js +++ b/test/scripts/hash.js @@ -1,26 +1,26 @@ 'use strict'; -var should = require('chai').should(); // eslint-disable-line -var crypto = require('crypto'); +const should = require('chai').should(); // eslint-disable-line +const crypto = require('crypto'); function sha1(content) { - var hash = crypto.createHash('sha1'); + const hash = crypto.createHash('sha1'); hash.update(content); return hash.digest(); } -describe('hash', function() { - var hash = require('../../lib/hash'); +describe('hash', () => { + const hash = require('../../lib/hash'); - it('hash', function() { - var content = '123456'; + it('hash', () => { + const content = '123456'; hash.hash(content).should.eql(sha1(content)); }); - it('HashStream', function() { - var content = '123456'; - var stream = new hash.HashStream(); + it('HashStream', () => { + const content = '123456'; + const stream = new hash.HashStream(); stream.write(Buffer.from(content)); stream.end(); diff --git a/test/scripts/highlight.js b/test/scripts/highlight.js index 5553b23b..3fb23900 100644 --- a/test/scripts/highlight.js +++ b/test/scripts/highlight.js @@ -1,32 +1,32 @@ 'use strict'; -var should = require('chai').should(); // eslint-disable-line -var hljs = require('highlight.js'); -var Entities = require('html-entities').XmlEntities; -var entities = new Entities(); -var validator = require('html-tag-validator'); +const should = require('chai').should(); // eslint-disable-line +const hljs = require('highlight.js'); +const Entities = require('html-entities').XmlEntities; +const entities = new Entities(); +const validator = require('html-tag-validator'); -var testJson = { +const testJson = { foo: 1, bar: 2 }; -var testString = JSON.stringify(testJson, null, ' '); +const testString = JSON.stringify(testJson, null, ' '); -var start = '
'; -var end = '
'; +const start = '
'; +const end = '
'; -var gutterStart = '
';
-var gutterEnd = '
'; +const gutterStart = '
';
+const gutterEnd = '
'; -var codeStart = '
';
-var codeEnd = '
'; +const codeStart = '
';
+const codeEnd = '
'; function gutter(start, end) { - var result = gutterStart; + let result = gutterStart; - for (var i = start; i <= end; i++) { - result += '' + i + '
'; + for (let i = start; i <= end; i++) { + result += `${i}
`; } result += gutterEnd; @@ -35,7 +35,7 @@ function gutter(start, end) { } function code(str, lang) { - var data; + let data; if (lang) { data = hljs.highlight(lang.toLowerCase(), str); @@ -45,11 +45,11 @@ function code(str, lang) { data = {value: entities.encode(str)}; } - var lines = data.value.split('\n'); - var result = codeStart; + const lines = data.value.split('\n'); + let result = codeStart; - for (var i = 0, len = lines.length; i < len; i++) { - result += '' + lines[i] + '
'; + for (let i = 0, len = lines.length; i < len; i++) { + result += `${lines[i]}
`; } result += codeEnd; @@ -58,9 +58,9 @@ function code(str, lang) { } function assertResult(result) { - var expected = start; + let expected = start; - for (var i = 1, len = arguments.length; i < len; i++) { + for (let i = 1, len = arguments.length; i < len; i++) { expected += arguments[i]; } @@ -70,7 +70,7 @@ function assertResult(result) { } function validateHtmlAsync(str, done) { - validator(str, function(err, ast) { + validator(str, (err, ast) => { if (err) { done(err); } else { @@ -79,16 +79,16 @@ function validateHtmlAsync(str, done) { }); } -describe('highlight', function() { - var highlight = require('../../lib/highlight'); +describe('highlight', () => { + const highlight = require('../../lib/highlight'); - it('default', function(done) { - var result = highlight(testString); + it('default', done => { + const result = highlight(testString); assertResult(result, gutter(1, 4), code(testString)); validateHtmlAsync(result, done); }); - it('str must be a string', function() { + it('str must be a string', () => { try { highlight(); } catch (err) { @@ -96,26 +96,26 @@ describe('highlight', function() { } }); - it('gutter: false', function(done) { - var result = highlight(testString, {gutter: false}); + it('gutter: false', done => { + const result = highlight(testString, {gutter: false}); assertResult(result, code(testString)); validateHtmlAsync(result, done); }); - it('wrap: false', function(done) { - var result = highlight(testString, {wrap: false}); + it('wrap: false', done => { + const result = highlight(testString, {wrap: false}); result.should.eql(entities.encode(testString)); validateHtmlAsync(result, done); }); - it('firstLine', function(done) { - var result = highlight(testString, {firstLine: 3}); + it('firstLine', done => { + const result = highlight(testString, {firstLine: 3}); assertResult(result, gutter(3, 6), code(testString)); validateHtmlAsync(result, done); }); - it('lang = json', function(done) { - var result = highlight(testString, {lang: 'json'}); + it('lang = json', done => { + const result = highlight(testString, {lang: 'json'}); result.should.eql([ '
', @@ -126,8 +126,8 @@ describe('highlight', function() { validateHtmlAsync(result, done); }); - it('auto detect', function(done) { - var result = highlight(testString, {autoDetect: true}); + it('auto detect', done => { + const result = highlight(testString, {autoDetect: true}); result.should.eql([ '
', @@ -138,16 +138,16 @@ describe('highlight', function() { validateHtmlAsync(result, done); }); - it('don\'t highlight if language not found', function(done) { - var result = highlight('test', {lang: 'jrowiejrowi'}); + it('don\'t highlight if language not found', done => { + const result = highlight('test', {lang: 'jrowiejrowi'}); assertResult(result, gutter(1, 1), code('test')); validateHtmlAsync(result, done); }); it('don\'t highlight if parse failed'); - it('caption', function(done) { - var result = highlight(testString, { + it('caption', done => { + const result = highlight(testString, { caption: 'hello world' }); @@ -160,15 +160,15 @@ describe('highlight', function() { validateHtmlAsync(result, done); }); - it('tab', function(done) { - var str = [ + it('tab', done => { + const str = [ 'function fib(i){', '\tif (i <= 1) return i;', '\treturn fib(i - 1) + fib(i - 2);', '}' ].join('\n'); - var result = highlight(str, {tab: ' ', lang: 'js'}); + const result = highlight(str, {tab: ' ', lang: 'js'}); result.should.eql([ '
', @@ -179,8 +179,8 @@ describe('highlight', function() { validateHtmlAsync(result, done); }); - it('escape html entity', function(done) { - var str = [ + it('escape html entity', done => { + const str = [ 'deploy:', ' type: git', ' repo: ', @@ -188,13 +188,13 @@ describe('highlight', function() { ' message: [message]' ].join('\n'); - var result = highlight(str); + const result = highlight(str); result.should.include('<repository url>'); validateHtmlAsync(result, done); }); - it('parse multi-line strings correctly', function(done) { - var str = [ + it('parse multi-line strings correctly', done => { + const str = [ 'var string = `', ' Multi', ' line', @@ -202,7 +202,7 @@ describe('highlight', function() { '`' ].join('\n'); - var result = highlight(str, {lang: 'js'}); + const result = highlight(str, {lang: 'js'}); result.should.eql([ '
', gutter(1, 5), @@ -212,8 +212,8 @@ describe('highlight', function() { validateHtmlAsync(result, done); }); - it('parse multi-line strings including empty line', function(done) { - var str = [ + it('parse multi-line strings including empty line', done => { + const str = [ 'var string = `', ' Multi', '', @@ -221,7 +221,7 @@ describe('highlight', function() { '`' ].join('\n'); - var result = highlight(str, {lang: 'js'}); + const result = highlight(str, {lang: 'js'}); result.should.eql([ '
', gutter(1, 5), @@ -231,8 +231,8 @@ describe('highlight', function() { validateHtmlAsync(result, done); }); - it('auto detect of multi-line statement', function(done) { - var str = [ + it('auto detect of multi-line statement', done => { + const str = [ '"use strict";', 'var string = `', ' Multi', @@ -241,7 +241,7 @@ describe('highlight', function() { '`' ].join('\n'); - var result = highlight(str, {autoDetect: true}); + const result = highlight(str, {autoDetect: true}); result.should.eql([ '
', gutter(1, 6), @@ -251,15 +251,15 @@ describe('highlight', function() { validateHtmlAsync(result, done); }); - it('gives the highlight class to marked lines', function(done) { - var str = [ + it('gives the highlight class to marked lines', done => { + const str = [ 'roses are red', 'violets are blue', 'sugar is sweet', 'and so are you' ].join('\n'); - var result = highlight(str, {mark: [1, 3, 5]}); + const result = highlight(str, {mark: [1, 3, 5]}); result.should.include('class="line marked">roses'); result.should.include('class="line">violets'); @@ -269,14 +269,14 @@ describe('highlight', function() { }); it('hljs compatibility - with lines', (done) => { - var str = [ + const str = [ 'function (a) {', ' if (a > 3)', ' return true;', ' return false;', '}' ].join('\n'); - var result = highlight(str, {hljs: true, lang: 'javascript' }); + const result = highlight(str, {hljs: true, lang: 'javascript' }); result.should.include(gutterStart); result.should.include(codeStart); result.should.include('code class="hljs javascript"'); @@ -286,14 +286,14 @@ describe('highlight', function() { }); it('hljs compatibility - no lines', (done) => { - var str = [ + const str = [ 'function (a) {', ' if (a > 3)', ' return true;', ' return false;', '}' ].join('\n'); - var result = highlight(str, {hljs: true, gutter: false, lang: 'javascript' }); + const result = highlight(str, {hljs: true, gutter: false, lang: 'javascript' }); result.should.not.include(gutterStart); result.should.not.include(codeStart); result.should.include('code class="hljs javascript"'); diff --git a/test/scripts/html_tag.js b/test/scripts/html_tag.js index 4bf9182b..67b2470b 100644 --- a/test/scripts/html_tag.js +++ b/test/scripts/html_tag.js @@ -1,15 +1,15 @@ 'use strict'; -var should = require('chai').should(); // eslint-disable-line +const should = require('chai').should(); // eslint-disable-line -describe('htmlTag', function() { - var htmlTag = require('../../lib/html_tag'); +describe('htmlTag', () => { + const htmlTag = require('../../lib/html_tag'); - it('tag', function() { + it('tag', () => { htmlTag('hr').should.eql('
'); }); - it('tag + attrs', function() { + it('tag + attrs', () => { htmlTag('img', { src: 'http://placekitten.com/200/300' }).should.eql(''); @@ -21,41 +21,41 @@ describe('htmlTag', function() { }).should.eql(''); }); - it('tag + attrs + text', function() { + it('tag + attrs + text', () => { htmlTag('a', { href: 'http://zespia.tw' }, 'My blog').should.eql('My blog'); }); - it('tag + empty ALT attr', function() { + it('tag + empty ALT attr', () => { htmlTag('img', { src: 'http://placekitten.com/200/300', alt: '' }).should.eql(''); }); - it('passing a zero as attribute', function() { + it('passing a zero as attribute', () => { htmlTag('a', { href: 'http://zespia.tw', tabindex: 0 }, 'My blog').should.eql('My blog'); }); - it('passing a null alt attribute', function() { + it('passing a null alt attribute', () => { htmlTag('a', { href: 'http://zespia.tw', alt: null }, 'My blog').should.eql('My blog'); }); - it('passing a undefined alt attribute', function() { + it('passing a undefined alt attribute', () => { htmlTag('a', { href: 'http://zespia.tw', alt: undefined }, 'My blog').should.eql('My blog'); }); - it('tag is required', function() { + it('tag is required', () => { try { htmlTag(); } catch (err) { diff --git a/test/scripts/pattern.js b/test/scripts/pattern.js index c57416f2..a21010d9 100644 --- a/test/scripts/pattern.js +++ b/test/scripts/pattern.js @@ -1,13 +1,13 @@ 'use strict'; -var should = require('chai').should(); // eslint-disable-line +const should = require('chai').should(); // eslint-disable-line -describe('Pattern', function() { - var Pattern = require('../../lib/pattern'); +describe('Pattern', () => { + const Pattern = require('../../lib/pattern'); - it('String - posts/:id', function() { - var pattern = new Pattern('posts/:id'); - var result = pattern.match('/posts/89'); + it('String - posts/:id', () => { + const pattern = new Pattern('posts/:id'); + const result = pattern.match('/posts/89'); result.should.eql({ 0: 'posts/89', @@ -16,9 +16,9 @@ describe('Pattern', function() { }); }); - it('String - posts/*path', function() { - var pattern = new Pattern('posts/*path'); - var result = pattern.match('posts/2013/hello-world'); + it('String - posts/*path', () => { + const pattern = new Pattern('posts/*path'); + const result = pattern.match('posts/2013/hello-world'); result.should.eql({ 0: 'posts/2013/hello-world', @@ -27,8 +27,8 @@ describe('Pattern', function() { }); }); - it('String - posts/:id?', function() { - var pattern = new Pattern('posts/:id?'); + it('String - posts/:id?', () => { + const pattern = new Pattern('posts/:id?'); pattern.match('posts/').should.eql({ 0: 'posts/', @@ -43,15 +43,15 @@ describe('Pattern', function() { }); }); - it('RegExp', function() { - var pattern = new Pattern(/ab?cd/); + it('RegExp', () => { + const pattern = new Pattern(/ab?cd/); pattern.match('abcd').should.be.ok; pattern.match('acd').should.be.ok; }); - it('Function', function() { - var pattern = new Pattern(function(str) { + it('Function', () => { + const pattern = new Pattern(str => { str.should.eql('foo'); return {}; }); @@ -59,7 +59,7 @@ describe('Pattern', function() { pattern.match('foo').should.eql({}); }); - it('rule is required', function() { + it('rule is required', () => { try { // eslint-disable-next-line no-new new Pattern(); diff --git a/test/scripts/permalink.js b/test/scripts/permalink.js index a78717da..dbad6837 100644 --- a/test/scripts/permalink.js +++ b/test/scripts/permalink.js @@ -1,12 +1,12 @@ 'use strict'; -var should = require('chai').should(); // eslint-disable-line +const should = require('chai').should(); // eslint-disable-line -describe('Permalink', function() { - var Permalink = require('../../lib/permalink'); - var permalink; +describe('Permalink', () => { + const Permalink = require('../../lib/permalink'); + let permalink; - it('constructor', function() { + it('constructor', () => { permalink = new Permalink(':year/:month/:day/:title'); permalink.rule.should.eql(':year/:month/:day/:title'); @@ -26,7 +26,7 @@ describe('Permalink', function() { permalink.params.should.eql(['year', 'month', 'day', 'title']); }); - it('rule is required', function() { + it('rule is required', () => { try { // eslint-disable-next-line no-new new Permalink(); @@ -35,12 +35,12 @@ describe('Permalink', function() { } }); - it('test()', function() { + it('test()', () => { permalink.test('2014/01/31/test').should.be.true; permalink.test('foweirojwoier').should.be.false; }); - it('parse()', function() { + it('parse()', () => { permalink.parse('2014/01/31/test').should.eql({ year: '2014', month: '01', @@ -49,7 +49,7 @@ describe('Permalink', function() { }); }); - it('stringify()', function() { + it('stringify()', () => { permalink.stringify({ year: '2014', month: '01', diff --git a/test/scripts/slugize.js b/test/scripts/slugize.js index 324f859a..e4ddde89 100644 --- a/test/scripts/slugize.js +++ b/test/scripts/slugize.js @@ -1,47 +1,47 @@ 'use strict'; -var should = require('chai').should(); // eslint-disable-line +const should = require('chai').should(); // eslint-disable-line -describe('slugize', function() { - var slugize = require('../../lib/slugize'); +describe('slugize', () => { + const slugize = require('../../lib/slugize'); - it('spaces', function() { + it('spaces', () => { slugize('Hello World').should.eql('Hello-World'); }); - it('diacritic', function() { + it('diacritic', () => { slugize('Hell\u00F2 w\u00F2rld').should.eql('Hello-world'); }); - it('continous dashes', function() { + it('continous dashes', () => { slugize('Hello World').should.eql('Hello-World'); }); - it('prefixing and trailing dashes', function() { + it('prefixing and trailing dashes', () => { slugize('~Hello World~').should.eql('Hello-World'); }); - it('other special characters', function() { + it('other special characters', () => { slugize('Hello ~`!@#$%^&*()-_+=[]{}|\\;:"\'<>,.?/World').should.eql('Hello-World'); }); - it('custom separator', function() { + it('custom separator', () => { slugize('Hello World', {separator: '_'}).should.eql('Hello_World'); }); - it('lower case', function() { + it('lower case', () => { slugize('Hello World', {transform: 1}).should.eql('hello-world'); }); - it('upper case', function() { + it('upper case', () => { slugize('Hello World', {transform: 2}).should.eql('HELLO-WORLD'); }); - it('non-english', function() { + it('non-english', () => { slugize('遊戲').should.eql('遊戲'); }); - it('str must be a string', function() { + it('str must be a string', () => { try { slugize(); } catch (err) { diff --git a/test/scripts/spawn.js b/test/scripts/spawn.js index 4e8cb13e..23fe3c64 100644 --- a/test/scripts/spawn.js +++ b/test/scripts/spawn.js @@ -1,31 +1,29 @@ 'use strict'; -var should = require('chai').should(); // eslint-disable-line -var pathFn = require('path'); -var fs = require('fs'); -var rewire = require('rewire'); - -describe('spawn', function() { - var spawn = require('../../lib/spawn'); - var CacheStream = require('../../lib/cache_stream'); - var fixturePath = pathFn.join(__dirname, 'spawn_test.txt'); - var fixture = 'test content'; - - before(function(done) { +const should = require('chai').should(); // eslint-disable-line +const pathFn = require('path'); +const fs = require('fs'); +const rewire = require('rewire'); + +describe('spawn', () => { + const spawn = require('../../lib/spawn'); + const CacheStream = require('../../lib/cache_stream'); + const fixturePath = pathFn.join(__dirname, 'spawn_test.txt'); + const fixture = 'test content'; + + before(done => { fs.writeFile(fixturePath, fixture, done); }); - after(function(done) { + after(done => { fs.unlink(fixturePath, done); }); - it('default', function() { - return spawn('cat', [fixturePath]).then(function(content) { - content.should.eql(fixture); - }); - }); + it('default', () => spawn('cat', [fixturePath]).then(content => { + content.should.eql(fixture); + })); - it('command is required', function() { + it('command is required', () => { try { spawn(); } catch (err) { @@ -33,18 +31,16 @@ describe('spawn', function() { } }); - it('error', function() { - return spawn('cat', ['nothing']).catch(function(err) { - err.message.trim().should.eql('cat: nothing: No such file or directory'); - err.code.should.eql(1); - }); - }); + it('error', () => spawn('cat', ['nothing']).catch(err => { + err.message.trim().should.eql('cat: nothing: No such file or directory'); + err.code.should.eql(1); + })); - it('verbose - stdout', function() { - var spawn = rewire('../../lib/spawn'); - var stdoutCache = new CacheStream(); - var stderrCache = new CacheStream(); - var content = 'something'; + it('verbose - stdout', () => { + const spawn = rewire('../../lib/spawn'); + const stdoutCache = new CacheStream(); + const stderrCache = new CacheStream(); + const content = 'something'; spawn.__set__('process', { stdout: stdoutCache, @@ -53,15 +49,15 @@ describe('spawn', function() { return spawn('echo', [content], { verbose: true - }).then(function() { + }).then(() => { stdoutCache.getCache().toString('utf8').trim().should.eql(content); }); }); - it('verbose - stderr', function() { - var spawn = rewire('../../lib/spawn'); - var stdoutCache = new CacheStream(); - var stderrCache = new CacheStream(); + it('verbose - stderr', () => { + const spawn = rewire('../../lib/spawn'); + const stdoutCache = new CacheStream(); + const stderrCache = new CacheStream(); spawn.__set__('process', { stdout: stdoutCache, @@ -70,27 +66,21 @@ describe('spawn', function() { return spawn('cat', ['nothing'], { verbose: true - }).catch(function() { + }).catch(() => { stderrCache.getCache().toString('utf8').trim().should .eql('cat: nothing: No such file or directory'); }); }); - it('custom encoding', function() { - return spawn('cat', [fixturePath], {encoding: 'hex'}).then(function(content) { - content.should.eql(Buffer.from(fixture).toString('hex')); - }); - }); + it('custom encoding', () => spawn('cat', [fixturePath], {encoding: 'hex'}).then(content => { + content.should.eql(Buffer.from(fixture).toString('hex')); + })); - it('encoding = null', function() { - return spawn('cat', [fixturePath], {encoding: null}).then(function(content) { - content.should.eql(Buffer.from(fixture)); - }); - }); + it('encoding = null', () => spawn('cat', [fixturePath], {encoding: null}).then(content => { + content.should.eql(Buffer.from(fixture)); + })); - it('stdio = inherit', function() { - return spawn('echo', ['something'], { - stdio: 'inherit' - }); - }); + it('stdio = inherit', () => spawn('echo', ['something'], { + stdio: 'inherit' + })); }); diff --git a/test/scripts/truncate.js b/test/scripts/truncate.js index cc29b062..a5f633fe 100644 --- a/test/scripts/truncate.js +++ b/test/scripts/truncate.js @@ -1,36 +1,36 @@ 'use strict'; -var should = require('chai').should(); // eslint-disable-line +const should = require('chai').should(); // eslint-disable-line -describe('truncate', function() { - var truncate = require('../../lib/truncate'); +describe('truncate', () => { + const truncate = require('../../lib/truncate'); - it('default', function() { + it('default', () => { truncate('Once upon a time in a world far far away') .should.eql('Once upon a time in a world...'); }); - it('shorter string', function() { + it('shorter string', () => { truncate('Once upon') .should.eql('Once upon'); }); - it('truncate', function() { + it('truncate', () => { truncate('Once upon a time in a world far far away', {length: 17}) .should.eql('Once upon a ti...'); }); - it('separator', function() { + it('separator', () => { truncate('Once upon a time in a world far far away', {length: 17, separator: ' '}) .should.eql('Once upon a...'); }); - it('omission', function() { + it('omission', () => { truncate('And they found that many people were sleeping better.', {length: 25, omission: '... (continued)'}) .should.eql('And they f... (continued)'); }); - it('str must be a string', function() { + it('str must be a string', () => { try { truncate(); } catch (err) { diff --git a/test/scripts/word_wrap.js b/test/scripts/word_wrap.js index ec89aed3..96a52d89 100644 --- a/test/scripts/word_wrap.js +++ b/test/scripts/word_wrap.js @@ -1,28 +1,28 @@ 'use strict'; -var should = require('chai').should(); // eslint-disable-line +const should = require('chai').should(); // eslint-disable-line -describe('wordWrap', function() { - var wordWrap = require('../../lib/word_wrap'); +describe('wordWrap', () => { + const wordWrap = require('../../lib/word_wrap'); - it('default', function() { + it('default', () => { wordWrap('Once upon a time').should.eql('Once upon a time'); }); - it('default width', function() { + it('default width', () => { wordWrap('Once upon a time, in a kingdom called Far Far Away, a king fell ill, and finding a successor to the throne turned out to be more trouble than anyone could have imagined...') .should.eql('Once upon a time, in a kingdom called Far Far Away, a king fell ill, and finding\na successor to the throne turned out to be more trouble than anyone could have\nimagined...'); }); - it('width = 8', function() { + it('width = 8', () => { wordWrap('Once upon a time', {width: 8}).should.eql('Once\nupon a\ntime'); }); - it('width = 1', function() { + it('width = 1', () => { wordWrap('Once upon a time', {width: 1}).should.eql('Once\nupon\na\ntime'); }); - it('str must be a string', function() { + it('str must be a string', () => { try { wordWrap(); } catch (err) {