Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Dockerfile_guitest
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM node:18.12-slim
FROM node:20.9-slim

RUN apt-get update \
&& apt-get install -y \
Expand All @@ -23,6 +23,6 @@ ADD package.json /app
ADD yarn.lock /app
WORKDIR /app

RUN yarn && yarn cache clean
RUN yarn && yarn playwright install chromium && yarn cache clean

ENTRYPOINT ["yarn", "test:gui"]
4 changes: 2 additions & 2 deletions js/renderer/rl/gomoku.js
Original file line number Diff line number Diff line change
Expand Up @@ -128,8 +128,8 @@ class Gomoku extends Game {
winner === GomokuRLEnvironment.BLACK
? 'BLACK WIN'
: winner === GomokuRLEnvironment.WHITE
? 'WHITE WIN'
: 'DRAW'
? 'WHITE WIN'
: 'DRAW'
}
}

Expand Down
4 changes: 2 additions & 2 deletions js/view/autoencoder.js
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,8 @@ var dispAE = function (elm, platform) {
mode === 'AD'
? dispAEad(elm, model, platform)
: mode === 'CT'
? dispAEClt(elm, model, platform)
: dispAEdr(elm, model, platform)
? dispAEClt(elm, model, platform)
: dispAEdr(elm, model, platform)

let rdim = null
if (mode !== 'DR') {
Expand Down
4 changes: 2 additions & 2 deletions lib/model/nns/layer/isigmoid.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ export default class ImprovedSigmoidLayer extends Layer {
-this._a < v && v < this._a
? 1 / (1 + Math.exp(-v))
: v >= this._a
? sigmap + this._alpha * (v - this._a)
: sigmam + this._alpha * (v + this._a)
? sigmap + this._alpha * (v - this._a)
: sigmam + this._alpha * (v + this._a)
)
return this._o
}
Expand Down
26 changes: 13 additions & 13 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"lint": "eslint ./lib ./tests",
"check-types": "npm run create-entry && tsc ./lib/**.js ./lib/**/*.js --allowJs --checkJs --target esnext --noEmit --skipLibCheck",
"test:lib": "npm run create-entry && NODE_OPTIONS=--experimental-vm-modules npx jest --testMatch '**/lib/**/?(*.)+(spec|test).[jt]s?(x)' --coverage --coveragePathIgnorePatterns '/node_modules/' 'onnx/onnx_pb.js' --reporters default ./tests/retry-test.js ./tests/slow-test.js --maxWorkers=100% --workerIdleMemoryLimit=100MB",
"test:gui": "NODE_OPTIONS=--experimental-vm-modules npx jest --testMatch '**/gui/**/?(*.)+(spec|test).[jt]s?(x)' --coveragePathIgnorePatterns '/node_modules/' 'onnx/onnx_pb.js' --reporters default ./tests/retry-test.js ./tests/slow-test.js ./tests/gui-coverage-reporter.js --maxWorkers=100% --workerIdleMemoryLimit=100MB",
"test:gui": "NODE_OPTIONS=--experimental-vm-modules npx jest --testMatch '**/gui/**/?(*.)+(spec|test).[jt]s?(x)' --coveragePathIgnorePatterns '/node_modules/' 'onnx/onnx_pb.js' --reporters default ./tests/retry-test.js ./tests/slow-test.js ./tests/gui-coverage-reporter.js --testTimeout=20000 --maxWorkers=100% --workerIdleMemoryLimit=100MB",
"types": "npm run create-entry && find lib -name \\*.d.ts -delete && tsc ./lib/**.js ./lib/**/*.js --declaration --allowJs --emitDeclarationOnly",
"document": "npm run create-entry && documentation build lib/index.js -f html --github -o docs && html-minifier --collapse-whitespace --minify-css true --minify-js true -o ./docs/index.html ./docs/index.html",
"minify": "find . -name \\*.js | grep -E '^./(lib|js)' | xargs -t -P2 -n1 -I% npx terser % -c -m -o % && html-minifier --collapse-whitespace --minify-css true --minify-js true -o ./index.html ./index.html",
Expand Down Expand Up @@ -55,18 +55,18 @@
},
"homepage": "https://ai-on-browser.github.io/docs",
"devDependencies": {
"documentation": "^14.0.0",
"eslint": "^8.29.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-jest": "^27.1.6",
"eslint-plugin-jsdoc": "^39.6.4",
"documentation": "^14.0.2",
"eslint": "^8.54.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-jest": "^27.6.0",
"eslint-plugin-jsdoc": "^46.9.0",
"html-minifier": "^4.0.0",
"istanbul-reports": "^3.1.5",
"jest": "^29.3.1",
"playwright": "^1.32.1",
"prettier": "^2.8.1",
"terser": "^5.16.1",
"typescript": "^4.9.4",
"v8-to-istanbul": "^9.1.0"
"istanbul-reports": "^3.1.6",
"jest": "^29.7.0",
"playwright": "^1.40.0",
"prettier": "^3.1.0",
"terser": "^5.24.0",
"typescript": "^5.3.2",
"v8-to-istanbul": "^9.2.0"
}
}
4 changes: 2 additions & 2 deletions tests/gui/data/air.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ describe('classification', () => {
let page
beforeEach(async () => {
page = await getPage()
}, 10000)
})

