-
Notifications
You must be signed in to change notification settings - Fork 6.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
test(button): add performance tests for mat-raised-button (#19545)
- Loading branch information
1 parent
219b4ea
commit 286fd99
Showing
4 changed files
with
108 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
load("@npm_angular_dev_infra_private//benchmark/component_benchmark:component_benchmark.bzl", "component_benchmark") | ||
|
||
# TODO(wagnermaciel): Update this target to provide indigo-pink in a way that doesn't require having to import it with | ||
# stylesUrls inside the components once `component_benchmark` supports asset injection. | ||
|
||
component_benchmark( | ||
name = "benchmark", | ||
driver = ":button.perf-spec.ts", | ||
driver_deps = [ | ||
"@npm//@angular/dev-infra-private", | ||
"@npm//protractor", | ||
"@npm//@types/jasmine", | ||
], | ||
ng_deps = [ | ||
"@npm//@angular/core", | ||
"@npm//@angular/platform-browser", | ||
"//src/material/button", | ||
], | ||
ng_srcs = [":app.module.ts"], | ||
prefix = "", | ||
styles = ["//src/material/prebuilt-themes:indigo-pink"], | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
/** | ||
* @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 {Component, NgModule, ViewEncapsulation} from '@angular/core'; | ||
import {BrowserModule} from '@angular/platform-browser'; | ||
import {MatButtonModule} from '@angular/material/button'; | ||
|
||
@Component({ | ||
selector: 'app-root', | ||
template: ` | ||
<button id="show" (click)="show()">Show</button> | ||
<button id="hide" (click)="hide()">Hide</button> | ||
<button *ngIf="isVisible" mat-raised-button>Basic</button> | ||
`, | ||
encapsulation: ViewEncapsulation.None, | ||
styleUrls: ['//src/material/core/theming/prebuilt/indigo-pink.css'], | ||
}) | ||
export class ButtonBenchmarkApp { | ||
isChecked = false; | ||
isVisible = false; | ||
|
||
show() { this.isVisible = true; } | ||
hide() { this.isVisible = false; } | ||
} | ||
|
||
|
||
@NgModule({ | ||
declarations: [ButtonBenchmarkApp], | ||
imports: [ | ||
BrowserModule, | ||
MatButtonModule, | ||
], | ||
providers: [], | ||
bootstrap: [ButtonBenchmarkApp], | ||
}) | ||
export class AppModule {} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
/** | ||
* @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 {$, browser} from 'protractor'; | ||
import {runBenchmark} from '@angular/dev-infra-private/benchmark/driver-utilities'; | ||
|
||
describe('button performance benchmarks', () => { | ||
beforeAll(() => { | ||
browser.rootEl = '#root'; | ||
}); | ||
|
||
it('renders a basic raised button', async() => { | ||
await runBenchmark({ | ||
id: 'button-render', | ||
url: '', | ||
ignoreBrowserSynchronization: true, | ||
params: [], | ||
prepare: async () => await $('#hide').click(), | ||
work: async () => await $('#show').click(), | ||
}); | ||
}); | ||
|
||
it('clicks a basic raised button', async() => { | ||
await runBenchmark({ | ||
id: 'button-click', | ||
url: '', | ||
ignoreBrowserSynchronization: true, | ||
params: [], | ||
setup: async () => await $('#show').click(), | ||
work: async () => await $('.mat-raised-button').click(), | ||
}); | ||
}); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters