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..344d963b51bd --- /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 './index'; + +describe('MDC-based MatInputHarness', () => { + runHarnessTests(MatInputModule, MatInputHarness); +}); 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..bba575f10d58 --- /dev/null +++ b/src/material-experimental/mdc-input/testing/public-api.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 {InputHarnessFilters, MatInputHarness} from '@angular/material/input/testing';