blob: e9cb8be707188c9cbc168c4696eeb83838b2b6be [file] [log] [blame]
library dromaeo;
import 'dart:async';
import 'dart:html';
import "dart:convert";
import 'dart:math' as Math;
part 'Common.dart';
part 'RunnerSuite.dart';
void main() {
final int num = 400;
var random = new Math.Random();
String str = 'null';
// Very ugly way to build up the string, but let's mimic JS version as much as
// possible.
for (int i = 0; i < 1024; i++) {
str += new String.fromCharCode(((25 * random.nextDouble()) + 97).toInt());
}
List<Node> elems = <Node>[];
// Try to force real results.
var ret;
final htmlstr = document.body.innerHtml;
new Suite(window, 'dom-modify')
.test('createElement', () {
for (int i = 0; i < num; i++) {
ret = new Element.tag('div');
ret = new Element.tag('span');
ret = new Element.tag('table');
ret = new Element.tag('tr');
ret = new Element.tag('select');
}
})
.test('createTextNode', () {
for (int i = 0; i < num; i++) {
ret = new Text(str);
ret = new Text('${str}2');
ret = new Text('${str}3');
ret = new Text('${str}4');
ret = new Text('${str}5');
}
})
.test('innerHtml', () {
document.body.innerHtml = htmlstr;
})
.prep(() {
elems = new List<Node>();
final telems = document.body.nodes;
for (int i = 0; i < telems.length; i++) {
elems.add(telems[i]);
}
})
.test('cloneNode', () {
for (int i = 0; i < elems.length; i++) {
ret = elems[i].clone(false);
ret = elems[i].clone(true);
ret = elems[i].clone(true);
}
})
.test('appendChild', () {
for (int i = 0; i < elems.length; i++)
document.body.append(elems[i]);
})
.test('insertBefore', () {
for (int i = 0; i < elems.length; i++)
document.body.insertBefore(elems[i], document.body.firstChild);
})
.end();
}