@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
120 lines (116 loc) • 3.6 kB
HTML
<html>
<head>
<meta charset="ISO-8859-1">
<title>Seanox aspect-js test environment</title>
<style>
body {
font-family: monospace;
}
</style>
<script src="aspect-js.js"></script>
<script type="text/javascript">
Test.activate();
let raw_x = false;
let raw_a = "S";
const snapshots = [];
Composite.listen(Composite.EVENT_RENDER_END, () => {
let snapshot = document.body.textContent;
snapshot = snapshot.replace(/^\s+/mg, "");
snapshots.push(snapshot);
const count = document.querySelectorAll("script[type=\"text/test\"]").length;
switch (snapshots.length) {
case 1: break;
case 2: raw_x = true; break;
case 3: break;
case 4: raw_x = false; break;
}
if (snapshots.length <= count)
Composite.asynchron(Composite.render, document.body);
if (snapshots.length === count)
Composite.asynchron(Test.start);
});
Test.create({test() {
const count = document.querySelectorAll("script[type=\"text/test\"]").length;
snapshots.forEach((snapshot, index) => {
if (index >= count)
return;
console.log(`Test based on script #${index +1}`);
Assert.assertSameText(document.querySelectorAll("script[type='text/test']")[index].textContent, snapshot);
});
}});
</script>
<script type="text/test">
S: S
LIST:
JanFebMarAprMayJuneJulyAugSeptOctNovDec
LIST EXT:
SeptOctNovMayMarJuneJulyJanFebDecAugApr
lorem ipsum dolor sit amet
</script>
<script type="text/test">
S: S
LIST:
JanFebMarAprMayJuneJulyAugSeptOctNovDec
LIST EXT:
SeptOctNovMayMarJuneJulyJanFebDecAugApr
lorem ipsum dolor sit amet
</script>
<script type="text/test">
S: S
LIST:
JanFebMarAprMayJuneJulyAugSeptOctNovDec
LIST EXT:
SeptOctNovMayMarJuneJulyJanFebDecAugApr
raw_a += "A";
raw_a += "B";
lorem ipsum dolor sit amet
</script>
<script type="text/test">
S: SAB
LIST:
JanFebMarAprMayJuneJulyAugSeptOctNovDec
LIST EXT:
SeptOctNovMayMarJuneJulyJanFebDecAugApr
raw_a += "A";
raw_a += "B";
lorem ipsum dolor sit amet
</script>
<script type="text/test">
S: SABAB
LIST:
JanFebMarAprMayJuneJulyAugSeptOctNovDec
LIST EXT:
SeptOctNovMayMarJuneJulyJanFebDecAugApr
lorem ipsum dolor sit amet
</script>
<script type="text/test">
S: SABAB
LIST:
JanFebMarAprMayJuneJulyAugSeptOctNovDec
LIST EXT:
SeptOctNovMayMarJuneJulyJanFebDecAugApr
lorem ipsum dolor sit amet
</script>
<script type="text/test">
S: SABAB
LIST:
JanFebMarAprMayJuneJulyAugSeptOctNovDec
LIST EXT:
SeptOctNovMayMarJuneJulyJanFebDecAugApr
lorem ipsum dolor sit amet
</script>
</head>
<body>
S: {{raw_a}}
<article output="xml://content_list">
loading resource...
</article>
<article output="xml://content_list xslt://content_list_ext">
loading resource...
</article>
<article output="xml://content_raw">
loading resource...
</article>
</body>
</html>