diff --git a/integration/test-runner/package.json b/integration/test-runner/package.json index 36dbb601b..804868d75 100644 --- a/integration/test-runner/package.json +++ b/integration/test-runner/package.json @@ -20,8 +20,8 @@ "test:watch": "mocha test/**/*.test.ts --require ts-node/register --watch --watch-files src,test --reporter dot" }, "dependencies": { - "@web/dev-server-legacy": "^2.0.1", - "@web/test-runner-core": "^0.11.4" + "@web/dev-server-legacy": "^2.0.2", + "@web/test-runner-core": "^0.11.5" }, "devDependencies": { "@esm-bundle/chai": "^4.1.5" diff --git a/integration/test-runner/tests/basic/browser-tests/timers.test.js b/integration/test-runner/tests/basic/browser-tests/timers.test.js new file mode 100644 index 000000000..3298bba99 --- /dev/null +++ b/integration/test-runner/tests/basic/browser-tests/timers.test.js @@ -0,0 +1,80 @@ +import { expect } from '../../../../../node_modules/@esm-bundle/chai/esm/chai.js'; + +describe('timers test', () => { + it('can call setTimeout', async () => { + const promise = new Promise((resolve) => { + window.setTimeout(() => { + resolve(); + }, 0); + }); + await promise; + }); + + it('can cancel setTimeout', async () => { + let called = false; + const timer = window.setTimeout(() => { + called = true; + }, 1); + + expect(typeof timer).to.equal('number'); + + window.clearTimeout(timer); + + await new Promise((resolve) => { + window.setTimeout(() => resolve(), 2); + }); + + expect(called).to.equal(false); + }); + + it('can call and cancel setInterval', async () => { + let callCount = 0; + + const interval = window.setInterval(() => { + callCount++; + }, 1); + + await new Promise((resolve) => { + window.setTimeout(() => resolve(), 2); + }); + + expect(callCount).to.be.greaterThan(0); + + const oldCallCount = callCount; + + window.clearInterval(interval); + + await new Promise((resolve) => { + window.setTimeout(() => resolve(), 2); + }); + + expect(callCount).to.equal(oldCallCount); + }); + + it('can call requestAnimationFrame', async () => { + const promise = new Promise((resolve) => { + window.requestAnimationFrame(() => { + resolve(); + }); + }); + await promise; + }); + + it('can cancel requestAnimationFrame', async () => { + let called = false; + + const timer = window.requestAnimationFrame(() => { + called = true; + }); + + expect(typeof timer).to.equal('number'); + + window.cancelAnimationFrame(timer); + + await new Promise((resolve) => { + window.setTimeout(() => resolve(), 2); + }); + + expect(called).to.equal(false); + }); +}); diff --git a/integration/test-runner/tests/basic/runBasicTest.ts b/integration/test-runner/tests/basic/runBasicTest.ts index 25a6c1a10..ce9d9c4b1 100644 --- a/integration/test-runner/tests/basic/runBasicTest.ts +++ b/integration/test-runner/tests/basic/runBasicTest.ts @@ -69,5 +69,24 @@ export function runBasicTest( ]); } }); + + it('passes timers test', () => { + const sessions = allSessions.filter(s => s.testFile.endsWith('timers.test.js')); + expect(sessions.length === browserCount).to.equal( + true, + 'Each browser should run timers.test.js', + ); + for (const session of sessions) { + expect(session.testResults!.tests.length).to.equal(0); + expect(session.testResults!.suites.length).to.equal(1); + expect(session.testResults!.suites[0].tests.map(t => t.name)).to.eql([ + 'can call setTimeout', + 'can cancel setTimeout', + 'can call and cancel setInterval', + 'can call requestAnimationFrame', + 'can cancel requestAnimationFrame', + ]); + } + }); }); } diff --git a/packages/browser-logs/test/serialize-deserialize.test.ts b/packages/browser-logs/test/serialize-deserialize.test.ts index 170cd863e..65fbf152f 100644 --- a/packages/browser-logs/test/serialize-deserialize.test.ts +++ b/packages/browser-logs/test/serialize-deserialize.test.ts @@ -8,7 +8,9 @@ import { deserialize } from '../src/deserialize'; const serializeScript = fs.readFileSync(require.resolve('../dist/serialize.js'), 'utf-8'); const defaultOptions = { browserRootDir: __dirname, cwd: __dirname }; -describe('serialize deserialize', () => { +describe('serialize deserialize', function () { + this.timeout(10000); + let browser: Browser; let page: Page; before(async () => { diff --git a/packages/dev-server-core/CHANGELOG.md b/packages/dev-server-core/CHANGELOG.md index f9fc1e724..bd8d80d82 100644 --- a/packages/dev-server-core/CHANGELOG.md +++ b/packages/dev-server-core/CHANGELOG.md @@ -1,5 +1,11 @@ # @web/dev-server-core +## 0.6.0 + +### Minor Changes + +- 7f0f4315: Raise-up the maxSessionMemory of the http2 server to avoid network errors when a large number of files are served + ## 0.5.2 ### Patch Changes diff --git a/packages/dev-server-core/package.json b/packages/dev-server-core/package.json index 6ac604e51..12b4ae403 100644 --- a/packages/dev-server-core/package.json +++ b/packages/dev-server-core/package.json @@ -1,6 +1,6 @@ { "name": "@web/dev-server-core", - "version": "0.5.2", + "version": "0.6.0", "publishConfig": { "access": "public" }, diff --git a/packages/dev-server-core/src/server/createServer.ts b/packages/dev-server-core/src/server/createServer.ts index 93fa9d900..13435a4e0 100644 --- a/packages/dev-server-core/src/server/createServer.ts +++ b/packages/dev-server-core/src/server/createServer.ts @@ -79,6 +79,7 @@ export function createServer( : path.join(dir, '..', '.self-signed-dev-server-ssl.cert'), ), allowHTTP1: true, + maxSessionMemory: 20, }; const httpsRedirectServer = httpServer.createServer(httpsRedirect); diff --git a/packages/dev-server-esbuild/CHANGELOG.md b/packages/dev-server-esbuild/CHANGELOG.md index 707496e90..a0b7e3294 100644 --- a/packages/dev-server-esbuild/CHANGELOG.md +++ b/packages/dev-server-esbuild/CHANGELOG.md @@ -1,5 +1,12 @@ # @web/dev-server-esbuild +## 0.4.2 + +### Patch Changes + +- Updated dependencies [7f0f4315] + - @web/dev-server-core@0.6.0 + ## 0.4.1 ### Patch Changes diff --git a/packages/dev-server-esbuild/package.json b/packages/dev-server-esbuild/package.json index 50008e260..77d3bdd70 100644 --- a/packages/dev-server-esbuild/package.json +++ b/packages/dev-server-esbuild/package.json @@ -1,6 +1,6 @@ { "name": "@web/dev-server-esbuild", - "version": "0.4.1", + "version": "0.4.2", "publishConfig": { "access": "public" }, @@ -51,14 +51,14 @@ ], "dependencies": { "@mdn/browser-compat-data": "^4.0.0", - "@web/dev-server-core": "^0.5.1", + "@web/dev-server-core": "^0.6.0", "esbuild": "^0.16 || ^0.17", "parse5": "^6.0.1", "ua-parser-js": "^1.0.33" }, "devDependencies": { "@types/ua-parser-js": "^0.7.35", - "@web/dev-server-rollup": "^0.5.0", + "@web/dev-server-rollup": "^0.5.3", "lit-element": "^3.0.0", "node-fetch": "3.0.0-beta.9", "preact": "^10.5.9" diff --git a/packages/dev-server-hmr/CHANGELOG.md b/packages/dev-server-hmr/CHANGELOG.md index 0930f8f70..db8eb5101 100644 --- a/packages/dev-server-hmr/CHANGELOG.md +++ b/packages/dev-server-hmr/CHANGELOG.md @@ -1,5 +1,12 @@ # @web/dev-server-hmr +## 0.3.1 + +### Patch Changes + +- Updated dependencies [7f0f4315] + - @web/dev-server-core@0.6.0 + ## 0.3.0 ### Minor Changes diff --git a/packages/dev-server-hmr/package.json b/packages/dev-server-hmr/package.json index c2bf79802..84230a0fa 100644 --- a/packages/dev-server-hmr/package.json +++ b/packages/dev-server-hmr/package.json @@ -1,6 +1,6 @@ { "name": "@web/dev-server-hmr", - "version": "0.3.0", + "version": "0.3.1", "publishConfig": { "access": "public" }, @@ -39,7 +39,7 @@ "src" ], "dependencies": { - "@web/dev-server-core": "^0.5.1" + "@web/dev-server-core": "^0.6.0" }, "devDependencies": { "lit-html": "^2.7.3", diff --git a/packages/dev-server-import-maps/CHANGELOG.md b/packages/dev-server-import-maps/CHANGELOG.md index 317f80c23..53fb6f479 100644 --- a/packages/dev-server-import-maps/CHANGELOG.md +++ b/packages/dev-server-import-maps/CHANGELOG.md @@ -1,5 +1,12 @@ # @web/dev-server-import-maps +## 0.1.2 + +### Patch Changes + +- Updated dependencies [7f0f4315] + - @web/dev-server-core@0.6.0 + ## 0.1.1 ### Patch Changes diff --git a/packages/dev-server-import-maps/package.json b/packages/dev-server-import-maps/package.json index f342bba1c..78e710080 100644 --- a/packages/dev-server-import-maps/package.json +++ b/packages/dev-server-import-maps/package.json @@ -1,6 +1,6 @@ { "name": "@web/dev-server-import-maps", - "version": "0.1.1", + "version": "0.1.2", "publishConfig": { "access": "public" }, @@ -52,7 +52,7 @@ "dependencies": { "@import-maps/resolve": "^1.0.1", "@types/parse5": "^6.0.1", - "@web/dev-server-core": "^0.5.1", + "@web/dev-server-core": "^0.6.0", "@web/parse5-utils": "^2.0.0", "parse5": "^6.0.1", "picomatch": "^2.2.2" diff --git a/packages/dev-server-legacy/CHANGELOG.md b/packages/dev-server-legacy/CHANGELOG.md index f8d6bbe63..0f50cfea1 100644 --- a/packages/dev-server-legacy/CHANGELOG.md +++ b/packages/dev-server-legacy/CHANGELOG.md @@ -1,5 +1,12 @@ # @web/dev-server-legacy +## 2.0.2 + +### Patch Changes + +- Updated dependencies [7f0f4315] + - @web/dev-server-core@0.6.0 + ## 2.0.1 ### Patch Changes diff --git a/packages/dev-server-legacy/package.json b/packages/dev-server-legacy/package.json index 24bda75fb..fb9855c4e 100644 --- a/packages/dev-server-legacy/package.json +++ b/packages/dev-server-legacy/package.json @@ -1,6 +1,6 @@ { "name": "@web/dev-server-legacy", - "version": "2.0.1", + "version": "2.0.2", "publishConfig": { "access": "public" }, @@ -58,7 +58,7 @@ "@babel/plugin-transform-modules-systemjs": "^7.12.1", "@babel/plugin-transform-template-literals": "^7.12.1", "@babel/preset-env": "^7.12.11", - "@web/dev-server-core": "^0.5.0", + "@web/dev-server-core": "^0.6.0", "@web/polyfills-loader": "^2.0.0", "browserslist": "^4.16.0", "browserslist-useragent": "^4.0.0", diff --git a/packages/dev-server-rollup/CHANGELOG.md b/packages/dev-server-rollup/CHANGELOG.md index 30a8b47f3..28710131b 100644 --- a/packages/dev-server-rollup/CHANGELOG.md +++ b/packages/dev-server-rollup/CHANGELOG.md @@ -1,5 +1,12 @@ # @web/dev-server-rollup +## 0.5.3 + +### Patch Changes + +- Updated dependencies [7f0f4315] + - @web/dev-server-core@0.6.0 + ## 0.5.2 ### Patch Changes diff --git a/packages/dev-server-rollup/package.json b/packages/dev-server-rollup/package.json index efe81d35a..9e183be6f 100644 --- a/packages/dev-server-rollup/package.json +++ b/packages/dev-server-rollup/package.json @@ -1,6 +1,6 @@ { "name": "@web/dev-server-rollup", - "version": "0.5.2", + "version": "0.5.3", "publishConfig": { "access": "public" }, @@ -48,7 +48,7 @@ ], "dependencies": { "@rollup/plugin-node-resolve": "^15.0.1", - "@web/dev-server-core": "^0.5.0", + "@web/dev-server-core": "^0.6.0", "nanocolors": "^0.2.1", "parse5": "^6.0.1", "rollup": "^3.15.0", @@ -62,8 +62,8 @@ "@rollup/plugin-replace": "^5.0.2", "@types/parse5": "^6.0.1", "@types/whatwg-url": "^11.0.0", - "@web/test-runner-chrome": "^0.14.0", - "@web/test-runner-core": "^0.11.0", + "@web/test-runner-chrome": "^0.14.2", + "@web/test-runner-core": "^0.11.5", "chai": "^4.2.0", "mocha": "^10.2.0", "node-fetch": "3.0.0-beta.9", diff --git a/packages/dev-server-storybook/CHANGELOG.md b/packages/dev-server-storybook/CHANGELOG.md index abc119b63..257d8cd5a 100644 --- a/packages/dev-server-storybook/CHANGELOG.md +++ b/packages/dev-server-storybook/CHANGELOG.md @@ -1,5 +1,12 @@ # @web/dev-server-storybook +## 1.0.7 + +### Patch Changes + +- Updated dependencies [7f0f4315] + - @web/dev-server-core@0.6.0 + ## 1.0.6 ### Patch Changes diff --git a/packages/dev-server-storybook/package.json b/packages/dev-server-storybook/package.json index bfa60de4d..a8d8a9588 100644 --- a/packages/dev-server-storybook/package.json +++ b/packages/dev-server-storybook/package.json @@ -1,6 +1,6 @@ { "name": "@web/dev-server-storybook", - "version": "1.0.6", + "version": "1.0.7", "publishConfig": { "access": "public" }, @@ -62,7 +62,7 @@ "@rollup/plugin-node-resolve": "^15.0.1", "@rollup/plugin-terser": "^0.4.1", "@storybook/csf-tools": "^6.4.9", - "@web/dev-server-core": "^0.5.0", + "@web/dev-server-core": "^0.6.0", "@web/rollup-plugin-html": "^2.0.1", "@web/rollup-plugin-polyfills-loader": "^2.0.1", "@web/storybook-prebuilt": "^0.1.37", @@ -76,7 +76,7 @@ }, "devDependencies": { "@types/path-is-inside": "^1.0.0", - "@web/dev-server": "^0.3.2", + "@web/dev-server": "^0.3.4", "htm": "^3.1.0" } } diff --git a/packages/dev-server/CHANGELOG.md b/packages/dev-server/CHANGELOG.md index cc4e9e2f2..249135fcd 100644 --- a/packages/dev-server/CHANGELOG.md +++ b/packages/dev-server/CHANGELOG.md @@ -1,5 +1,13 @@ # @web/dev-server +## 0.3.4 + +### Patch Changes + +- Updated dependencies [7f0f4315] + - @web/dev-server-core@0.6.0 + - @web/dev-server-rollup@0.5.3 + ## 0.3.3 ### Patch Changes diff --git a/packages/dev-server/package.json b/packages/dev-server/package.json index ba8fba040..dc9a97b0e 100644 --- a/packages/dev-server/package.json +++ b/packages/dev-server/package.json @@ -1,6 +1,6 @@ { "name": "@web/dev-server", - "version": "0.3.3", + "version": "0.3.4", "publishConfig": { "access": "public" }, @@ -59,8 +59,8 @@ "@babel/code-frame": "^7.12.11", "@types/command-line-args": "^5.0.0", "@web/config-loader": "^0.2.1", - "@web/dev-server-core": "^0.5.1", - "@web/dev-server-rollup": "^0.5.1", + "@web/dev-server-core": "^0.6.0", + "@web/dev-server-rollup": "^0.5.3", "camelcase": "^6.2.0", "command-line-args": "^5.1.1", "command-line-usage": "^7.0.1", diff --git a/packages/storybook-builder/CHANGELOG.md b/packages/storybook-builder/CHANGELOG.md index 414035aab..88a1fef55 100644 --- a/packages/storybook-builder/CHANGELOG.md +++ b/packages/storybook-builder/CHANGELOG.md @@ -1,5 +1,14 @@ # @web/storybook-builder +## 0.1.1 + +### Patch Changes + +- Updated dependencies [7f0f4315] + - @web/dev-server-core@0.6.0 + - @web/dev-server@0.3.4 + - @web/dev-server-rollup@0.5.3 + ## 0.1.0 ### Minor Changes diff --git a/packages/storybook-builder/package.json b/packages/storybook-builder/package.json index d4b2e0be2..2beb8fbd0 100644 --- a/packages/storybook-builder/package.json +++ b/packages/storybook-builder/package.json @@ -1,6 +1,6 @@ { "name": "@web/storybook-builder", - "version": "0.1.0", + "version": "0.1.1", "publishConfig": { "access": "public" }, @@ -53,9 +53,9 @@ "@storybook/core-common": "^7.0.0", "@storybook/node-logger": "^7.0.0", "@storybook/preview": "^7.0.0", - "@web/dev-server": "^0.3.0", - "@web/dev-server-core": "^0.5.2", - "@web/dev-server-rollup": "^0.5.2", + "@web/dev-server": "^0.3.4", + "@web/dev-server-core": "^0.6.0", + "@web/dev-server-rollup": "^0.5.3", "@web/rollup-plugin-html": "^2.0.0", "browser-assert": "^1.2.1", "es-module-lexer": "^1.2.1", diff --git a/packages/test-runner-chrome/CHANGELOG.md b/packages/test-runner-chrome/CHANGELOG.md index 0c94d4f75..a5f8e252b 100644 --- a/packages/test-runner-chrome/CHANGELOG.md +++ b/packages/test-runner-chrome/CHANGELOG.md @@ -1,5 +1,12 @@ # @web/test-runner-chrome +## 0.14.2 + +### Patch Changes + +- 165c8134: return inner timer result + - @web/test-runner-core@0.11.5 + ## 0.14.1 ### Patch Changes diff --git a/packages/test-runner-chrome/package.json b/packages/test-runner-chrome/package.json index e65a92a75..babbbfbc8 100644 --- a/packages/test-runner-chrome/package.json +++ b/packages/test-runner-chrome/package.json @@ -1,6 +1,6 @@ { "name": "@web/test-runner-chrome", - "version": "0.14.1", + "version": "0.14.2", "publishConfig": { "access": "public" }, @@ -45,7 +45,7 @@ "launcher" ], "dependencies": { - "@web/test-runner-core": "^0.11.2", + "@web/test-runner-core": "^0.11.5", "@web/test-runner-coverage-v8": "^0.7.0", "async-mutex": "0.4.0", "chrome-launcher": "^0.15.0", diff --git a/packages/test-runner-chrome/src/ChromeLauncherPage.ts b/packages/test-runner-chrome/src/ChromeLauncherPage.ts index 8fefa6a56..fefaf8451 100644 --- a/packages/test-runner-chrome/src/ChromeLauncherPage.ts +++ b/packages/test-runner-chrome/src/ChromeLauncherPage.ts @@ -69,13 +69,14 @@ export class ChromeLauncherPage { // eslint-disable-next-line @typescript-eslint/ban-types function patchFunction(name: string, fn: Function) { (window as any)[name] = (...args: unknown[]) => { - fn.call(window, ...args); + const result = fn.call(window, ...args); const id = Math.random().toString().substring(2); // Make sure that the tab running the test code is brought back to the front. window.__bringTabToFront(id); fn.call(window, () => { window.__releaseLock(id); }); + return result; }; } diff --git a/packages/test-runner-core/CHANGELOG.md b/packages/test-runner-core/CHANGELOG.md index 88078a4a2..24658c262 100644 --- a/packages/test-runner-core/CHANGELOG.md +++ b/packages/test-runner-core/CHANGELOG.md @@ -1,5 +1,12 @@ # @web/test-runner-core +## 0.11.5 + +### Patch Changes + +- Updated dependencies [7f0f4315] + - @web/dev-server-core@0.6.0 + ## 0.11.4 ### Patch Changes diff --git a/packages/test-runner-core/package.json b/packages/test-runner-core/package.json index 022f457e4..e918f3f77 100644 --- a/packages/test-runner-core/package.json +++ b/packages/test-runner-core/package.json @@ -1,6 +1,6 @@ { "name": "@web/test-runner-core", - "version": "0.11.4", + "version": "0.11.5", "publishConfig": { "access": "public" }, @@ -58,7 +58,7 @@ "@types/istanbul-lib-coverage": "^2.0.3", "@types/istanbul-reports": "^3.0.0", "@web/browser-logs": "^0.3.2", - "@web/dev-server-core": "^0.5.1", + "@web/dev-server-core": "^0.6.0", "chokidar": "^3.4.3", "cli-cursor": "^3.1.0", "co-body": "^6.1.0",