Skip to content

Commit 7d83aca

Browse files
committed
make protractor tests work
1 parent a9fffd7 commit 7d83aca

File tree

8 files changed

+22
-35
lines changed

8 files changed

+22
-35
lines changed

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@
112112
"husky": "^1.3.1",
113113
"inquirer": "^6.2.0",
114114
"jasmine-core": "^3.3.0",
115-
"kagekiri": "^1.0.16",
115+
"kagekiri": "^1.0.18",
116116
"karma": "^4.4.1",
117117
"karma-browserstack-launcher": "^1.3.0",
118118
"karma-chrome-launcher": "^2.2.0",
@@ -128,7 +128,6 @@
128128
"minimatch": "^3.0.4",
129129
"minimist": "^1.2.0",
130130
"moment": "^2.18.1",
131-
"sass": "^1.24.4",
132131
"parse5": "^5.0.0",
133132
"protractor": "^5.4.2",
134133
"requirejs": "^2.3.6",
@@ -138,6 +137,7 @@
138137
"rollup-plugin-node-resolve": "^5.2.0",
139138
"rollup-plugin-sourcemaps": "^0.4.2",
140139
"run-sequence": "^1.2.2",
140+
"sass": "^1.24.4",
141141
"scss-bundle": "^3.0.2",
142142
"selenium-webdriver": "^3.6.0",
143143
"semver": "^6.3.0",

src/cdk/testing/kagekiri.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@
77
*/
88

99
declare module 'kagekiri' {
10-
export function querySelectorAll(selector: string, root: Element);
10+
export function querySelectorAll(selector: string, root: Element): NodeListOf<Element>;
1111
}

src/cdk/testing/protractor/protractor-harness-environment.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,11 @@ export class ProtractorHarnessEnvironment extends HarnessEnvironment<ElementFind
4747
}
4848

4949
protected async getAllRawElements(selector: string): Promise<ElementFinder[]> {
50-
const elementFinderArray = this._queryFn(selector, this.rawRootElement);
51-
const length = await elementFinderArray.count();
50+
const elementArrayFinder = this._queryFn(selector, this.rawRootElement);
51+
const length = await elementArrayFinder.count();
5252
const elements: ElementFinder[] = [];
5353
for (let i = 0; i < length; i++) {
54-
elements.push(elementFinderArray.get(i));
54+
elements.push(elementArrayFinder.get(i));
5555
}
5656
return elements;
5757
}

src/cdk/testing/tests/BUILD.bazel

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,5 @@ ng_e2e_test_library(
5454
"//src/cdk/testing",
5555
"//src/cdk/testing/private",
5656
"//src/cdk/testing/protractor",
57-
"@npm//kagekiri",
5857
],
5958
)

src/cdk/testing/tests/protractor.e2e.spec.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,17 @@ import {
66
} from '@angular/cdk/testing';
77
import {expectAsyncError} from '@angular/cdk/testing/private';
88
import {ProtractorHarnessEnvironment} from '@angular/cdk/testing/protractor';
9-
import {browser, by, ElementFinder} from 'protractor';
9+
import {browser, by, element as protractorElement, ElementFinder} from 'protractor';
1010
import {MainComponentHarness} from './harnesses/main-component-harness';
1111
import {SubComponentHarness, SubComponentSpecialHarness} from './harnesses/sub-component-harness';
12-
import {querySelectorAll as piercingQuerySelectorAll} from 'kagekiri';
1312

14-
const piercingQueryFn =
15-
(selector: string, root: ElementFinder) => root.all(by.js(function(this: any) {
16-
piercingQuerySelectorAll(selector, this);
17-
}));
13+
// TODO: is there some better way to do this?
14+
declare const kagekiri: {
15+
querySelectorAll: (selector: string, root: Element) => NodeListOf<Element>;
16+
};
17+
18+
const piercingQueryFn = (selector: string, root: ElementFinder) => protractorElement.all(by.js(
19+
(s: string, r: Element) => kagekiri.querySelectorAll(s, r), selector, root.getWebElement()));
1820

