mirror of
https://github.com/novnc/noVNC.git
synced 2026-05-26 07:08:06 +00:00
Expose WakeLockManager state transitions for tests
Dispatch an event on each state transition inside the WakeLockManager. This gives the unit tests something to synchronise on, allowing us to write fast, flake-free tests.
This commit is contained in:
@@ -59,8 +59,18 @@ const _STATES = {
|
||||
ERROR: 'error',
|
||||
};
|
||||
|
||||
export default class WakeLockManager {
|
||||
class TestOnlyWakeLockManagerStateChangeEvent extends Event {
|
||||
constructor(oldState, newState) {
|
||||
super("testOnlyStateChange");
|
||||
this.oldState = oldState;
|
||||
this.newState = newState;
|
||||
}
|
||||
}
|
||||
|
||||
export default class WakeLockManager extends EventTarget {
|
||||
constructor() {
|
||||
super();
|
||||
|
||||
this._state = _STATES.RELEASED;
|
||||
this._wakelock = null;
|
||||
|
||||
@@ -130,6 +140,7 @@ export default class WakeLockManager {
|
||||
let oldState = this._state;
|
||||
Log.Debug(`WakelockManager transitioning ${oldState} -> ${newState}`);
|
||||
this._state = newState;
|
||||
this.dispatchEvent(new TestOnlyWakeLockManagerStateChangeEvent(oldState, newState));
|
||||
}
|
||||
|
||||
_awaitVisible() {
|
||||
|
||||
Reference in New Issue
Block a user