Skip to content

Commit 3554b2b

Browse files
committed
feat(select,input,form-field): move test harnesses out of experimental
Moves the test harnesses for the `select`, `input` and `form-field` packages out of `material-experimental`.
1 parent af6c13f commit 3554b2b

32 files changed

+127
-48
lines changed

.github/CODEOWNERS

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,6 @@
8989

9090
# Material experimental package
9191
/src/material-experimental/* @jelbourn
92-
/src/material-experimental/input/** @devversion
93-
/src/material-experimental/form-field/** @devversion
9492
/src/material-experimental/mdc-autocomplete/** @crisbeto
9593
/src/material-experimental/mdc-button/** @andrewseguin
9694
/src/material-experimental/mdc-card/** @mmalerba
@@ -112,7 +110,6 @@
112110
/src/material-experimental/mdc-theming/** @mmalerba
113111
/src/material-experimental/mdc-typography/** @mmalerba
114112
/src/material-experimental/popover-edit/** @kseamon @andrewseguin
115-
/src/material-experimental/select/** @crisbeto
116113

117114
# CDK experimental package
118115
/src/cdk-experimental/* @jelbourn

src/material-experimental/config.bzl

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
entryPoints = [
2-
"form-field/testing",
3-
"form-field/testing/control",
4-
"input/testing",
52
"mdc-autocomplete",
63
"mdc-button",
74
"mdc-button/testing",
@@ -22,14 +19,13 @@ entryPoints = [
2219
"mdc-slider",
2320
"mdc-tabs",
2421
"popover-edit",
25-
"select/testing",
2622
]
2723

2824
# List of all non-testing entry-points of the Angular material-experimental package.
2925
MATERIAL_EXPERIMENTAL_ENTRYPOINTS = [
3026
ep
3127
for ep in entryPoints
32-
if not ep.endswith("/testing")
28+
if not "/testing" in ep
3329
]
3430

3531
# List of all testing entry-points of the Angular material-experimental package.

src/material/config.bzl

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,17 @@ entryPoints = [
5353
"toolbar",
5454
"tooltip",
5555
"tree",
56+
"form-field/testing",
57+
"form-field/testing/control",
58+
"input/testing",
59+
"select/testing",
5660
]
5761

5862
# List of all non-testing entry-points of the Angular Material package.
5963
MATERIAL_ENTRYPOINTS = [
6064
ep
6165
for ep in entryPoints
62-
if not ep.endswith("/testing")
66+
if not "/testing" in ep
6367
]
6468

6569
# List of all testing entry-points of the Angular Material package.

src/material-experimental/form-field/testing/BUILD.bazel renamed to src/material/form-field/testing/BUILD.bazel

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,20 @@ ts_library(
88
["**/*.ts"],
99
exclude = ["**/*.spec.ts"],
1010
),
11-
module_name = "@angular/material-experimental/form-field/testing",
11+
module_name = "@angular/material/form-field/testing",
1212
deps = [
1313
"//src/cdk/testing",
14-
"//src/material-experimental/form-field/testing/control",
15-
"//src/material-experimental/input/testing",
16-
"//src/material-experimental/select/testing",
14+
"//src/material/form-field/testing/control",
15+
"//src/material/input/testing",
16+
"//src/material/select/testing",
1717
],
1818
)
1919

