Skip to content

Commit

Permalink
test: port to jest
Browse files Browse the repository at this point in the history
to simplify the testing stack.
Also remove unused babelrc
  • Loading branch information
fippo committed Sep 19, 2023
1 parent 77d2b2a commit 03ad929
Show file tree
Hide file tree
Showing 25 changed files with 89 additions and 109 deletions.
8 changes: 0 additions & 8 deletions .babelrc

This file was deleted.

2 changes: 2 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ module.exports = {
'browser': true,
'es6': true,
'node': true,
'jest': true
},
'rules': {
'max-len': 'off',
Expand Down Expand Up @@ -42,4 +43,5 @@ module.exports = {
"VideoEncoder": true,
"VideoDecoder": true,
},
"plugins": ["jest"]
};
2 changes: 1 addition & 1 deletion .github/workflows/interop-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@ jobs:
- run: BROWSER=${{matrix.browserA}} BVER=${{matrix.bver}} ./node_modules/travis-multirunner/setup.sh
- run: BROWSER=${{matrix.browserB}} BVER=${{matrix.bver}} ./node_modules/travis-multirunner/setup.sh
- run: Xvfb :99 &
- run: BROWSER_A=${{matrix.browserA}} BROWSER_B=${{matrix.browserB}} BVER=${{matrix.bver}} DISPLAY=:99.0 node_modules/.bin/mocha --retries=3 test/interop/connection.js
- run: BROWSER_A=${{matrix.browserA}} BROWSER_B=${{matrix.browserB}} BVER=${{matrix.bver}} DISPLAY=:99.0 node_modules/.bin/jest --retries=3 test/interop/connection.js
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@ jobs:
- run: npm install
- run: BROWSER=${{matrix.browser}} BVER=${{matrix.version}} ./node_modules/travis-multirunner/setup.sh
- run: Xvfb :99 &
- run: BROWSER=${{matrix.browser}} BVER=${{matrix.version}} DISPLAY=:99.0 npm run mocha -- --retries=3
- run: BROWSER=${{matrix.browser}} BVER=${{matrix.version}} DISPLAY=:99.0 npm run jest -- --retries=3
6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,20 +22,20 @@
"start": "http-server . -c-1",
"test": "npm run eslint && npm run stylelint",
"eslint": "eslint 'test/**.js' 'src/content/**/*.js'",
"mocha": "mocha --timeout 5000 'src/content/**/test.js'",
"jest": "jest --testTimeout 5000 --maxWorkers=1 'src/content/**/test.js'",
"stylelint": "stylelint 'src/**/*.css'"
},
"eslintIgnore": [
"'**/third_party/*.js'"
],
"devDependencies": {
"chai": "^4.3.6",
"chromedriver": ">98.0.1",
"eslint": "^8.9.0",
"eslint-config-google": "^0.14.0",
"eslint-plugin-jest": "^27.4.0",
"geckodriver": "^3.0.1",
"http-server": "^14.1.0",
"mocha": "^9.2.1",
"jest": "^29.7.0",
"selenium-webdriver": "^4.12.0",
"stylelint": "^14.5.3",
"stylelint-config-recommended": "^7.0.0",
Expand Down
10 changes: 3 additions & 7 deletions src/content/datachannel/basic/js/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,18 @@
* that can be found in the LICENSE file in the root of the source
* tree.
*/
/* eslint-env node, mocha */

'use strict';
const webdriver = require('selenium-webdriver');
const seleniumHelpers = require('../../../../../test/webdriver');
const {expect} = require('chai');

let driver;
const path = '/src/content/datachannel/basic/index.html';
const url = `${process.env.BASEURL ? process.env.BASEURL : ('file://' + process.cwd())}${path}`;

describe('datachannel basic', () => {
before(() => {
beforeAll(() => {
driver = seleniumHelpers.buildDriver();
});
after(() => {
afterAll(() => {
return driver.quit();
});

Expand Down Expand Up @@ -50,6 +46,6 @@ describe('datachannel basic', () => {
}));

const value = await driver.findElement(webdriver.By.id('dataChannelReceive')).getAttribute('value');
expect(value).to.equal(text);
expect(value).toBe(text);
});
});
11 changes: 5 additions & 6 deletions src/content/datachannel/channel/js/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,21 @@
* that can be found in the LICENSE file in the root of the source
* tree.
*/
/* eslint-env node, mocha */
/* eslint-env node */

'use strict';
const webdriver = require('selenium-webdriver');
const seleniumHelpers = require('../../../../../test/webdriver');
const {expect} = require('chai');

let driver;
const path = '/src/content/datachannel/channel/index.html';
const url = `${process.env.BASEURL ? process.env.BASEURL : ('file://' + process.cwd())}${path}`;

describe('datachannel and broadcast channels', () => {
before(() => {
beforeAll(() => {
driver = seleniumHelpers.buildDriver();
});
after(() => {
afterAll(() => {
return driver.quit();
});

Expand Down Expand Up @@ -68,7 +67,7 @@ describe('datachannel and broadcast channels', () => {
return document.getElementById('dataChannelReceive').value.length > 0;
}));
const fromFirst= await driver.findElement(webdriver.By.id('dataChannelReceive')).getAttribute('value');
expect(fromFirst).to.equal(firstHello);
expect(fromFirst).toBe(firstHello);

// Send a message from the second tab to the first tab.
await driver.switchTo().window(secondTab);
Expand All @@ -84,7 +83,7 @@ describe('datachannel and broadcast channels', () => {
return document.getElementById('dataChannelReceive').value.length > 0;
}));
const fromSecond = await driver.findElement(webdriver.By.id('dataChannelReceive')).getAttribute('value');
expect(fromSecond).to.equal(secondHello);
expect(fromSecond).toBe(secondHello);
});
});

9 changes: 4 additions & 5 deletions src/content/datachannel/datatransfer/js/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,21 @@
* that can be found in the LICENSE file in the root of the source
* tree.
*/
/* eslint-env node, mocha */
/* eslint-env node */

'use strict';
const webdriver = require('selenium-webdriver');
const seleniumHelpers = require('../../../../../test/webdriver');
const {expect} = require('chai');

let driver;
const path = '/src/content/datachannel/datatransfer/index.html';
const url = `${process.env.BASEURL ? process.env.BASEURL : ('file://' + process.cwd())}${path}`;

describe('datachannel datatransfer', () => {
before(() => {
beforeAll(() => {
driver = seleniumHelpers.buildDriver();
});
after(() => {
afterAll(() => {
return driver.quit();
});

Expand Down Expand Up @@ -52,6 +51,6 @@ describe('datachannel datatransfer', () => {
}));

const transferred = await driver.findElement(webdriver.By.id('receiveProgress')).getAttribute('value');
expect(transferred >>> 0).to.equal(megsToSend * 1024 * 1024);
expect(transferred >>> 0).toBe(megsToSend * 1024 * 1024);
});
});
6 changes: 3 additions & 3 deletions src/content/datachannel/filetransfer/js/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* that can be found in the LICENSE file in the root of the source
* tree.
*/
/* eslint-env node, mocha */
/* eslint-env node */

'use strict';
const webdriver = require('selenium-webdriver');
Expand All @@ -16,10 +16,10 @@ const path = '/src/content/datachannel/filetransfer/index.html';
const url = `${process.env.BASEURL ? process.env.BASEURL : ('file://' + process.cwd())}${path}`;

describe('datachannel filetransfer', () => {
before(() => {
beforeAll(() => {
driver = seleniumHelpers.buildDriver();
});
after(() => {
afterAll(() => {
return driver.quit();
});

Expand Down
6 changes: 3 additions & 3 deletions src/content/devices/input-output/js/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* that can be found in the LICENSE file in the root of the source
* tree.
*/
/* eslint-env node, mocha */
/* eslint-env node */
'use strict';

const seleniumHelpers = require('../../../../../test/webdriver');
Expand All @@ -15,10 +15,10 @@ const path = '/src/content/devices/input-output/index.html';
const url = `${process.env.BASEURL ? process.env.BASEURL : ('file://' + process.cwd())}${path}`;

describe('input-output', () => {
before(() => {
beforeAll(() => {
driver = seleniumHelpers.buildDriver();
});
after(() => {
afterAll(() => {
return driver.quit();
});

Expand Down
9 changes: 4 additions & 5 deletions src/content/getusermedia/gum/js/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,21 @@
* that can be found in the LICENSE file in the root of the source
* tree.
*/
/* eslint-env node, mocha */
/* eslint-env node */
'use strict';

const webdriver = require('selenium-webdriver');
const seleniumHelpers = require('../../../../../test/webdriver');
const {expect} = require('chai');

let driver;
const path = '/src/content/getusermedia/gum/index.html';
const url = `${process.env.BASEURL ? process.env.BASEURL : ('file://' + process.cwd())}${path}`;

describe('getUserMedia', () => {
before(() => {
beforeAll(() => {
driver = seleniumHelpers.buildDriver();
});
after(() => {
afterAll(() => {
return driver.quit();
});

Expand All @@ -34,7 +33,7 @@ describe('getUserMedia', () => {
document.querySelector('video').readyState === HTMLMediaElement.HAVE_ENOUGH_DATA)
);
const width = await driver.findElement(webdriver.By.css('video')).getAttribute('videoWidth');
expect(width >>> 0).to.be.at.least(320);
expect(width >>> 0).toBeGreaterThan(320);
});
});

9 changes: 4 additions & 5 deletions src/content/getusermedia/resolution/js/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,21 @@
* tree.
*/
/*
/* eslint-env node, mocha */
/* eslint-env node */

'use strict';
const webdriver = require('selenium-webdriver');
const seleniumHelpers = require('../../../../../test/webdriver');
const {expect} = require('chai');

let driver;
const path = '/src/content/getusermedia/resolution/index.html';
const url = `${process.env.BASEURL ? process.env.BASEURL : ('file://' + process.cwd())}${path}`;

describe('getUserMedia resolutions', () => {
before(() => {
beforeAll(() => {
driver = seleniumHelpers.buildDriver();
});
after(() => {
afterAll(() => {
return driver.quit();
});

Expand Down Expand Up @@ -49,7 +48,7 @@ describe('getUserMedia resolutions', () => {
document.querySelector('video').readyState === HTMLMediaElement.HAVE_ENOUGH_DATA)
);
const width = await driver.findElement(webdriver.By.css('video')).getAttribute('videoWidth');
expect(width >>> 0).to.equal(resolution);
expect(width >>> 0).toBe(resolution);
});
});
});
Expand Down
6 changes: 3 additions & 3 deletions src/content/insertable-streams/endtoend-encryption/js/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* that can be found in the LICENSE file in the root of the source
* tree.
*/
/* eslint-env node, mocha */
/* eslint-env node */

'use strict';
const webdriver = require('selenium-webdriver');
Expand All @@ -16,10 +16,10 @@ const path = '/src/content/insertable-streams/endtoend-encryption/index.html';
const url = `${process.env.BASEURL ? process.env.BASEURL : ('file://' + process.cwd())}${path}`;

describe('insertable streams e2ee', () => {
before(() => {
beforeAll(() => {
driver = seleniumHelpers.buildDriver();
});
after(() => {
afterAll(() => {
return driver.quit();
});

Expand Down
6 changes: 3 additions & 3 deletions src/content/peerconnection/audio/js/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* that can be found in the LICENSE file in the root of the source
* tree.
*/
/* eslint-env node, mocha */
/* eslint-env node */
'use strict';
const webdriver = require('selenium-webdriver');
const seleniumHelpers = require('../../../../../test/webdriver');
Expand All @@ -15,10 +15,10 @@ const path = '/src/content/peerconnection/audio/index.html';
const url = `${process.env.BASEURL ? process.env.BASEURL : ('file://' + process.cwd())}${path}`;

describe('audio-only peerconnection', () => {
before(() => {
beforeAll(() => {
driver = seleniumHelpers.buildDriver();
});
after(() => {
afterAll(() => {
return driver.quit();
});

Expand Down
9 changes: 4 additions & 5 deletions src/content/peerconnection/change-codecs/js/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,21 @@
* that can be found in the LICENSE file in the root of the source
* tree.
*/
/* eslint-env node, mocha */
/* eslint-env node */

'use strict';
const webdriver = require('selenium-webdriver');
const seleniumHelpers = require('../../../../../test/webdriver');
const {expect} = require('chai');

let driver;
const path = '/src/content/peerconnection/change-codecs/index.html';
const url = `${process.env.BASEURL ? process.env.BASEURL : ('file://' + process.cwd())}${path}`;

describe('peerconnection with setCodecPreferences', () => {
before(() => {
beforeAll(() => {
driver = seleniumHelpers.buildDriver();
});
after(() => {
afterAll(() => {
return driver.quit();
});

Expand Down Expand Up @@ -61,7 +60,7 @@ describe('peerconnection with setCodecPreferences', () => {
return document.getElementById('actualCodec').innerText !== '';
}));
const actualCodec = await driver.findElement(webdriver.By.id('actualCodec')).getAttribute('innerText');
expect(actualCodec.startsWith('Using ' + codec)).to.be.true;
expect(actualCodec.startsWith('Using ' + codec)).toBe(true);
});
});
});
Expand Down
6 changes: 3 additions & 3 deletions src/content/peerconnection/channel/js/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* that can be found in the LICENSE file in the root of the source
* tree.
*/
/* eslint-env node, mocha */
/* eslint-env node */

'use strict';
const webdriver = require('selenium-webdriver');
Expand All @@ -16,10 +16,10 @@ const path = '/src/content/peerconnection/channel/index.html';
const url = `${process.env.BASEURL ? process.env.BASEURL : ('file://' + process.cwd())}${path}`;

describe('peerconnection and broadcast channels', () => {
before(() => {
beforeAll(() => {
driver = seleniumHelpers.buildDriver();
});
after(() => {
afterAll(() => {
return driver.quit();
});

Expand Down
Loading

0 comments on commit 03ad929

Please sign in to comment.