UNPKG

@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

64 lines (58 loc) 1.98 kB
<!DOCTYPE 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 TestModel = {}; TestModel.ticks = 0; TestModel.ping = () => { return ++TestModel.ticks + "-" + "{{TestModel.ping()}}"; }; Test.create({test() { try {Assert.assertSameTo("script[type='text/test-1']", document.body.innerHTML); } catch (exception) { try {Assert.assertSameTo("script[type='text/test-2']", document.body.innerHTML); } catch (exception) { throw exception; } } }}); Composite.listen(Composite.EVENT_RENDER_END, () => { Test.start(); }); </script> <script type="text/test-1"> A:1-{{TestModel.ping()}} B:2-{{TestModel.ping()}} C:3-{{TestModel.ping()}} D:<input type="text" value="4-{{TestModel.ping()}}"> E:<input type="text" value="5-{{TestModel.ping()}}"> F:<input type="text" value="6-{{TestModel.ping()}}"> </script> <script type="text/test-2"> A:1-{{TestModel.ping()}} B:2-{{TestModel.ping()}} C:3-{{TestModel.ping()}} D:<input value="4-{{TestModel.ping()}}" type="text"> E:<input value="5-{{TestModel.ping()}}" type="text"> F:<input value="6-{{TestModel.ping()}}" type="text"> </script> </head> <body> A:{{TestModel.ping()}} B:{{TestModel.ping()}} C:{{TestModel.ping()}} D:<input type="text" value="{{TestModel.ping()}}"/> E:<input type="text" value="{{TestModel.ping()}}"/> F:<input type="text" value="{{TestModel.ping()}}"/> </body> </html>