@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
59 lines (56 loc) • 1.71 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 src="scripts/capture.js"></script>
<script src="expression.js"></script>
<script type="text/javascript">
Test.activate();
const capture = new Capture();
Composite.listen(Composite.EVENT_RENDER_END, () => {
capture.snap();
capture.snap(document.querySelector("#InputTextA").getAttribute("value"));
if (capture.size() === 2)
document.querySelector("#InputTextA").typeValue("Hallo Berlin", true);
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">
A1-O: A1
A1-I:
A1-O: A1
</script>
<script type="text/test">
A1
</script>
<script type="text/test">
A1-O: Hallo Berlin
A1-I:
A1-O: Hallo Berlin
</script>
<script type="text/test">
A1
</script>
</head>
<body>
A1-O: {{#InputTextA.value}}
A1-I: <input type="text" id="InputTextA" value="A1" autocomplete="off"
events="input keydown keyup" render="body"/>
A1-O: {{#InputTextA.value}}
</body>
</html>