afterEach(async () => {
await page?.close()
Expand All @@ -23,5 +23,5 @@ describe('classification', () => {
const aiManager = await page.evaluate(getaimanager)
expect(aiManager._datas).toBeDefined()
expect(aiManager._datas.length).toBe(144)
}, 10000)
})
})
4 changes: 2 additions & 2 deletions tests/gui/data/functional.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ describe('classification', () => {
let page
beforeEach(async () => {
page = await getPage()
}, 10000)
})

afterEach(async () => {
await page?.close()
Expand All @@ -28,5 +28,5 @@ describe('classification', () => {
const aiManager = await page.evaluate(getaimanager)
expect(aiManager._datas).toBeDefined()
expect(aiManager._datas._x.length).toBe(100)
}, 10000)
})
})
4 changes: 2 additions & 2 deletions tests/gui/data/iris.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ describe('classification', () => {
let page
beforeEach(async () => {
page = await getPage()
}, 10000)
})

afterEach(async () => {
await page?.close()
Expand All @@ -28,5 +28,5 @@ describe('classification', () => {
const aiManager = await page.evaluate(getaimanager)
expect(aiManager._datas).toBeDefined()
expect(aiManager._datas._x.length).toBe(150)
}, 10000)
})
})
4 changes: 2 additions & 2 deletions tests/gui/data/statlib.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ describe('classification', () => {
let page
beforeEach(async () => {
page = await getPage()
}, 10000)
})

afterEach(async () => {
await page?.close()
Expand All @@ -28,5 +28,5 @@ describe('classification', () => {
const aiManager = await page.evaluate(getaimanager)
expect(aiManager._datas).toBeDefined()
expect(aiManager._datas._x.length).toBe(506)
}, 10000)
})
})
4 changes: 2 additions & 2 deletions tests/gui/data/upload.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ describe('classification', () => {
const data = dataURL.replace(/^data:image\/\w+;base64,/, '')
const buf = Buffer.from(data, 'base64')
await fs.promises.writeFile('image_upload.png', buf)
}, 10000)
})

afterEach(async () => {
await fs.promises.unlink('image_upload.png')
Expand All @@ -46,5 +46,5 @@ describe('classification', () => {
const svg = await page.waitForSelector('#plot-area svg')
await svg.waitForSelector('.points .datas circle')
expect((await svg.$$('.points .datas circle')).length).toBe(1)
}, 10000)
})
})
2 changes: 1 addition & 1 deletion tests/gui/helper/browser.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ export const getBrowser = async () => {
return browser
}

