OLD | NEW |
1 library dom_modify_html; | 1 library dom_modify_html; |
2 import 'dart:html'; | 2 import 'dart:html'; |
3 import 'dart:json'; | 3 import 'dart:json'; |
4 import 'dart:math' as Math; | 4 import 'dart:math' as Math; |
5 part 'Common.dart'; | 5 part 'Common.dart'; |
6 part 'RunnerSuite.dart'; | 6 part 'RunnerSuite.dart'; |
7 | 7 |
8 void main() { | 8 void main() { |
9 final int num = 400; | 9 final int num = 400; |
10 var random = new Math.Random(); | 10 var random = new Math.Random(); |
11 | 11 |
12 String str = 'null'; | 12 String str = 'null'; |
13 // Very ugly way to build up the string, but let's mimic JS version as much as
possible. | 13 // Very ugly way to build up the string, but let's mimic JS version as much as
possible. |
14 for (int i = 0; i < 1024; i++) { | 14 for (int i = 0; i < 1024; i++) { |
15 str = "$str${new String.fromCharCodes([((25 * random.nextDouble()) + 97).toI
nt()])}"; | 15 str = "$str${new String.fromCharCodes([((25 * random.nextDouble()) + 97).toI
nt()])}"; |
16 } | 16 } |
17 | 17 |
18 List<Node> elems = <Node>[]; | 18 List<Node> elems = <Node>[]; |
19 | 19 |
20 // Try to force real results. | 20 // Try to force real results. |
21 var ret; | 21 var ret; |
22 | 22 |
23 final htmlstr = document.body.innerHTML; | 23 final htmlstr = document.body.innerHtml; |
24 | 24 |
25 new Suite(window, 'dom-modify') | 25 new Suite(window, 'dom-modify') |
26 .test('createElement', () { | 26 .test('createElement', () { |
27 for (int i = 0; i < num; i++) { | 27 for (int i = 0; i < num; i++) { |
28 ret = new Element.tag('div'); | 28 ret = new Element.tag('div'); |
29 ret = new Element.tag('span'); | 29 ret = new Element.tag('span'); |
30 ret = new Element.tag('table'); | 30 ret = new Element.tag('table'); |
31 ret = new Element.tag('tr'); | 31 ret = new Element.tag('tr'); |
32 ret = new Element.tag('select'); | 32 ret = new Element.tag('select'); |
33 } | 33 } |
34 }) | 34 }) |
35 .test('createTextNode', () { | 35 .test('createTextNode', () { |
36 for (int i = 0; i < num; i++) { | 36 for (int i = 0; i < num; i++) { |
37 ret = new Text(str); | 37 ret = new Text(str); |
38 ret = new Text('${str}2'); | 38 ret = new Text('${str}2'); |
39 ret = new Text('${str}3'); | 39 ret = new Text('${str}3'); |
40 ret = new Text('${str}4'); | 40 ret = new Text('${str}4'); |
41 ret = new Text('${str}5'); | 41 ret = new Text('${str}5'); |
42 } | 42 } |
43 }) | 43 }) |
44 .test('innerHTML', () { | 44 .test('innerHtml', () { |
45 document.body.innerHTML = htmlstr; | 45 document.body.innerHtml = htmlstr; |
46 }) | 46 }) |
47 .prep(() { | 47 .prep(() { |
48 elems = new List<Node>(); | 48 elems = new List<Node>(); |
49 final telems = document.body.nodes; | 49 final telems = document.body.nodes; |
50 for (int i = 0; i < telems.length; i++) { | 50 for (int i = 0; i < telems.length; i++) { |
51 elems.add(telems[i]); | 51 elems.add(telems[i]); |
52 } | 52 } |
53 }) | 53 }) |
54 .test('cloneNode', () { | 54 .test('cloneNode', () { |
55 for (int i = 0; i < elems.length; i++) { | 55 for (int i = 0; i < elems.length; i++) { |
56 ret = elems[i].clone(false); | 56 ret = elems[i].clone(false); |
57 ret = elems[i].clone(true); | 57 ret = elems[i].clone(true); |
58 ret = elems[i].clone(true); | 58 ret = elems[i].clone(true); |
59 } | 59 } |
60 }) | 60 }) |
61 .test('appendChild', () { | 61 .test('appendChild', () { |
62 for (int i = 0; i < elems.length; i++) | 62 for (int i = 0; i < elems.length; i++) |
63 document.body.$dom_appendChild(elems[i]); | 63 document.body.$dom_appendChild(elems[i]); |
64 }) | 64 }) |
65 .test('insertBefore', () { | 65 .test('insertBefore', () { |
66 for (int i = 0; i < elems.length; i++) | 66 for (int i = 0; i < elems.length; i++) |
67 document.body.insertBefore(elems[i], document.body.$dom_firstChild); | 67 document.body.insertBefore(elems[i], document.body.$dom_firstChild); |
68 }) | 68 }) |
69 .end(); | 69 .end(); |
70 } | 70 } |
OLD | NEW |