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