export const getPage = async (queries) => {
export const getPage = async queries => {
const browser = await getBrowser()
const page = await browser.newPage()
await recordCoverage(page)
Expand Down
2 changes: 1 addition & 1 deletion tests/gui/index.html.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,5 +43,5 @@ describe('index', () => {
expect(aiManager).toBeDefined()
expect(aiManager._datas).toBeDefined()
expect(aiManager._datas.length).toBe(300)
}, 10000)
})
})
6 changes: 3 additions & 3 deletions tests/gui/view/abod.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ describe('anomaly detection', () => {
let page
beforeEach(async () => {
page = await getPage()
}, 10000)
})

afterEach(async () => {
await page?.close()
Expand All @@ -27,7 +27,7 @@ describe('anomaly detection', () => {
await expect((await threshold.getProperty('value')).jsonValue()).resolves.toBe('100')
const count = await buttons.waitForSelector('input:nth-of-type(3)')
await expect((await count.getProperty('value')).jsonValue()).resolves.toBe('5')
}, 10000)
})

test('learn', async () => {
const dataSelectBox = await page.waitForSelector('#ml_selector dl:first-child dd:nth-child(2) select')
Expand All @@ -46,5 +46,5 @@ describe('anomaly detection', () => {
const svg = await page.waitForSelector('#plot-area svg')
await svg.waitForSelector('.tile circle')
expect((await svg.$$('.tile circle')).length).toBe(5)
}, 10000)
})
})
6 changes: 3 additions & 3 deletions tests/gui/view/adaline.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ describe('classification', () => {
let page
beforeEach(async () => {
page = await getPage()
}, 10000)
})

afterEach(async () => {
await page?.close()
Expand All @@ -25,7 +25,7 @@ describe('classification', () => {
await expect((await rate.getProperty('value')).jsonValue()).resolves.toBe('0.1')
const epoch = await buttons.waitForSelector('[name=epoch]')
await expect(epoch.evaluate(el => el.textContent)).resolves.toBe('0')
}, 10000)
})

test('learn', async () => {
const dataSelectBox = await page.waitForSelector('#ml_selector dl:first-child dd:nth-child(2) select')
Expand All @@ -50,5 +50,5 @@ describe('classification', () => {

await expect(epoch.evaluate(el => el.textContent)).resolves.toBe('1')
await expect(methodFooter.evaluate(el => el.textContent)).resolves.toMatch(/^Accuracy:[0-9.]+$/)
}, 10000)
})
})
4 changes: 2 additions & 2 deletions tests/gui/view/adamenn.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ describe('classification', () => {
let page
beforeEach(async () => {
page = await getPage()
}, 10000)
})

afterEach(async () => {
await page?.close()
Expand All @@ -31,7 +31,7 @@ describe('classification', () => {
await expect((await k.getProperty('value')).jsonValue()).resolves.toBe('3')
const c = await buttons.waitForSelector('input:nth-of-type(6)')
await expect((await c.getProperty('value')).jsonValue()).resolves.toBe('0.5')
}, 10000)
})

test('learn', async () => {
const dataSelectBox = await page.waitForSelector('#ml_selector dl:first-child dd:nth-child(2) select')
Expand Down
6 changes: 3 additions & 3 deletions tests/gui/view/adaptive_thresholding.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ describe('segmentation', () => {
const data = dataURL.replace(/^data:image\/\w+;base64,/, '')
const buf = Buffer.from(data, 'base64')
await fs.promises.writeFile('image_adaptive_thresholding.png', buf)
}, 10000)
})

afterEach(async () => {
await fs.promises.unlink('image_adaptive_thresholding.png')
Expand All @@ -56,7 +56,7 @@ describe('segmentation', () => {
await expect((await k.getProperty('value')).jsonValue()).resolves.toBe('3')
const c = await buttons.waitForSelector('[name=c]')
await expect((await c.getProperty('value')).jsonValue()).resolves.toBe('2')
}, 10000)
})

test('learn', async () => {
const dataSelectBox = await page.waitForSelector('#ml_selector dl:first-child dd:nth-child(2) select')
Expand All @@ -78,5 +78,5 @@ describe('segmentation', () => {
await fitButton.evaluate(el => el.click())

await expect(page.$$('#image-area canvas')).resolves.toHaveLength(2)
}, 10000)
})
})
6 changes: 3 additions & 3 deletions tests/gui/view/agglomerative.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ describe('clustering', () => {
let page
beforeEach(async () => {
page = await getPage()
}, 10000)
})