20+
filegroup(
21+
name = "source-files",
22+
srcs = glob(["**/*.ts"]),
23+
)
24+
2025
ng_test_library(
2126
name = "harness_tests_lib",
2227
srcs = ["shared.spec.ts"],
@@ -39,12 +44,12 @@ ng_test_library(
3944
deps = [
4045
":harness_tests_lib",
4146
":testing",
42-
"//src/material-experimental/input/testing",
43-
"//src/material-experimental/select/testing",
4447
"//src/material/autocomplete",
4548
"//src/material/form-field",
4649
"//src/material/input",
50+
"//src/material/input/testing",
4751
"//src/material/select",
52+
"//src/material/select/testing",
4853
],
4954
)
5055

src/material-experimental/form-field/testing/control/BUILD.bazel renamed to src/material/form-field/testing/control/BUILD.bazel

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ load("//tools:defaults.bzl", "ts_library")
55
ts_library(
66
name = "control",
77
srcs = glob(["**/*.ts"]),
8-
module_name = "@angular/material-experimental/form-field/testing/control",
8+
module_name = "@angular/material/form-field/testing/control",
99
deps = ["//src/cdk/testing"],
1010
)
11+
12+
filegroup(
13+
name = "source-files",
14+
srcs = glob(["**/*.ts"]),
15+
)

src/material-experimental/form-field/testing/form-field-harness.spec.ts renamed to src/material/form-field/testing/form-field-harness.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import {MatInputHarness} from '@angular/material-experimental/input/testing';
2-
import {MatSelectHarness} from '@angular/material-experimental/select/testing';
1+
import {MatInputHarness} from '@angular/material/input/testing';
2+
import {MatSelectHarness} from '@angular/material/select/testing';
33
import {MatAutocompleteModule} from '@angular/material/autocomplete';
44
import {MatFormFieldModule} from '@angular/material/form-field';
55
import {MatInputModule} from '@angular/material/input';

src/material-experimental/form-field/testing/form-field-harness.ts renamed to src/material/form-field/testing/form-field-harness.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,9 @@ import {
1313
HarnessQuery,
1414
TestElement
1515
} from '@angular/cdk/testing';
16-
import {
17-
MatFormFieldControlHarness
18-
} from '@angular/material-experimental/form-field/testing/control';
19-
import {MatInputHarness} from '@angular/material-experimental/input/testing';
20-
import {MatSelectHarness} from '@angular/material-experimental/select/testing';
16+
import {MatFormFieldControlHarness} from '@angular/material/form-field/testing/control';
17+
import {MatInputHarness} from '@angular/material/input/testing';
18+
import {MatSelectHarness} from '@angular/material/select/testing';
2119
import {FormFieldHarnessFilters} from './form-field-harness-filters';
2220

2321
// TODO(devversion): support datepicker harness once developed (COMP-203).

src/material-experimental/form-field/testing/public-api.ts renamed to src/material/form-field/testing/public-api.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
// Re-export everything from the "form-field/testing/control" entry-point. To avoid
1010
// circular dependencies, harnesses for default form-field controls (i.e. input, select)
1111
// need to import the base form-field control harness through a separate entry-point.
12-
export * from '@angular/material-experimental/form-field/testing/control';
12+
export * from '@angular/material/form-field/testing/control';
1313

1414
export * from './form-field-harness';
1515
export * from './form-field-harness-filters';

src/material-experimental/input/testing/BUILD.bazel renamed to src/material/input/testing/BUILD.bazel

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,19 @@ ts_library(
88
["**/*.ts"],
99
exclude = ["**/*.spec.ts"],
1010
),
11-
module_name = "@angular/material-experimental/input/testing",
11+
module_name = "@angular/material/input/testing",
1212
deps = [
1313
"//src/cdk/coercion",
1414
"//src/cdk/testing",
15-
"//src/material-experimental/form-field/testing/control",
15+
"//src/material/form-field/testing/control",
1616
],
1717
)
1818

