@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
84 lines (81 loc) • 2.23 kB
HTML
<html>
<head>
<meta charset="ISO-8859-1">
<title>Seanox aspect-js test environment</title>
<style>
body {
font-family: monospace;
}
body div {
margin: 1em;
}
body * {
display: block;
}
</style>
<script src="aspect-js.js"></script>
<script src="scripts/capture.js"></script>
<script type="text/javascript">
Test.activate();
const capture = new Capture();
Composite.listen(Composite.EVENT_RENDER_END, () => {
capture.snap();
const count = capture.patterns().length;
if (capture.size() === count)
Test.start();
if (capture.size() > count)
Assert.assertEquals("expected {1} steps but was {2}", count, capture.size());
});
Test.create({test() {
capture.validate();
}});
</script>
<script type="text/test">
a:
b: a
c: a,b
d:
e: d
f: d,e
g: d,e,f
h:
i: h
j: h,i
</script>
</head>
<body>
<div id="a" composite>
<div id="b@a" composite>
<div id="c@a:b" composite>
<div id="d" composite>
<div id="e@d" composite>
<div id="f@d:e" composite>
<div id="g@d:e:f" composite>
<div id="h" composite>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="i@h" composite>
<div id="j@h:i" composite>
</div>
</div>
<pre>
a: {{___mount_locate(#[a]).namespace}}
b: {{___mount_locate(#[b\@a]).namespace}}
c: {{___mount_locate(#[c\@a\:b]).namespace}}
d: {{___mount_locate(#[d]).namespace}}
e: {{___mount_locate(#[e\@d]).namespace}}
f: {{___mount_locate(#[f\@d\:e]).namespace}}
g: {{___mount_locate(#[g\@d\:e\:f]).namespace}}
h: {{___mount_locate(#[h]).namespace}}
i: {{___mount_locate(#[i\@h]).namespace}}
j: {{___mount_locate(#[j\@h\:i]).namespace}}
</pre>
</body>
</html>