afterEach(async () => {
await page?.close()
Expand All @@ -25,7 +25,7 @@ describe('clustering', () => {
await expect((await metrix.getProperty('value')).jsonValue()).resolves.toBe('euclid')
const clusters = await buttons.waitForSelector('input:nth-of-type(2)')
await expect((await clusters.getProperty('value')).jsonValue()).resolves.toBe('1')
}, 10000)
})

test('learn', async () => {
const taskSelectBox = await page.waitForSelector('#ml_selector dl:first-child dd:nth-child(5) select')
Expand All @@ -46,5 +46,5 @@ describe('clustering', () => {
await expect((await crange.getProperty('value')).jsonValue()).resolves.toBe('10')
await expect((await crange.getProperty('min')).jsonValue()).resolves.toBe('1')
await expect((await crange.getProperty('max')).jsonValue()).resolves.toBe('300')
}, 10000)
})
})
6 changes: 3 additions & 3 deletions tests/gui/view/alma.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ describe('classification', () => {
let page
beforeEach(async () => {
page = await getPage()
}, 10000)
})

afterEach(async () => {
await page?.close()
Expand All @@ -29,7 +29,7 @@ describe('classification', () => {
await expect((await b.getProperty('value')).jsonValue()).resolves.toBe('1')
const c = await buttons.waitForSelector('input:nth-of-type(4)')
await expect((await c.getProperty('value')).jsonValue()).resolves.toBe('1')
}, 10000)
})

test('learn', async () => {
const dataSelectBox = await page.waitForSelector('#ml_selector dl:first-child dd:nth-child(2) select')
Expand All @@ -54,5 +54,5 @@ describe('classification', () => {

await expect(epoch.evaluate(el => el.textContent)).resolves.toBe('1')
await expect(methodFooter.evaluate(el => el.textContent)).resolves.toMatch(/^Accuracy:[0-9.]+$/)
}, 10000)
})
})
6 changes: 3 additions & 3 deletions tests/gui/view/aode.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ describe('classification', () => {
let page
beforeEach(async () => {
page = await getPage()
}, 10000)
})

afterEach(async () => {
await page?.close()
Expand All @@ -21,7 +21,7 @@ describe('classification', () => {

const discrete = await buttons.waitForSelector('[name=discrete]')
await expect((await discrete.getProperty('value')).jsonValue()).resolves.toBe('10')
}, 10000)
})

test('learn', async () => {
const dataSelectBox = await page.waitForSelector('#ml_selector dl:first-child dd:nth-child(2) select')
Expand All @@ -41,5 +41,5 @@ describe('classification', () => {
await calculateButton.evaluate(el => el.click())

await expect(methodFooter.evaluate(el => el.textContent)).resolves.toMatch(/^Accuracy:[0-9.]+$/)
}, 10000)
})
})
6 changes: 3 additions & 3 deletions tests/gui/view/arow.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ describe('classification', () => {
let page
beforeEach(async () => {
page = await getPage()
}, 10000)
})

afterEach(async () => {
await page?.close()
Expand All @@ -23,7 +23,7 @@ describe('classification', () => {
await expect((await methods.getProperty('value')).jsonValue()).resolves.toBe('oneone')
const r = await buttons.waitForSelector('[name=r]')
await expect((await r.getProperty('value')).jsonValue()).resolves.toBe('0.1')
}, 10000)
})

test('learn', async () => {
const dataSelectBox = await page.waitForSelector('#ml_selector dl:first-child dd:nth-child(2) select')
Expand All @@ -43,5 +43,5 @@ describe('classification', () => {
await calculateButton.evaluate(el => el.click())

await expect(methodFooter.evaluate(el => el.textContent)).resolves.toMatch(/^Accuracy:[0-9.]+$/)
}, 10000)
})
})
Loading