19+
filegroup(
20+
name = "source-files",
21+
srcs = glob(["**/*.ts"]),
22+
)
23+
1924
ng_test_library(
2025
name = "harness_tests_lib",
2126
srcs = ["shared.spec.ts"],

src/material-experimental/input/testing/input-harness-filters.ts renamed to src/material/input/testing/input-harness-filters.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@
99
import {BaseHarnessFilters} from '@angular/cdk/testing';
1010

1111
export interface InputHarnessFilters extends BaseHarnessFilters {
12-
value?: string;
12+
value?: string | RegExp;
1313
}

src/material-experimental/input/testing/input-harness.ts renamed to src/material/input/testing/input-harness.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@
77
*/
88

99
import {HarnessPredicate} from '@angular/cdk/testing';
10-
import {
11-
MatFormFieldControlHarness
12-
} from '@angular/material-experimental/form-field/testing/control';
10+
import {MatFormFieldControlHarness} from '@angular/material/form-field/testing/control';
1311
import {InputHarnessFilters} from './input-harness-filters';
1412

1513
/** Harness for interacting with a standard Material inputs in tests. */
@@ -67,7 +65,7 @@ export class MatInputHarness extends MatFormFieldControlHarness {
6765
return (await (await this.host()).getProperty('type'))!;
6866
}
6967

70-
/** Gets the placeholder of the input. / */
68+
/** Gets the placeholder of the input. */
7169
async getPlaceholder(): Promise<string> {
7270
// The "placeholder" property of the native input is never undefined.
7371
return (await (await this.host()).getProperty('placeholder'))!;

src/material-experimental/select/testing/BUILD.bazel renamed to src/material/select/testing/BUILD.bazel

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,19 @@ ts_library(
88
["**/*.ts"],
99
exclude = ["**/*.spec.ts"],
1010
),
11-
module_name = "@angular/material-experimental/select/testing",
11+
module_name = "@angular/material/select/testing",
1212
deps = [
1313
"//src/cdk/coercion",
1414
"//src/cdk/testing",
15-
"//src/material-experimental/form-field/testing/control",
15+
"//src/material/form-field/testing/control",
1616
],
1717
)
1818

19+
filegroup(
20+
name = "source-files",
21+
srcs = glob(["**/*.ts"]),
22+
)
23+
1924
ng_test_library(
2025
name = "harness_tests_lib",
2126
srcs = ["shared.spec.ts"],

src/material-experimental/select/testing/select-harness.ts renamed to src/material/select/testing/select-harness.ts

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

99
import {HarnessPredicate, TestElement} from '@angular/cdk/testing';
10-
import {
11-
MatFormFieldControlHarness
12-
} from '@angular/material-experimental/form-field/testing/control';
10+
import {MatFormFieldControlHarness} from '@angular/material/form-field/testing/control';
1311
import {SelectHarnessFilters} from './select-harness-filters';
1412
import {MatSelectOptionHarness, MatSelectOptionGroupHarness} from './option-harness';
1513

test/karma-system-config.js

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -168,14 +168,14 @@ System.config({
168168
'@angular/material/tooltip': 'dist/packages/material/tooltip/index.js',
169169
'@angular/material/tree': 'dist/packages/material/tree/index.js',
170170

171-
'@angular/material-experimental/form-field/testing':
172-
'dist/packages/material-experimental/form-field/testing/index.js',
173-
'@angular/material-experimental/form-field/testing/control':
174-
'dist/packages/material-experimental/form-field/testing/control/index.js',
175-
'@angular/material-experimental/form-field/testing/shared.spec':
176-
'dist/packages/material-experimental/form-field/testing/shared.spec.js',
177-
'@angular/material-experimental/input/testing':
178-
'dist/packages/material-experimental/input/testing/index.js',
171+
'@angular/material/form-field/testing':
172+
'dist/packages/material/form-field/testing/index.js',
173+
'@angular/material/form-field/testing/control':
174+
'dist/packages/material/form-field/testing/control/index.js',
175+
'@angular/material/form-field/testing/shared.spec':
176+
'dist/packages/material/form-field/testing/shared.spec.js',
177+
'@angular/material/input/testing':
178+
'dist/packages/material/input/testing/index.js',
179179
'@angular/material-experimental/mdc-autocomplete':
180180
'dist/packages/material-experimental/mdc-autocomplete/index.js',
181181
'@angular/material-experimental/mdc-button':
@@ -204,10 +204,10 @@ System.config({
204204
'dist/packages/material-experimental/mdc-progress-bar/index.js',
205205
'@angular/material-experimental/popover-edit':
206206
'dist/packages/material-experimental/popover-edit/index.js',
207-
'@angular/material-experimental/select/testing':
208-
'dist/packages/material-experimental/select/testing/index.js',
209-
'@angular/material-experimental/select/testing/shared.spec':
210-
'dist/packages/material-experimental/select/testing/shared.spec.js',
207+
'@angular/material/select/testing':
208+
'dist/packages/material/select/testing/index.js',
209+
'@angular/material/select/testing/shared.spec':
210+
'dist/packages/material/select/testing/shared.spec.js',
211211
},
212212
packages: {
213213
// Thirdparty barrels.
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
export declare type FormFieldControlHarness = MatInputHarness | MatSelectHarness;
2+
3+
export interface FormFieldHarnessFilters extends BaseHarnessFilters {
4+
}
5+
6+
export declare class MatFormFieldHarness extends ComponentHarness {
7+
getAppearance(): Promise<'legacy' | 'standard' | 'fill' | 'outline'>;
8+
getControl(): Promise<FormFieldControlHarness | null>;
9+
getControl<X extends MatFormFieldControlHarness>(type: ComponentHarnessConstructor<X>): Promise<X | null>;
10+
getControl<X extends MatFormFieldControlHarness>(type: HarnessPredicate<X>): Promise<X | null>;
11+
getErrorMessages(): Promise<string[]>;
12+
getHintMessages(): Promise<string[]>;
13+
getLabel(): Promise<string | null>;
14+
getPrefixContainer(): Promise<TestElement | null>;
15+
getSuffixContainer(): Promise<TestElement | null>;
16+
getThemeColor(): Promise<'primary' | 'accent' | 'warn'>;
17+
hasFloatingLabel(): Promise<boolean>;
18+
hasLabel(): Promise<boolean>;
19+
isAutofilled(): Promise<boolean>;
20+
isControlDirty(): Promise<boolean | null>;
21+
isControlPending(): Promise<boolean | null>;
22+
isControlTouched(): Promise<boolean | null>;
23+
isControlValid(): Promise<boolean | null>;
24+
isDisabled(): Promise<boolean>;
25+
isLabelFloating(): Promise<boolean>;
26+
static hostSelector: string;
27+
static with(options?: FormFieldHarnessFilters): HarnessPredicate<MatFormFieldHarness>;
28+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
export interface InputHarnessFilters extends BaseHarnessFilters {
2+
value?: string | RegExp;
3+
}
4+
5+
export declare class MatInputHarness extends MatFormFieldControlHarness {
6+
blur(): Promise<void>;
7+
focus(): Promise<void>;
8+
getId(): Promise<string>;
9+
getName(): Promise<string>;
10+
getPlaceholder(): Promise<string>;
11+
getType(): Promise<string>;
12+
getValue(): Promise<string>;
13+
isDisabled(): Promise<boolean>;
14+
isReadonly(): Promise<boolean>;
15+
isRequired(): Promise<boolean>;
16+
setValue(newValue: string): Promise<void>;
17+
static hostSelector: string;
18+
static with(options?: InputHarnessFilters): HarnessPredicate<MatInputHarness>;
19+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
export declare class MatSelectHarness extends MatFormFieldControlHarness {
2+
blur(): Promise<void>;
3+
close(): Promise<void>;
4+
focus(): Promise<void>;
5+
getOptionGroups(): Promise<MatSelectOptionGroupHarness[]>;
6+
getOptions(): Promise<MatSelectOptionHarness[]>;
7+
getPanel(): Promise<TestElement>;
8+
getValueText(): Promise<string>;
9+
isDisabled(): Promise<boolean>;
10+
isEmpty(): Promise<boolean>;
11+
isMultiple(): Promise<boolean>;
12+
isOpen(): Promise<boolean>;
13+
isRequired(): Promise<boolean>;
14+
isValid(): Promise<boolean>;
15+
open(): Promise<void>;
16+
static hostSelector: string;
17+
static with(options?: SelectHarnessFilters): HarnessPredicate<MatSelectHarness>;
18+
}
19+
20+
export interface SelectHarnessFilters extends BaseHarnessFilters {
21+
}

0 commit comments

Comments
 (0)