From 0d5b4a1886d1108b795669efad96e033f2bb2be7 Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Mon, 20 Jan 2020 12:18:07 +0100 Subject: [PATCH 1/3] feat(material-experimental/mdc-input): add test harness --- src/material-experimental/config.bzl | 1 + .../mdc-input/testing/BUILD.bazel | 48 +++++++++++++++++++ .../mdc-input/testing/index.ts | 9 ++++ .../mdc-input/testing/input-harness.spec.ts | 7 +++ .../mdc-input/testing/input-harness.ts | 14 ++++++ .../mdc-input/testing/public-api.ts | 10 ++++ 6 files changed, 89 insertions(+) create mode 100644 src/material-experimental/mdc-input/testing/BUILD.bazel create mode 100644 src/material-experimental/mdc-input/testing/index.ts create mode 100644 src/material-experimental/mdc-input/testing/input-harness.spec.ts create mode 100644 src/material-experimental/mdc-input/testing/input-harness.ts create mode 100644 src/material-experimental/mdc-input/testing/public-api.ts diff --git a/src/material-experimental/config.bzl b/src/material-experimental/config.bzl index 498a95582e28..8467738ff3c3 100644 --- a/src/material-experimental/config.bzl +++ b/src/material-experimental/config.bzl @@ -10,6 +10,7 @@ entryPoints = [ "mdc-form-field", "mdc-form-field/testing", "mdc-input", + "mdc-input/testing", "mdc-list", "mdc-menu", "mdc-menu/testing", diff --git a/src/material-experimental/mdc-input/testing/BUILD.bazel b/src/material-experimental/mdc-input/testing/BUILD.bazel new file mode 100644 index 000000000000..b441288bcbb1 --- /dev/null +++ b/src/material-experimental/mdc-input/testing/BUILD.bazel @@ -0,0 +1,48 @@ +package(default_visibility = ["//visibility:public"]) + +load("//tools:defaults.bzl", "ng_test_library", "ng_web_test_suite", "ts_library") + +ts_library( + name = "testing", + srcs = glob( + ["**/*.ts"], + exclude = ["**/*.spec.ts"], + ), + module_name = "@angular/material-experimental/mdc-input/testing", + deps = [ + "//src/material/form-field/testing/control", + "//src/material/input/testing", + ], +) + +filegroup( + name = "source-files", + srcs = glob(["**/*.ts"]), +) + +ng_test_library( + name = "unit_tests_lib", + srcs = glob( + ["**/*.spec.ts"], + exclude = ["shared.spec.ts"], + ), + deps = [ + ":testing", + "//src/material-experimental/mdc-input", + "//src/material/input/testing:harness_tests_lib", + ], +) + +ng_web_test_suite( + name = "unit_tests", + static_files = [ + "@npm//:node_modules/@material/textfield/dist/mdc.textfield.js", + "@npm//:node_modules/@material/line-ripple/dist/mdc.lineRipple.js", + "@npm//:node_modules/@material/notched-outline/dist/mdc.notchedOutline.js", + "@npm//:node_modules/@material/floating-label/dist/mdc.floatingLabel.js", + ], + deps = [ + ":unit_tests_lib", + "//src/material-experimental:mdc_require_config.js", + ], +) diff --git a/src/material-experimental/mdc-input/testing/index.ts b/src/material-experimental/mdc-input/testing/index.ts new file mode 100644 index 000000000000..676ca90f1ffa --- /dev/null +++ b/src/material-experimental/mdc-input/testing/index.ts @@ -0,0 +1,9 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +export * from './public-api'; diff --git a/src/material-experimental/mdc-input/testing/input-harness.spec.ts b/src/material-experimental/mdc-input/testing/input-harness.spec.ts new file mode 100644 index 000000000000..f11cd9a647d8 --- /dev/null +++ b/src/material-experimental/mdc-input/testing/input-harness.spec.ts @@ -0,0 +1,7 @@ +import {MatInputModule} from '@angular/material-experimental/mdc-input'; +import {runHarnessTests} from '@angular/material/input/testing/shared.spec'; +import {MatInputHarness} from './input-harness'; + +describe('MDC-based MatInputHarness', () => { + runHarnessTests(MatInputModule, MatInputHarness); +}); diff --git a/src/material-experimental/mdc-input/testing/input-harness.ts b/src/material-experimental/mdc-input/testing/input-harness.ts new file mode 100644 index 000000000000..3cb57d8b8d51 --- /dev/null +++ b/src/material-experimental/mdc-input/testing/input-harness.ts @@ -0,0 +1,14 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +import {MatInputHarness as BaseInputHarness} from '@angular/material/input/testing'; + +/** Harness for interacting with a MDC-based Material inputs in tests. */ +export class MatInputHarness extends BaseInputHarness { + static hostSelector = '.mat-mdc-input-element'; +} diff --git a/src/material-experimental/mdc-input/testing/public-api.ts b/src/material-experimental/mdc-input/testing/public-api.ts new file mode 100644 index 000000000000..182852907f04 --- /dev/null +++ b/src/material-experimental/mdc-input/testing/public-api.ts @@ -0,0 +1,10 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +export {InputHarnessFilters} from '@angular/material/input/testing'; +export {MatInputHarness} from './input-harness'; From 6fd391786e5a779e076e5a9edf385e06a5c64fe9 Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Thu, 23 Jan 2020 10:07:32 +0100 Subject: [PATCH 2/3] fixup! feat(material-experimental/mdc-input): add test harness Address feedback --- src/material-experimental/mdc-input/testing/input-harness.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/material-experimental/mdc-input/testing/input-harness.ts b/src/material-experimental/mdc-input/testing/input-harness.ts index 3cb57d8b8d51..bdab54ec4fb6 100644 --- a/src/material-experimental/mdc-input/testing/input-harness.ts +++ b/src/material-experimental/mdc-input/testing/input-harness.ts @@ -9,6 +9,4 @@ import {MatInputHarness as BaseInputHarness} from '@angular/material/input/testing'; /** Harness for interacting with a MDC-based Material inputs in tests. */ -export class MatInputHarness extends BaseInputHarness { - static hostSelector = '.mat-mdc-input-element'; -} +export class MatInputHarness extends BaseInputHarness {} From f13fa3045e656b8ceb8a797f1f052795948dc3e3 Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Thu, 23 Jan 2020 21:20:49 +0100 Subject: [PATCH 3/3] fixup! feat(material-experimental/mdc-input): add test harness Address feedback --- .../mdc-input/testing/input-harness.spec.ts | 2 +- .../mdc-input/testing/input-harness.ts | 12 ------------ .../mdc-input/testing/public-api.ts | 3 +-- 3 files changed, 2 insertions(+), 15 deletions(-) delete mode 100644 src/material-experimental/mdc-input/testing/input-harness.ts diff --git a/src/material-experimental/mdc-input/testing/input-harness.spec.ts b/src/material-experimental/mdc-input/testing/input-harness.spec.ts index f11cd9a647d8..344d963b51bd 100644 --- a/src/material-experimental/mdc-input/testing/input-harness.spec.ts +++ b/src/material-experimental/mdc-input/testing/input-harness.spec.ts @@ -1,6 +1,6 @@ import {MatInputModule} from '@angular/material-experimental/mdc-input'; import {runHarnessTests} from '@angular/material/input/testing/shared.spec'; -import {MatInputHarness} from './input-harness'; +import {MatInputHarness} from './index'; describe('MDC-based MatInputHarness', () => { runHarnessTests(MatInputModule, MatInputHarness); diff --git a/src/material-experimental/mdc-input/testing/input-harness.ts b/src/material-experimental/mdc-input/testing/input-harness.ts deleted file mode 100644 index bdab54ec4fb6..000000000000 --- a/src/material-experimental/mdc-input/testing/input-harness.ts +++ /dev/null @@ -1,12 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -import {MatInputHarness as BaseInputHarness} from '@angular/material/input/testing'; - -/** Harness for interacting with a MDC-based Material inputs in tests. */ -export class MatInputHarness extends BaseInputHarness {} diff --git a/src/material-experimental/mdc-input/testing/public-api.ts b/src/material-experimental/mdc-input/testing/public-api.ts index 182852907f04..bba575f10d58 100644 --- a/src/material-experimental/mdc-input/testing/public-api.ts +++ b/src/material-experimental/mdc-input/testing/public-api.ts @@ -6,5 +6,4 @@ * found in the LICENSE file at https://angular.io/license */ -export {InputHarnessFilters} from '@angular/material/input/testing'; -export {MatInputHarness} from './input-harness'; +export {InputHarnessFilters, MatInputHarness} from '@angular/material/input/testing';