1921
describe('ProtractorHarnessEnvironment', () => {
2022
beforeEach(async () => {
@@ -465,7 +467,7 @@ describe('ProtractorHarnessEnvironment', () => {
465467

466468
describe('shadow DOM interaction', () => {
467469
it('should not pierce shadow boundary by default', async () => {
468-
const harness = await ProtractorHarnessEnvironment.loader(piercingQueryFn)
470+
const harness = await ProtractorHarnessEnvironment.loader()
469471
.getHarness(MainComponentHarness);
470472
expect(await harness.shadows()).toEqual([]);
471473
});

src/e2e-app/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ ts_devserver(
110110
static_files = [
111111
"@npm//zone.js",
112112
"@npm//core-js",
113+
"@npm//kagekiri",
113114
"@npm//material-components-web",
114115
"@npm//moment",
115116
"@npm//@webcomponents/custom-elements",

src/e2e-app/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
<!-- Static scripts which are not imported through AMD nor part of the ConcatJS bundle. -->
3030
<script src="core-js/client/core.min.js"></script>
3131
<script src="zone.js/dist/zone.min.js"></script>
32+
<script src="kagekiri/dist/kagekiri.umd.min.js"></script>
3233

3334
<!-- ConcatJS bundle from the Bazel TypeScript devserver. -->
3435
<script src="bundle.js"></script>

yarn.lock

Lines changed: 5 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3520,11 +3520,6 @@ cssesc@^0.1.0:
35203520
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4"
35213521
integrity sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=
35223522

3523-
cssesc@^3.0.0:
3524-
version "3.0.0"
3525-
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
3526-
integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
3527-
35283523
csv-streamify@^3.0.4:
35293524
version "3.0.4"
35303525
resolved "https://registry.yarnpkg.com/csv-streamify/-/csv-streamify-3.0.4.tgz#4cb614c57e3f299cca17b63fdcb4ad167777f47a"
@@ -6730,12 +6725,10 @@ jws@^3.0.0, jws@^3.1.4, jws@^3.1.5:
67306725
jwa "^1.1.5"
67316726
safe-buffer "^5.0.1"
67326727

6733-
kagekiri@^1.0.16:
6734-
version "1.0.16"
6735-
resolved "https://registry.yarnpkg.com/kagekiri/-/kagekiri-1.0.16.tgz#b4e0aeb8d57fe2e8d8f84f0d099fe35d21c529ed"
6736-
integrity sha512-/F1UiJ1CpRIOqJq8o0z9r6By2Rv2B+rC37fFbcYnKTWJ4JDXmDaEMer8NAm3afWwgRrJgkrQldXy3BL1wToMlg==
6737-
dependencies:
6738-
postcss-selector-parser nolanlawson/postcss-selector-parser#util-deprecate
6728+
kagekiri@^1.0.18:
6729+
version "1.0.18"
6730+
resolved "https://registry.yarnpkg.com/kagekiri/-/kagekiri-1.0.18.tgz#4400714f37d79e7ec80c99aa5a0a59f729c1a6a7"
6731+
integrity sha512-J0dcWXcdzMDBOm3YE5sljkPfAHenv9zELJhjlfo/mxe98CtaaIXbC9JIjOfLk8m4B9hiATmkm5vBaBPrOOSbAQ==
67396732

67406733
karma-browserstack-launcher@^1.3.0:
67416734
version "1.3.0"
@@ -8976,15 +8969,6 @@ postcss-selector-parser@^3.1.0:
89768969
indexes-of "^1.0.1"
89778970
uniq "^1.0.1"
89788971

8979-
postcss-selector-parser@nolanlawson/postcss-selector-parser#util-deprecate:
8980-
version "6.0.2"
8981-
resolved "https://codeload.github.com/nolanlawson/postcss-selector-parser/tar.gz/75e38f7a7db8d58fb033ab7d24414b55d81e5b4f"
8982-
dependencies:
8983-
cssesc "^3.0.0"
8984-
indexes-of "^1.0.1"
8985-
uniq "^1.0.1"
8986-
util-deprecate "^1.0.2"
8987-
89888972
postcss-syntax@^0.36.2:
89898973
version "0.36.2"
89908974
resolved "https://registry.yarnpkg.com/postcss-syntax/-/postcss-syntax-0.36.2.tgz#f08578c7d95834574e5593a82dfbfa8afae3b51c"
@@ -11738,7 +11722,7 @@ useragent@2.3.0:
1173811722
lru-cache "4.1.x"
1173911723
tmp "0.0.x"
1174011724

11741-
util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
11725+
util-deprecate@^1.0.1, util-deprecate@~1.0.1:
1174211726
version "1.0.2"
1174311727
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
1174411728
integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=

0 commit comments

Comments
 (0)