@seanox/aspect-js
Version:
full stack JavaScript framework for SPAs incl. reactivity rendering, mvc / mvvm, models, expression language, datasource, routing, paths, unit test and some more
71 lines (68 loc) • 1.91 kB
HTML
<html>
<head>
<meta charset="ISO-8859-1">
<title>Seanox aspect-js test environment</title>
<style>
body {
font-family: monospace;
}
body div {
display: inline;
}
</style>
<script src="aspect-js.js"></script>
<script type="text/javascript">
Test.activate();
// 1: Blink 350 / 325 i5-1240P
// 1: WebKit --- / 750 iPad Gen 10
// 1: goanna --- / 2300 i5-1240P
// 1: Gecko --- / 335 i5-1240P
let timing = Date.now();
Composite.listen(Composite.EVENT_RENDER_END, () => {
timing = Date.now() -timing;
let timeout1;
if (navigator.engine === "blink") {
timeout1 = 350;
}
if (navigator.engine === "webkit") {
timeout1 = 775;
}
if (navigator.engine === "goanna") {
timeout1 = 2350;
}
if (navigator.engine === "gecko") {
timeout1 = 350;
}
Test.create({test() {
console.log(`Benchmark 1: ${timing}ms`);
Assert.assertTrue(`${timing}ms`, timing < timeout1);
}});
Test.start();
});
</script>
</head>
<body>
{{x:10}}
{{s:0}}
Info: Output is hidden
<div iterate="{{a:new Array(x)}}" style="display:none;">
A:{{a.index}}
{{s:s +1}}
<div iterate="{{b:new Array(x)}}">
B:{{b.index}}
{{s:s +1}}
<div iterate="{{c:new Array(x)}}">
C:{{c.index}}
{{s:s +1}}
<div iterate="{{d:new Array(x)}}">
D:{{d.index}}
{{s:s +1}}
</div>
</div>
</div>
</div>
<hr/>
{{s}}
</body>
</html>