OLD | NEW |
| (Empty) |
1 #library("dom_query"); | |
2 #import("dart:dom_deprecated"); | |
3 #import('../common/common.dart'); | |
4 #import("dart:math", prefix: "Math"); | |
5 #source("Common.dart"); | |
6 #source("RunnerSuite.dart"); | |
7 | |
8 void main() { | |
9 final int num = 40; | |
10 | |
11 // Try to force real results. | |
12 var ret; | |
13 | |
14 String html = document.body.innerHTML; | |
15 | |
16 new Suite(window, 'dom-query') | |
17 .prep(() { | |
18 html = BenchUtil.replaceAll(html, 'id="test(\\w).*?"', (Match match) { | |
19 final group = match.group(1); | |
20 return 'id="test${group}${num}"'; | |
21 }); | |
22 html = BenchUtil.replaceAll(html, 'name="test.*?"', (Match match) { | |
23 return 'name="test${num}"'; | |
24 }); | |
25 html = BenchUtil.replaceAll(html, 'class="foo.*?"', (Match match) { | |
26 return 'class="foo test${num} bar"'; | |
27 }); | |
28 final div = document.createElement('div'); | |
29 div.innerHTML = html; | |
30 document.body.appendChild(div); | |
31 }) | |
32 .test('getElementById', () { | |
33 for (int i = 0; i < num * 30; i++) { | |
34 ret = document.getElementById('testA$num').nodeType; | |
35 ret = document.getElementById('testB$num').nodeType; | |
36 ret = document.getElementById('testC$num').nodeType; | |
37 ret = document.getElementById('testD$num').nodeType; | |
38 ret = document.getElementById('testE$num').nodeType; | |
39 ret = document.getElementById('testF$num').nodeType; | |
40 } | |
41 }) | |
42 .test('getElementById (not in document)', () { | |
43 for (int i = 0; i < num * 30; i++) { | |
44 ret = document.getElementById('testA'); | |
45 ret = document.getElementById('testB'); | |
46 ret = document.getElementById('testC'); | |
47 ret = document.getElementById('testD'); | |
48 ret = document.getElementById('testE'); | |
49 ret = document.getElementById('testF'); | |
50 } | |
51 }) | |
52 .test('getElementsByTagName(div)', () { | |
53 for (int i = 0; i < num; i++) { | |
54 List<Element> elems = document.getElementsByTagName('div'); | |
55 ret = elems[elems.length-1].nodeType; | |
56 } | |
57 }) | |
58 .test('getElementsByTagName(p)', () { | |
59 for (int i = 0; i < num; i++) { | |
60 List<Element> elems = document.getElementsByTagName('p'); | |
61 ret = elems[elems.length-1].nodeType; | |
62 } | |
63 }) | |
64 .test('getElementsByTagName(a)', () { | |
65 for (int i = 0; i < num; i++) { | |
66 List<Element> elems = document.getElementsByTagName('a'); | |
67 ret = elems[elems.length-1].nodeType; | |
68 } | |
69 }) | |
70 .test('getElementsByTagName(*)', () { | |
71 for (int i = 0; i < num; i++) { | |
72 List<Element> elems = document.getElementsByTagName('*'); | |
73 ret = elems[elems.length-1].nodeType; | |
74 } | |
75 }) | |
76 .test('getElementsByTagName (not in document)', () { | |
77 for (int i = 0; i < num; i++) { | |
78 List<Element> elems = document.getElementsByTagName('strong'); | |
79 ret = elems.length == 0; | |
80 } | |
81 }) | |
82 .test('getElementsByName', () { | |
83 for (int i = 0; i < num * 20; i++) { | |
84 List<Element> elems = document.getElementsByName('test$num'); | |
85 ret = elems[elems.length-1].nodeType; | |
86 elems = document.getElementsByName('test$num'); | |
87 ret = elems[elems.length-1].nodeType; | |
88 elems = document.getElementsByName('test$num'); | |
89 ret = elems[elems.length-1].nodeType; | |
90 elems = document.getElementsByName('test$num'); | |
91 ret = elems[elems.length-1].nodeType; | |
92 } | |
93 }) | |
94 .test('getElementsByName (not in document)', () { | |
95 for (int i = 0; i < num * 20; i++) { | |
96 ret = document.getElementsByName('test').length == 0; | |
97 ret = document.getElementsByName('test').length == 0; | |
98 ret = document.getElementsByName('test').length == 0; | |
99 ret = document.getElementsByName('test').length == 0; | |
100 ret = document.getElementsByName('test').length == 0; | |
101 } | |
102 }) | |
103 .end(); | |
104 } | |
OLD | NEW |