@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
69 lines (65 loc) • 1.93 kB
HTML
<html>
<head>
<meta charset="ISO-8859-1">
<title>Seanox aspect-js test environment</title>
<style>
body {
font-family: monospace;
white-space: pre;
}
</style>
<script src="aspect-js.js"></script>
<script type="text/javascript">
Test.activate();
const insertTestValue = (element, value) => {
if (element.textContent.match(new RegExp(value)))
return;
const text = document.createElement("span");
text.textContent = value;
element.appendChild(text);
};
Composite.customize("xa", (element) => {
insertTestValue(element, 0);
});
Composite.customize("x1", (element) => {
insertTestValue(element, 2);
});
Composite.customize("xb", (element) => {
insertTestValue(element, 3);
});
Composite.customize("xb", (element) => {
insertTestValue(element, 31);
});
Composite.customize("xc", (element) => {
insertTestValue(element, 4);
return false;
});
Composite.customize("xd", (element) => {
insertTestValue(element, 5);
});
Test.create({test() {
Assert.assertSameTo("script[type='text/test']", document.body.textContent);
}});
let count = 0;
Composite.listen(Composite.EVENT_RENDER_END, () => {
if (++count === 2)
Test.start();
});
</script>
<script type="text/test">
xa0
xb31
xc4
xd5
xe
</script>
</head>
<body>
<xa value="xx1">xa</xa>
<xb value="xx2">xb</xb>
<xc value="xx3">xc</xc>
<xd value="xx4">xd</xd>
<xe value="xx5">xe</xe>
</body>
</html>