diff options
Diffstat (limited to 'addon-sdk/source/bin/node-scripts/test.docs.js')
-rw-r--r-- | addon-sdk/source/bin/node-scripts/test.docs.js | 145 |
1 files changed, 0 insertions, 145 deletions
diff --git a/addon-sdk/source/bin/node-scripts/test.docs.js b/addon-sdk/source/bin/node-scripts/test.docs.js deleted file mode 100644 index e6aef516d..000000000 --- a/addon-sdk/source/bin/node-scripts/test.docs.js +++ /dev/null @@ -1,145 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -"use strict"; - -var createHash = require('crypto').createHash; -var fs = require("fs"); -var fsExtra = require("fs-extra") -var path = require("path"); -var Promise = require("promise"); -var chai = require("chai"); -var expect = chai.expect; -var teacher = require("teacher"); - -var rootURI = path.join(__dirname, "..", ".."); - -// get a list of words that fail spell check but are still acceptable -var NEW_WORDS = fs.readFileSync(path.join(__dirname, "words.txt")).toString().trim().split("\n"); - -var CACHE_PATH = path.join(__dirname, "..", "..", "cache", "spellchecks.json"); - -var CACHE = {}; - -try { - CACHE = JSON.parse(fs.readFileSync(CACHE_PATH).toString()); -} -catch (e) {} - -function md5(str) { - return createHash("md5").update(str).digest("utf8"); -} - -function addCacheHash(hash) { - CACHE[hash] = true; - fsExtra.ensureFileSync(CACHE_PATH); - fsExtra.writeJSONSync(CACHE_PATH, CACHE); -} - -describe("Spell Checking", function () { - it("Spellcheck CONTRIBUTING.md", function (done) { - var readme = path.join(rootURI, "CONTRIBUTING.md"); - - fs.readFile(readme, function (err, data) { - if (err) { - throw err; - } - var text = data.toString(); - var hash = md5(text); - - // skip this test if we know we have done the - // exact same test with positive results before - if (CACHE[hash]) { - expect(CACHE[hash]).to.be.equal(true); - return done(); - } - - teacher.check(text, function(err, data) { - expect(err).to.be.equal(null); - - var results = data || []; - results = results.filter(function(result) { - if (NEW_WORDS.indexOf(result.string.toLowerCase()) != -1) { - return false; - } - - // ignore anything that starts with a dash - if (result.string[0] == "-") { - return false; - } - - if (!(new RegExp(result.string)).test(text)) { - return false; - } - - return true; - }) - - if (results.length > 0) { - console.log(results); - } - else { - addCacheHash(hash); - } - - expect(results.length).to.be.equal(0); - - setTimeout(done, 500); - }); - }); - }); - - it("Spellcheck README.md", function (done) { - var readme = path.join(rootURI, "README.md"); - - fs.readFile(readme, function (err, data) { - if (err) { - throw err; - } - var text = data.toString(); - var hash = md5(text); - - // skip this test if we know we have done the - // exact same test with positive results before - if (CACHE[hash]) { - expect(CACHE[hash]).to.be.equal(true); - return done(); - } - - teacher.check(text, function(err, data) { - expect(err).to.be.equal(null); - - var results = data || []; - results = results.filter(function(result) { - if (NEW_WORDS.indexOf(result.string.toLowerCase()) != -1) { - return false; - } - - // ignore anything that starts with a dash - if (result.string[0] == "-") { - return false; - } - - // ignore anything that we don't find in the original text, - // for some reason "bootstrap.js" becomes "bootstrapjs". - if (!(new RegExp(result.string)).test(text)) { - return false; - } - - return true; - }) - - if (results.length > 0) { - console.log(results); - } - else { - addCacheHash(hash); - } - - expect(results.length).to.be.equal(0); - - done(); - }); - }); - }); -}); |