blob: a56489baaf4d06d0b46f659ae8be2d10ffc61238 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
const verifyEntries = (entries, filterOptions) => {
for (const filterOption of filterOptions) {
let countBeforeFiltering = entries.length;
// Using negate of the condition so that the next filtering is applied on less entries.
entries = entries.filter(
e => !(e.entryType == filterOption['entryType'] && e.name.includes(filterOption['name'])));
assert_equals(
countBeforeFiltering - entries.length, filterOption['expectedCount'], filterOption['failureMsg']);
}
}
const createFilterOption = (name, entryType, expectedCount, msgPrefix, description = '') => {
if (description) {
description = ' ' + description;
}
let failureMsg =
`${msgPrefix} should have ${expectedCount} ${entryType} entries for name ${name}` + description;
return {
name: name,
entryType: entryType,
expectedCount: expectedCount,
failureMsg: failureMsg
};
}
const loadChildFrame = (src) => {
return new Promise(resolve => {
const childFrame = document.createElement('iframe');
childFrame.addEventListener("load", resolve);
childFrame.src = src;
document.body.appendChild(childFrame);
});
}
const loadChildFrameAndGrandchildFrame = (src) => {
return new Promise(resolve => {
const crossOriginChildFrame = document.createElement('iframe');
// Wait for the child frame to send a message. The child frame would send a message
// when it loads its child frame.
window.addEventListener('message', e => {
if (e.data == 'Load completed') {
resolve();
}
});
crossOriginChildFrame.src = src;
document.body.appendChild(crossOriginChildFrame)
});
}
|