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

120 lines (116 loc) 3.6 kB
<!DOCTYPE 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>