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