mirror of
https://github.com/material-components/material-web.git
synced 2026-03-09 00:09:23 +08:00
perf(list): benchmarks for list and list-item (#977)
* perf(list): benchmarks for list and list-item * chore: run formatter
This commit is contained in:
parent
02aa8a98d1
commit
aaafc9abe3
@ -33,7 +33,7 @@
|
||||
"powerwash:ts": "rm packages/*/*.js & rm packages/*/*.js.map & rm packages/*/*.d.ts & rm packages/*/.tsbuildinfo",
|
||||
"powerwash:styling": "rm packages/*/src/*-css.ts",
|
||||
"powerwash:bench": "rm -rf test/lib & rm test/.tsbuildinfo*",
|
||||
"powerwash": "npm run powerwash:ts & npm run powerwash:styling * npm run powerwash:bench && rm -rf node_modules",
|
||||
"powerwash": "npm run powerwash:ts & npm run powerwash:styling & npm run powerwash:bench && rm -rf node_modules",
|
||||
"watch": "npm run build && node scripts/watcher.js",
|
||||
"watch:tests": "tsc --build test/tsconfig.json -w & tsc --build test/tsconfig-node.json -w"
|
||||
},
|
||||
|
||||
26
test/src/benchmark/list-item/basic.ts
Normal file
26
test/src/benchmark/list-item/basic.ts
Normal file
@ -0,0 +1,26 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2020 Google Inc. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
import '@material/mwc-list/mwc-list-item';
|
||||
|
||||
import {html} from 'lit-html';
|
||||
|
||||
import {measureFixtureCreation} from '../../util/helpers';
|
||||
|
||||
measureFixtureCreation(
|
||||
html`<mwc-list-item selected activated>Apple</mwc-list-item>`, {
|
||||
numRenders: 100,
|
||||
});
|
||||
42
test/src/benchmark/list/basic.ts
Normal file
42
test/src/benchmark/list/basic.ts
Normal file
@ -0,0 +1,42 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2020 Google Inc. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
import '@material/mwc-list';
|
||||
import '@material/mwc-list/mwc-list-item';
|
||||
|
||||
import {List} from '@material/mwc-list';
|
||||
import {ListItem} from '@material/mwc-list/mwc-list-item';
|
||||
import {html} from 'lit-html';
|
||||
|
||||
import {measureFixtureCreation} from '../../util/helpers';
|
||||
|
||||
const renderCheck = async (root: ShadowRoot) => {
|
||||
const list = root.firstElementChild as List;
|
||||
const lastItem = list.lastElementChild as ListItem;
|
||||
|
||||
await lastItem.updateComplete;
|
||||
await list.updateComplete;
|
||||
};
|
||||
|
||||
measureFixtureCreation(
|
||||
html`
|
||||
<mwc-list activatable multi>
|
||||
<mwc-list-item></mwc-list-item>
|
||||
<mwc-list-item selected activated>Apple</mwc-list-item>
|
||||
<mwc-list-item>Banana</mwc-list-item>
|
||||
<mwc-list-item selected activated>Cucumber</mwc-list-item>
|
||||
</mwc-list>`,
|
||||
{renderCheck});
|
||||
Loading…
x
Reference in New Issue
Block a user