Skip to content
Snippets Groups Projects
Commit 05146862 authored by Millicent Billette's avatar Millicent Billette
Browse files

ADD: real in browser test to ensure compatibility

FIX: import artefact generating error in browser
FIX: finish dictionary-tree skipped test
FIX: timeout start in multi-node-layer.test to have more deterministic test result
parent d6a30c5f
No related branches found
No related tags found
No related merge requests found
Pipeline #17375 passed with warnings
......@@ -8,7 +8,7 @@ minFold('generated/npm/nodejs/');
async function minFold(folder) {
readdirSync(folder).forEach(async fileName => {
if (!fileName.includes('.mjs')) return;
const orgContent = readFileSync(folder + fileName, 'utf8');
const orgContent = readFileSync(folder + fileName, 'utf8').replace(/import '[^ ']+';/g,'');
const minified = await minify(orgContent, {
toplevel: true,
ecma: 2020,
......
......@@ -19,3 +19,11 @@ try {
console.error(error);
}
try {
fs.writeFileSync('generated/vendors/@noble-ed25519.mjs',
(fs.readFileSync('node_modules/@noble/ed25519/lib/esm/index.js', 'utf8'))
.replace(`import * as nodeCrypto from 'crypto';`,`let nodeCrypto;\nif(typeof require !== 'undefined') nodeCrypto = require('crypto');`)
, 'utf8');
} catch (error) {
console.error(error);
}
Source diff could not be displayed: it is too large. Options to address this: view the blob.
......@@ -29,6 +29,11 @@
"test:production:npm:nodejs:test": "cd generated/npm/nodejs/ && ava **.test.mjs",
"test:production:npm:nodejs:test-e2e": "cd generated/npm/nodejs/ && ava **.test-e2e.mjs",
"test:production:npm:nodejs:clean": "rm -rf generated/npm/nodejs/*.test*.mjs",
"test:browser": "run-s test:browser:**",
"test:browser:cp": "cp generated/tmpBrowser/*.test*.mjs generated/npm/browser/",
"test:browser:test": "cd generated/npm/browser/ && browser-ava **.test.mjs --chromium --firefox",
"test:browser:test-e2e": "cd generated/npm/browser/ && browser-ava **.test-e2e.mjs --chromium --firefox",
"test:browser:clean": "rm -rf generated/npm/browser/*.test*.mjs",
"watch": "chokidar src/* -c \"npm run test:dev:runTests\"",
"watch2null": "chokidar src/* -c \"npm run test:dev:runTests 2>/dev/null\""
},
......@@ -46,6 +51,7 @@
"@jscpd/badge-reporter": "^3.4.5",
"ava": "^4.3.3",
"badgen": "^3.2.2",
"browser-ava": "https://github.com/1000i100/browser-ava#main",
"c8": "^7.12.0",
"chokidar-cli": "^3.0.0",
"es6-plato": "https://github.com/1000i100/es6-plato#master",
......
......@@ -183,5 +183,5 @@ export function _getAlternative(refAltIndex, tree) {
else refAltIndex.index -= altTree.indexCost;
}
}
throw new Error(`index out of bound : ${refAltIndex.index + altCount(tree)}/${altCount(tree)} in ${serialize(tree)}`);
throw new Error(`index out of bound : ${refAltIndex.index + altCount(tree)} asked, 0-${altCount(tree)-1} available in ${serialize(tree)}`);
}
......@@ -24,6 +24,22 @@ test('multi level tree altCount', t => t.is(app.altCount(app.buildTreeStruct('a(
const exampleTree = () => app.buildTreeStruct('a(b(c|d)|e(f|g(h|i)|j)kl(m|n(o|p)|q(r|s)|t)|(u|v)w)');
// console.log(JSON.stringify(exampleTree()));
// console.log(app.serialize(exampleTree()));
/* exampleTree detailed
a( 0-27
b(c|d) 0 & 1
|e( 2-25
f 2-7
|g(h|i) 8-13 &14-19
|j 20-25
)kl( 2-25
m 2 & 8 & 14 & 20
|n(o|p) 3-4 & 9-10 & 15-16 & 21-22
|q(r|s) 5-6 & 11-12 & 17-18 & 23-24
|t 7 & 13 & 19 & 25
)
|(u|v)w 26-27
)
*/
test('getAlternative 0', t => t.is(app.getAlternative(0, exampleTree()), 'abc'));
test('getAlternative 1', t => t.is(app.getAlternative(1, exampleTree()), 'abd'));
test('getAlternative 2', t => t.is(app.getAlternative(2, exampleTree()), 'aefklm'));
......@@ -36,5 +52,6 @@ test('getAlternative 8', t => t.is(app.getAlternative(8, exampleTree()), 'aeghkl
test('getAlternative 9', t => t.is(app.getAlternative(9, exampleTree()), 'aeghklno'));
test('getAlternative 14', t => t.is(app.getAlternative(14, exampleTree()), 'aegiklm'));
test('getAlternative 20', t => t.is(app.getAlternative(20, exampleTree()), 'aejklm'));
test.skip('getAlternative 26', t => t.is(app.getAlternative(26, exampleTree()), 'aqr'));
test('getAlternative 999 throw', t => t.throws(() => app.getAlternative(999, exampleTree())));
test('getAlternative 26', t => t.is(app.getAlternative(26, exampleTree()), 'auw'));
test('getAlternative 27', t => t.is(app.getAlternative(27, exampleTree()), 'avw'));
test('getAlternative 28 or more throw', t => t.throws(() => app.getAlternative(28, exampleTree())));
......@@ -6,6 +6,7 @@ function sleep(ms){
}
test('pingTracker give time elapsed', async t => {
await sleep(1); // in some test environnement this fix latency bug.
const mockedFunc = async (first,second)=>{await sleep(second);return first};
const firstParameter = 'finalResult';
const secondParameter = 11;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment