diff options
Diffstat (limited to 'third_party/webkit/PerformanceTests/StyleBench/resources/tests.js')
-rw-r--r-- | third_party/webkit/PerformanceTests/StyleBench/resources/tests.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/third_party/webkit/PerformanceTests/StyleBench/resources/tests.js b/third_party/webkit/PerformanceTests/StyleBench/resources/tests.js new file mode 100644 index 0000000000..85778316fa --- /dev/null +++ b/third_party/webkit/PerformanceTests/StyleBench/resources/tests.js @@ -0,0 +1,40 @@ +function makeSteps(configuration) +{ + const steps = []; + for (i = 0; i < configuration.stepCount; ++i) { + steps.push(new BenchmarkTestStep(`Adding classes - ${i}`, (bench, contentWindow, contentDocument) => { + bench.addClasses(configuration.mutationsPerStep); + })); + steps.push(new BenchmarkTestStep(`Removing classes - ${i}`, (bench, contentWindow, contentDocument) => { + bench.removeClasses(configuration.mutationsPerStep); + })); + steps.push(new BenchmarkTestStep(`Mutating attributes - ${i}`, (bench, contentWindow, contentDocument) => { + bench.mutateAttributes(configuration.mutationsPerStep); + })); + steps.push(new BenchmarkTestStep(`Adding leaf elements - ${i}`, (bench, contentWindow, contentDocument) => { + bench.addLeafElements(configuration.mutationsPerStep); + })); + steps.push(new BenchmarkTestStep(`Removing leaf elements - ${i}`, (bench, contentWindow, contentDocument) => { + bench.removeLeafElements(configuration.mutationsPerStep); + })); + } + return steps; +} + +function makeSuite(configuration) +{ + return { + name: configuration.name, + url: 'style-bench.html', + prepare: (runner, contentWindow, contentDocument) => { + return runner.waitForElement('#testroot').then((element) => { + return contentWindow.createBenchmark(configuration); + }); + }, + tests: makeSteps(configuration), + }; +} + +var Suites = []; +for (const configuration of StyleBench.predefinedConfigurations()) + Suites.push(makeSuite(configuration)); |