1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- /* eslint-env node */
- /* eslint global-require: 0, func-names: 0, no-shadow: 0 */
- "use strict";
- const t = require("tap");
- let H9Y = null;
- t.beforeEach(function setup(done) {
- H9Y = require("../hyphenopoly.module");
- done();
- });
- t.afterEach(function tearDown(done) {
- H9Y = null;
- delete require.cache[require.resolve("../hyphenopoly.module")];
- done();
- });
- t.test("path to maindir not resolvable", async function (t) {
- await H9Y.config({
- "paths": {
- "maindir": "fail/",
- "patterndir": "./patterns/"
- },
- "require": ["de"]
- }).catch(
- function (e) {
- t.equal(e, "fail/hyphenEngine.wasm not found.");
- t.end();
- }
- );
- });
- t.test("path to patternfile not resolvable", async function (t) {
- await H9Y.config({
- "paths": {
- "maindir": "./",
- "patterndir": "./patterns/"
- },
- "require": ["en"]
- }).catch(
- function (e) {
- t.equal(e, "./patterns/en.hpb not found.");
- t.end();
- }
- );
- });
- t.test("run config with two languages", async function (t) {
- const hyphenators = await H9Y.config({"require": ["de", "en"]});
- t.test("get the hyphenator function for a language", async function (t) {
- await hyphenators.get("en").catch(
- function (e) {
- t.equal(e.slice(-27), "/patterns/en.hpb not found.");
- }
- );
- t.end();
- });
- });
- t.test("incomplete setup (forget require)", async function (t) {
- const laHyphenator = await H9Y.config({});
- t.test("get empty map", function (t) {
- t.equal(laHyphenator.size, 0);
- t.end();
- });
- t.end();
- });
- t.test("make hyphenEngine fail", async function (t) {
- const laHyphenator = await H9Y.config({"require": ["la"]});
- t.test("hyphenate one word", function (t) {
- t.equal(laHyphenator("Helvetii"), "Helvetii");
- t.end();
- });
- t.end();
- });
- t.test("fail when word is to long", async function (t) {
- const nlHyphenator = await H9Y.config({"require": ["nl"]});
- t.test("hyphenate one word", function (t) {
- t.equal(nlHyphenator("Kindercarnavalsoptochtvoorbereidingswerkzaamhedenplankindercarnavals"), "Kindercarnavalsoptochtvoorbereidingswerkzaamhedenplankindercarnavals");
- t.end();
- });
- t.end();
- });
|