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