chore(web): converts engine/package-cache page-integration tests

This commit is contained in:
Joshua A. Horton 2024-05-02 15:09:33 +07:00
parent 84d89760e0
commit f5ac2eae53
6 changed files with 41 additions and 25 deletions

View file

@ -1,9 +1,9 @@
import { assert } from '/node_modules/chai/chai.js';
import sinon from '/node_modules/sinon/pkg/sinon-esm.js';
import { assert } from 'chai';
import sinon from 'sinon';
import { CloudQueryEngine } from '/@keymanapp/keyman/build/engine/package-cache/lib/index.mjs';
import { PathConfiguration } from '/@keymanapp/keyman/build/engine/paths/lib/index.mjs';
import DOMCloudRequester from '/@keymanapp/keyman/build/engine/package-cache/lib/dom-cloud-requester.mjs';
import { CloudQueryEngine } from 'keyman/engine/package-cache';
import { PathConfiguration } from 'keyman/engine/paths';
import DOMCloudRequester from 'keyman/engine/package-cache/dom-requester';
const pathConfig = new PathConfiguration({
root: '',
@ -114,7 +114,7 @@ describe("Cloud-query interface", () => {
}
it('sil_euro_latin@no,sv', async () => {
const querier = mockQuery(`base/web/src/test/auto/resources/query-mock-results/sil_euro_latin@no_sv.js.fixture`);
const querier = mockQuery(`resources/query-mock-results/sil_euro_latin@no_sv.js.fixture`);
const promise = querier.fetchCloudStubs(['sil_euro_latin@no','sil_euro_latin@sv']);
const stubs = await promise;
@ -131,7 +131,7 @@ describe("Cloud-query interface", () => {
});
it('sil_cameroon_azerty', async () => {
const querier = mockQuery(`base/web/src/test/auto/resources/query-mock-results/sil_cameroon_azerty.js.fixture`);
const querier = mockQuery('resources/query-mock-results/sil_cameroon_azerty.js.fixture');
const promise = querier.fetchCloudStubs(['sil_cameroon_azerty']);
const stubs = await promise;
@ -147,7 +147,7 @@ describe("Cloud-query interface", () => {
});
it('@dz', async () => {
const querier = mockQuery(`base/web/src/test/auto/resources/query-mock-results/@dz.js.fixture`);
const querier = mockQuery(`resources/query-mock-results/@dz.js.fixture`);
const promise = querier.fetchCloudStubs(['@dz']);
const stubs = await promise;

View file

@ -1,7 +1,7 @@
import { assert } from '/node_modules/chai/chai.js';
import sinon from '/node_modules/sinon/pkg/sinon-esm.js';
import { assert } from 'chai';
import sinon from 'sinon';
import DOMCloudRequester from '/@keymanapp/keyman/build/engine/package-cache/lib/dom-cloud-requester.mjs';
import DOMCloudRequester from 'keyman/engine/package-cache/dom-requester';
describe("Mocked cloud query results ('canary' testing)", () => {
function performMockedRequest(mockedResultsPath) {
@ -33,7 +33,7 @@ describe("Mocked cloud query results ('canary' testing)", () => {
}
it('sil_euro_latin@no,sv', async () => {
const query = performMockedRequest('base/web/src/test/auto/resources/query-mock-results/sil_euro_latin@no_sv.js.fixture');
const query = performMockedRequest('resources/query-mock-results/sil_euro_latin@no_sv.js.fixture');
await query.promise;
assert.isTrue(query.mockedRegister.called);
@ -53,7 +53,7 @@ describe("Mocked cloud query results ('canary' testing)", () => {
});
it('sil_cameroon_azerty', async () => {
const query = performMockedRequest('base/web/src/test/auto/resources/query-mock-results/sil_cameroon_azerty.js.fixture');
const query = performMockedRequest('resources/query-mock-results/sil_cameroon_azerty.js.fixture');
await query.promise;
assert.isTrue(query.mockedRegister.called);
@ -70,7 +70,7 @@ describe("Mocked cloud query results ('canary' testing)", () => {
});
it('@dz', async () => {
const query = performMockedRequest('base/web/src/test/auto/resources/query-mock-results/@dz.js.fixture');
const query = performMockedRequest('resources/query-mock-results/@dz.js.fixture');
await query.promise;
assert.isTrue(query.mockedRegister.called);

View file

@ -1,11 +1,11 @@
import { assert } from '/node_modules/chai/chai.js';
import sinon from '/node_modules/sinon/pkg/sinon-esm.js';
import { assert } from 'chai';
import sinon from 'sinon';
import { KeyboardHarness, MinimalKeymanGlobal } from '/@keymanapp/keyboard-processor/build/lib/index.mjs';
import { DOMKeyboardLoader } from '/@keymanapp/keyboard-processor/build/lib/dom-keyboard-loader.mjs';
import { PathConfiguration } from '/@keymanapp/keyman/build/engine/paths/lib/index.mjs';
import { KeyboardRequisitioner } from '/@keymanapp/keyman/build/engine/package-cache/lib/index.mjs';
import DOMCloudRequester from '/@keymanapp/keyman/build/engine/package-cache/lib/dom-cloud-requester.mjs';
import { KeyboardHarness, MinimalKeymanGlobal } from '@keymanapp/keyboard-processor';
import { DOMKeyboardLoader } from '@keymanapp/keyboard-processor/dom-keyboard-loader';
import { PathConfiguration } from 'keyman/engine/paths';
import { KeyboardRequisitioner } from 'keyman/engine/package-cache';
import DOMCloudRequester from 'keyman/engine/package-cache/dom-requester';
const pathConfig = new PathConfiguration({
root: '',
@ -69,7 +69,7 @@ describe("KeyboardRequisitioner", function () {
//
// The edits are minimal and notated within the fixture file.
// Path becomes /resources/keyboards/khmer_angkor.js.
mockQuery(keyboardRequisitioner.cloudQueryEngine, `base/web/src/test/auto/resources/query-mock-results/khmer_angkor.hand-edited.js.fixture`);
mockQuery(keyboardRequisitioner.cloudQueryEngine, `resources/query-mock-results/khmer_angkor.hand-edited.js.fixture`);
const [stub] = await keyboardRequisitioner.addKeyboardArray(['khmer_angkor']);
assert.strictEqual(cache.getStub(stub.KI, stub.KLC), stub);
@ -87,8 +87,9 @@ describe("KeyboardRequisitioner", function () {
const cache = keyboardRequisitioner.cache;
// Expects the keyboard at resources/keyboards/khmer_angkor.js; this would resolve to
// http://localhost:9876/resources/keyboards/khmer_angkor.js aased on our configured path.
const stubJSON = fixture.load("/keyboards/khmer_angkor.json", true);
// http://localhost:9876/resources/keyboards/khmer_angkor.js based on our configured path.
const fixture = await fetch('resources/stubs/khmer_angkor.json');
const stubJSON = await fixture.json();
// But we can't be sure that `localhost:9876` is the actual path it will have on EVERYONE's machine. Let's fix it.
// We'll make it match the path for the previous test by ensuring a '/' for absolute pathing based on server root.

View file

@ -46,6 +46,11 @@ export default {
name: 'engine/element-wrappers',
// Relative, from the containing package.json
files: ['src/test/auto/dom/cases/element-wrappers/**/*.spec.mjs']
},
{
name: 'engine/package-cache',
// Relative, from the containing package.json
files: ['src/test/auto/dom/cases/packages/**/*.spec.mjs']
}
],
middleware: [

View file

@ -6,7 +6,7 @@ keyman.register(
"device":"any",
// Change 1: redirect to /common/test/resources' subfolder.
// "keyboardBaseUri":"https://s.keyman.com/keyboard/",
"keyboardBaseUri":"/resources/keyboards/",
"keyboardBaseUri":"common/test/resources/keyboards/",
"fontBaseUri":"https://s.keyman.com/font/deploy/",
"keyboardid":"khmer_angkor",
"keyboardVersion":"current"

View file

@ -0,0 +1,10 @@
{
"id": "khmer_angkor",
"name":"Khmer Angkor",
"languages":{
"id":"km",
"name": "Khmer",
"region": "Asia"
},
"filename":"common/test/resources/keyboards/khmer_angkor.js"
}