Skip to content

Commit 84d4607

Browse files
Remove process/browser polyfill in tests, replace all process.nextTick by setTimeout (#5643)
1 parent 253d772 commit 84d4607

20 files changed

+68
-73
lines changed

src/utils/device.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -171,10 +171,8 @@ export function isLandscape () {
171171
* Check if running in a browser or spoofed browser (bundler).
172172
* We need to check a node api that isn't mocked on either side.
173173
* `require` and `module.exports` are mocked in browser by bundlers.
174-
* `window` is mocked in node.
175-
* `process` is also mocked by webpack running with karma, but has custom properties like process.browser.
176174
*/
177-
export var isBrowserEnvironment = typeof process === 'undefined' || process.browser === true;
175+
export var isBrowserEnvironment = typeof process === 'undefined';
178176

179177
/**
180178
* Check if running in node on the server.

tests/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ suite('module/component/custom element', function () {
9090
* An asynchronous test case.
9191
*/
9292
test('does that', function (done) {
93-
process.nextTick(function () {
93+
setTimeout(function () {
9494
assert.notEqual(1, 2);
9595
done(); // Use `done` to tell when finished in asynchronous test.
9696
});
@@ -113,5 +113,5 @@ suite('module/component/custom element', function () {
113113
'loaded' event.
114114
- karma may sometimes misreport test failures to other unit tests. Run one test
115115
suite or case at a time to isolate the test failure.
116-
- Use `process.nextTick` after doing DOM manipulations. However, we will not
116+
- Use `setTimeout` after doing DOM manipulations. However, we will not
117117
need to do this after `Entity.setAttribute` as we have made that synchronous.

tests/components/cursor.test.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ suite('cursor', function () {
4444
assert.ok(el.is('cursor-hovering'));
4545
assert.ok(intersectedEl.is('cursor-hovered'));
4646
el.removeAttribute('cursor');
47-
process.nextTick(function () {
47+
setTimeout(function () {
4848
assert.notOk(el.is('cursor-hovering'));
4949
assert.notOk(intersectedEl.is('cursor-hovered'));
5050
done();
@@ -59,15 +59,15 @@ suite('cursor', function () {
5959
});
6060
assert.ok(el.is('cursor-fusing'));
6161
el.removeAttribute('cursor');
62-
process.nextTick(function () {
62+
setTimeout(function () {
6363
assert.notOk(el.is('cursor-fusing'));
6464
done();
6565
});
6666
});
6767

6868
test('removes intersection listener', function (done) {
6969
el.removeAttribute('cursor');
70-
process.nextTick(function () {
70+
setTimeout(function () {
7171
el.emit('raycaster-intersection', {
7272
intersections: [intersection],
7373
els: [intersectedEl]
@@ -262,7 +262,7 @@ suite('cursor', function () {
262262
els: [furtherIntersectedEl]
263263
});
264264

265-
process.nextTick(function () {
265+
setTimeout(function () {
266266
assert.equal(el.components.cursor.intersectedEl, nearerIntersectedEl);
267267
done();
268268
});
@@ -405,7 +405,7 @@ suite('cursor', function () {
405405
event.clientY = 5;
406406
el.setAttribute('cursor', 'rayOrigin', 'mouse');
407407
el.sceneEl.canvas.dispatchEvent(event);
408-
process.nextTick(function () {
408+
setTimeout(function () {
409409
var raycaster = el.getAttribute('raycaster');
410410
assert.notEqual(raycaster.direction.x, 0);
411411
done();
@@ -417,7 +417,7 @@ suite('cursor', function () {
417417
event.touches = {item: function () { return {clientX: 5, clientY: 5}; }};
418418
el.setAttribute('cursor', 'rayOrigin', 'mouse');
419419
el.sceneEl.canvas.dispatchEvent(event);
420-
process.nextTick(function () {
420+
setTimeout(function () {
421421
var raycaster = el.getAttribute('raycaster');
422422
assert.notEqual(raycaster.direction.x, 0);
423423
done();

tests/components/gltf-model.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ suite('gltf-model', function () {
7575

7676
this.sinon.replace(THREE, 'GLTFLoader', function MockGLTFLoader () {
7777
this.load = function (url, onLoad) {
78-
process.nextTick(onLoad.bind(null, gltfMock));
78+
setTimeout(onLoad.bind(null, gltfMock));
7979
};
8080
this.setDRACOLoader = function () {};
8181
});

tests/components/look-controls.test.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ suite('look-controls', function () {
1818
var lookControls = el.camera.el.components['look-controls'];
1919
lookControls.hasPositionalTracking = false;
2020
lookControls.previousHMDPosition.set(1, 2, 3);
21-
process.nextTick(function () {
21+
setTimeout(function () {
2222
assert.ok(lookControls.previousHMDPosition.length() === 0);
2323
done();
2424
});
@@ -33,7 +33,7 @@ suite('look-controls', function () {
3333

3434
test('adds grabbing style to scene canvas on mousedown', function (done) {
3535
var canvasEl = this.sceneEl.canvas;
36-
process.nextTick(function () {
36+
setTimeout(function () {
3737
assert.ok(canvasEl.style.cursor === 'grabbing');
3838
canvasEl.style.cursor = '';
3939
done();
@@ -46,7 +46,7 @@ suite('look-controls', function () {
4646
test('removes grabbing style from scene el canvas on document body mouseup', function (done) {
4747
var canvasEl = this.sceneEl.canvas;
4848
canvasEl.style.cursor = 'grabbing';
49-
process.nextTick(function () {
49+
setTimeout(function () {
5050
assert.notOk(canvasEl.style.cursor === 'grabbing');
5151
done();
5252
});
@@ -60,7 +60,7 @@ suite('look-controls', function () {
6060
var requestPointerLock = this.sinon.spy(canvasEl, 'requestPointerLock');
6161
cameraEl.setAttribute('look-controls', {pointerLockEnabled: true});
6262

63-
process.nextTick(function () {
63+
setTimeout(function () {
6464
assert.ok(requestPointerLock.called);
6565
canvasEl.style.cursor = '';
6666
done();
@@ -80,7 +80,7 @@ suite('look-controls', function () {
8080

8181
cameraEl.setAttribute('look-controls', {pointerLockEnabled: false});
8282

83-
process.nextTick(function () {
83+
setTimeout(function () {
8484
assert.notOk(requestPointerLock.called);
8585
canvasEl.style.cursor = '';
8686
done();

tests/components/scene/device-motion-permission-ui.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ suite('device-orientation-permission-ui', function () {
2424

2525
test('appends permission dialog', function (done) {
2626
var scene = this.el;
27-
process.nextTick(function () {
27+
setTimeout(function () {
2828
PERMISSION_DIALOG_CLASSES.forEach(function (uiClass) {
2929
assert.equal(scene.querySelectorAll(uiClass).length, 1);
3030
done();

tests/components/scene/xr-mode-ui.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ suite('xr-mode-ui', function () {
3636

3737
scene.enterVR();
3838

39-
process.nextTick(function () {
39+
setTimeout(function () {
4040
UI_CLASSES.forEach(function (uiClass) {
4141
assert.include(scene.querySelector(uiClass).className, 'a-hidden');
4242
});

tests/components/sound.test.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ suite('sound', function () {
237237
var sceneEl = this.el.sceneEl;
238238
var assetsEl = sceneEl.querySelector('a-assets');
239239
sceneEl.removeChild(assetsEl);
240-
process.nextTick(function () {
240+
setTimeout(function () {
241241
assetsEl = document.createElement('a-assets');
242242
var audioEl = document.createElement('audio');
243243
audioEl.setAttribute('src', 'base/tests/assets/test.ogg');
@@ -260,7 +260,7 @@ suite('sound', function () {
260260
var sceneEl = this.el.sceneEl;
261261
var assetsEl = sceneEl.querySelector('a-assets');
262262
sceneEl.removeChild(assetsEl);
263-
process.nextTick(function () {
263+
setTimeout(function () {
264264
assetsEl = document.createElement('a-assets');
265265
var audioEl = document.createElement('audio');
266266
audioEl.setAttribute('src', 'base/tests/assets/test.ogg');
@@ -284,15 +284,15 @@ suite('sound', function () {
284284
var sceneEl = this.el.sceneEl;
285285
var assetsEl = sceneEl.querySelector('a-assets');
286286
sceneEl.removeChild(assetsEl);
287-
process.nextTick(function () {
287+
setTimeout(function () {
288288
assetsEl = document.createElement('a-assets');
289289
var assetItemEl = document.createElement('a-asset-item');
290290
assetItemEl.setAttribute('src', 'base/tests/assets/test.ogg');
291291
assetItemEl.setAttribute('id', 'testogg');
292292
assetItemEl.setAttribute('response-type', 'arraybuffer');
293293
assetsEl.appendChild(assetItemEl);
294294
sceneEl.appendChild(assetsEl);
295-
process.nextTick(function () {
295+
setTimeout(function () {
296296
var el = document.createElement('a-entity');
297297
el.setAttribute('sound', 'src', '#testogg');
298298
el.addEventListener('sound-loaded', function () {

tests/core/a-entity.test.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -617,7 +617,7 @@ suite('a-entity', function () {
617617
assert.notEqual(el.sceneEl.behaviors.test.tick.array.indexOf(el.components.test), -1);
618618
assert.notEqual(el.sceneEl.behaviors.test.tock.array.indexOf(el.components.test), -1);
619619
parentEl.removeChild(el);
620-
process.nextTick(function () {
620+
setTimeout(function () {
621621
assert.ok('test' in el.components);
622622
assert.equal(el.sceneEl.behaviors.test.tick.array.indexOf(el.components.test), -1);
623623
assert.equal(el.sceneEl.behaviors.test.tock.array.indexOf(el.components.test), -1);
@@ -668,7 +668,7 @@ suite('a-entity', function () {
668668
var bLoaded = false;
669669
el.appendChild(a);
670670
el.appendChild(b);
671-
process.nextTick(function () {
671+
setTimeout(function () {
672672
a.isNode = false;
673673
a.hasLoaded = false;
674674
b.isNode = false;
@@ -696,7 +696,7 @@ suite('a-entity', function () {
696696
var bLoaded = false;
697697
el.appendChild(a);
698698
el.appendChild(b);
699-
process.nextTick(function () {
699+
setTimeout(function () {
700700
a.isNode = false;
701701
a.hasLoaded = false;
702702
b.isNode = false;
@@ -1320,7 +1320,7 @@ suite('a-entity', function () {
13201320

13211321
test('merges component properties from mixin', function (done) {
13221322
mixinFactory('box', {geometry: 'primitive: box'});
1323-
process.nextTick(function () {
1323+
setTimeout(function () {
13241324
el.setAttribute('mixin', 'box');
13251325
el.setAttribute('geometry', {depth: 5, height: 5, width: 5});
13261326
assert.shallowDeepEqual(el.getAttribute('geometry'), {

tests/core/a-mixin.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ suite('a-mixin', function () {
2828
mixinEl.addEventListener('loaded', function () {
2929
assert.equal(el.getAttribute('geometry').primitive, 'ring');
3030
mixinEl.setAttribute('geometry', 'primitive: circle');
31-
process.nextTick(function () {
31+
setTimeout(function () {
3232
assert.equal(el.getAttribute('geometry').primitive, 'circle');
3333
done();
3434
});

0 commit comments

Comments
 (0)