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