Skip to content

Commit 0cbd052

Browse files
authored
docs(material/slider): add harness example for slider (#21466)
1 parent 200d421 commit 0cbd052

File tree

5 files changed

+79
-0
lines changed

5 files changed

+79
-0
lines changed

src/components-examples/material/slider/BUILD.bazel

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,17 @@ ng_module(
1111
]),
1212
module_name = "@angular/components-examples/material/slider",
1313
deps = [
14+
"//src/cdk/testing",
15+
"//src/cdk/testing/testbed",
1416
"//src/material/card",
1517
"//src/material/checkbox",
1618
"//src/material/input",
1719
"//src/material/slider",
20+
"//src/material/slider/testing",
1821
"@npm//@angular/forms",
22+
"@npm//@angular/platform-browser",
23+
"@npm//@angular/platform-browser-dynamic",
24+
"@npm//@types/jasmine",
1925
],
2026
)
2127

src/components-examples/material/slider/index.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,19 @@ import {MatSliderModule} from '@angular/material/slider';
88
import {SliderConfigurableExample} from './slider-configurable/slider-configurable-example';
99
import {SliderFormattingExample} from './slider-formatting/slider-formatting-example';
1010
import {SliderOverviewExample} from './slider-overview/slider-overview-example';
11+
import {SliderHarnessExample} from './slider-harness/slider-harness-example';
1112

1213
export {
1314
SliderConfigurableExample,
1415
SliderFormattingExample,
16+
SliderHarnessExample,
1517
SliderOverviewExample,
1618
};
1719

1820
const EXAMPLES = [
1921
SliderConfigurableExample,
2022
SliderFormattingExample,
23+
SliderHarnessExample,
2124
SliderOverviewExample,
2225
];
2326

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<mat-slider value="50"></mat-slider>
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
import {TestBed, ComponentFixture, waitForAsync} from '@angular/core/testing';
2+
import {TestbedHarnessEnvironment} from '@angular/cdk/testing/testbed';
3+
import {MatSliderHarness} from '@angular/material/slider/testing';
4+
import {HarnessLoader} from '@angular/cdk/testing';
5+
import {BrowserDynamicTestingModule, platformBrowserDynamicTesting}
6+
from '@angular/platform-browser-dynamic/testing';
7+
import {MatSliderModule} from '@angular/material/slider';
8+
import {SliderHarnessExample} from './slider-harness-example';
9+
10+
describe('SliderHarnessExample', () => {
11+
let fixture: ComponentFixture<SliderHarnessExample>;
12+
let loader: HarnessLoader;
13+
14+
beforeAll(() => {
15+
TestBed.initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting());
16+
});
17+
18+
beforeEach(
19+
waitForAsync(() => {
20+
TestBed.configureTestingModule({
21+
imports: [MatSliderModule],
22+
declarations: [SliderHarnessExample]
23+
}).compileComponents();
24+
fixture = TestBed.createComponent(SliderHarnessExample);
25+
fixture.detectChanges();
26+
loader = TestbedHarnessEnvironment.loader(fixture);
27+
})
28+
);
29+
30+
it('should load all slider harnesses', async () => {
31+
const sliders = await loader.getAllHarnesses(MatSliderHarness);
32+
expect(sliders.length).toBe(1);
33+
});
34+
35+
it('should get value of slider', async () => {
36+
const slider = await loader.getHarness(MatSliderHarness);
37+
expect(await slider.getValue()).toBe(50);
38+
});
39+
40+
it('should get percentage of slider', async () => {
41+
const slider = await loader.getHarness(MatSliderHarness);
42+
expect(await slider.getPercentage()).toBe(0.5);
43+
});
44+
45+
it('should get max value of slider', async () => {
46+
const slider = await loader.getHarness(MatSliderHarness);
47+
expect(await slider.getMaxValue()).toBe(100);
48+
});
49+
50+
51+
it('should be able to set value of slider', async () => {
52+
const slider = await loader.getHarness(MatSliderHarness);
53+
expect(await slider.getValue()).toBe(50);
54+
55+
await slider.setValue(33);
56+
57+
expect(await slider.getValue()).toBe(33);
58+
});
59+
});
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import {Component} from '@angular/core';
2+
3+
/**
4+
* @title Testing with MatSliderHarness
5+
*/
6+
@Component({
7+
selector: 'slider-harness-example',
8+
templateUrl: 'slider-harness-example.html',
9+
})
10+
export class SliderHarnessExample {}

0 commit comments

Comments
 (0)