| Index: samples/third_party/dromaeo/tests/dom-query-htmlfast.dart
|
| diff --git a/samples/third_party/dromaeo/tests/dom-query-htmlfast.dart b/samples/third_party/dromaeo/tests/dom-query-htmlfast.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d6017b74b0cb524eefff7d7dc71f91e69e4944b3
|
| --- /dev/null
|
| +++ b/samples/third_party/dromaeo/tests/dom-query-htmlfast.dart
|
| @@ -0,0 +1,112 @@
|
| +#library("dom_query");
|
| +#import("dart:html");
|
| +#import('../common/common.dart');
|
| +#import('runner.dart');
|
| +
|
| +void main() {
|
| + final int num = 40;
|
| +
|
| + // Try to force real results.
|
| + var ret;
|
| +
|
| + String html = document.body.innerHTML;
|
| +
|
| + new Suite(window, 'dom-query')
|
| + .prep(() {
|
| + html = BenchUtil.replaceAll(html, 'id="test(\\w).*?"', (Match match) {
|
| + final group = match.group(1);
|
| + return 'id="test${group}${num}"';
|
| + });
|
| + html = BenchUtil.replaceAll(html, 'name="test.*?"', (Match match) {
|
| + return 'name="test${num}"';
|
| + });
|
| + html = BenchUtil.replaceAll(html, 'class="foo.*?"', (Match match) {
|
| + return 'class="foo test${num} bar"';
|
| + });
|
| + final div = new Element.tag('div');
|
| + div.innerHTML = html;
|
| + document.body.$dom_appendChild(div);
|
| + })
|
| + .test('getElementById', () {
|
| + for (int i = 0; i < num * 30; i++) {
|
| + ret = document.$dom_getElementById('testA$num').hidden;
|
| + ret = document.$dom_getElementById('testB$num').hidden;
|
| + ret = document.$dom_getElementById('testC$num').hidden;
|
| + ret = document.$dom_getElementById('testD$num').hidden;
|
| + ret = document.$dom_getElementById('testE$num').hidden;
|
| + ret = document.$dom_getElementById('testF$num').hidden;
|
| + }
|
| + })
|
| + .test('getElementById (not in document)', () {
|
| + for (int i = 0; i < num * 30; i++) {
|
| + ret = document.$dom_getElementById('testA');
|
| + ret = document.$dom_getElementById('testB');
|
| + ret = document.$dom_getElementById('testC');
|
| + ret = document.$dom_getElementById('testD');
|
| + ret = document.$dom_getElementById('testE');
|
| + ret = document.$dom_getElementById('testF');
|
| + }
|
| + })
|
| + .test('getElementsByTagName(div)', () {
|
| + for (int i = 0; i < num; i++) {
|
| + final elems = document.$dom_getElementsByTagName('div');
|
| + for (int j = 0, len = elems.length; j < len; j++) {
|
| + ret = elems[j].hidden;
|
| + }
|
| + }
|
| + })
|
| + .test('getElementsByTagName(p)', () {
|
| + for (int i = 0; i < num; i++) {
|
| + final elems = document.$dom_getElementsByTagName('p');
|
| + for (int j = 0, len = elems.length; j < len; j++) {
|
| + ret = elems[j].hidden;
|
| + }
|
| + }
|
| + })
|
| + .test('getElementsByTagName(a)', () {
|
| + for (int i = 0; i < num; i++) {
|
| + final elems = document.$dom_getElementsByTagName('a');
|
| + for (int j = 0, len = elems.length; j < len; j++) {
|
| + ret = elems[j].hidden;
|
| + }
|
| + }
|
| + })
|
| + .test('getElementsByTagName(*)', () {
|
| + for (int i = 0; i < num; i++) {
|
| + var elems = document.$dom_getElementsByTagName('*');
|
| + for (int j = 0, len = elems.length; j < len; j++) {
|
| + ret = elems[j].hidden;
|
| + }
|
| + }
|
| + })
|
| + .test('getElementsByTagName (not in document)', () {
|
| + for (int i = 0; i < num; i++) {
|
| + final elems = document.$dom_getElementsByTagName('strong');
|
| + for (int j = 0, len = elems.length; j < len; j++) {
|
| + ret = elems[j].hidden;
|
| + }
|
| + }
|
| + })
|
| + .test('getElementsByName', () {
|
| + for (int i = 0; i < num * 20; i++) {
|
| + var elems = document.$dom_getElementsByName('test$num');
|
| + ret = elems[elems.length-1].nodeType;
|
| + elems = document.$dom_getElementsByName('test$num');
|
| + ret = elems[elems.length-1].nodeType;
|
| + elems = document.$dom_getElementsByName('test$num');
|
| + ret = elems[elems.length-1].nodeType;
|
| + elems = document.$dom_getElementsByName('test$num');
|
| + ret = elems[elems.length-1].nodeType;
|
| + }
|
| + })
|
| + .test('getElementsByName (not in document)', () {
|
| + for (int i = 0; i < num * 20; i++) {
|
| + ret = document.$dom_getElementsByName('test').length == 0;
|
| + ret = document.$dom_getElementsByName('test').length == 0;
|
| + ret = document.$dom_getElementsByName('test').length == 0;
|
| + ret = document.$dom_getElementsByName('test').length == 0;
|
| + ret = document.$dom_getElementsByName('test').length == 0;
|
| + }
|
| + })
|
| + .end();
|
| +}
|
|
|