Skip to content

Commit

Permalink
Move shared test helpers into their own file
Browse files Browse the repository at this point in the history
  • Loading branch information
philipwalton committed Aug 18, 2018
1 parent b2bc274 commit 9edd84b
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 15 deletions.
32 changes: 32 additions & 0 deletions test/unit/helpers.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/**
* Copyright 2018 Google Inc. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

import {queueMicrotask, rIC} from '../../lib/utilities';


export const when = async (fn, intervalMillis = 100, retries = 20) => {
for (let i = 0; i < retries; i++) {
const result = await fn();
if (result) {
return;
}
await new Promise((resolve) => setTimeout(resolve, intervalMillis));
}
throw new Error(`${fn} didn't return true after ${retries} retries.`);
};

export const nextMicroTask = () => new Promise((res) => queueMicrotask(res));
export const nextIdleCallback = () => new Promise((res) => rIC(res));
18 changes: 3 additions & 15 deletions test/unit/idle-queue-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,10 @@


import {dispatch} from 'dom-utils';
import {nextMicroTask, nextIdleCallback, when} from './helpers';
import IdleQueue from '../../lib/idle-queue';
import {isSafari, queueMicrotask, rIC} from '../../lib/utilities';
import {isSafari, rIC} from '../../lib/utilities';


const sandbox = sinon.createSandbox();

Expand Down Expand Up @@ -49,20 +51,6 @@ const blockingSpy = (ms) => {
});
};

const when = async (fn, intervalMillis = 100, retries = 20) => {
for (let i = 0; i < retries; i++) {
const result = await fn();
if (result) {
return;
}
await new Promise((resolve) => setTimeout(resolve, intervalMillis));
}
throw new Error(`${fn} didn't return true after ${retries} retries.`);
};

const nextMicroTask = () => new Promise((res) => queueMicrotask(res));
const nextIdleCallback = () => new Promise((res) => rIC(res));

describe('IdleQueue', () => {
beforeEach(() => {
sandbox.restore();
Expand Down

0 comments on commit 9edd84b

Please sign in to comment.