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

242 lines (228 loc) 32.9 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 src="expression.js"></script> <script type="text/javascript"> Test.activate(); const TestModel_1 = { field_1: "f1", field_2: "f2", method_1() { return "m1"; }, method_2(value_1) { return "m2" + value_1; }, get field_3() { return "f3"; }, get field_11() { return [{x:{y:"f11[0]->x->y"}}]; }, get field_12() { return [{x:[{y:"f12[0]->x->y"}]}]; } }; // 1: Blink 30 | 60 i5-1240P // 2: Blink 25 | 25 i5-1240P // 3: Blink 30 | 30 i5-1240P // 1: WebKit -- | 100 iPad Gen 10 // 2: WebKit -- | 65 iPad Gen 10 // 3: WebKit -- | 65 iPad Gen 10 // 1: goanna -- | 90 i5-1240P // 2: goanna -- | 100 i5-1240P // 3: goanna -- | 300 i5-1240P // 1: Gecko -- | 75 i5-1240P // 2: Gecko -- | 25 i5-1240P // 3: Gecko -- | 55 i5-1240P const timing = Date.now(); Composite.listen(Composite.EVENT_RENDER_END, function() { if (Test.status().queue !== undefined) return; let timeout1; let timeout2; let timeout3; if (navigator.engine === "blink") { timeout1 = 75; timeout2 = 30; timeout3 = 50; } if (navigator.engine === "webkit") { timeout1 = 115; timeout2 = 75; timeout3 = 75; } if (navigator.engine === "goanna") { timeout1 = 115; timeout2 = 125; timeout3 = 350; } if (navigator.engine === "gecko") { timeout1 = 75; timeout2 = 50; timeout3 = 75; } Test.create({test() { console.log(`Benchmark 1: ${Date.now() -timing}ms`); Assert.assertTrue((Date.now() -timing) < timeout1); }}); Test.create({timeout:timeout2, test() { const timing = Date.now(); let expression = document.querySelector("script[type='text/expression']"); expression = expression.innerHTML; for (let loop = 0; loop < 2500; loop++) Assert.assertEquals(" A:f11[0]->x->y B:12 C:4 D:1[0]", Expression.eval(expression)); console.log(`Benchmark 2: ${Date.now() -timing}ms`); }}); Test.create({timeout:timeout3, test() { const timing = Date.now(); let expression = document.querySelector("script[type='text/expression']"); expression = expression.innerHTML; for (let loop = 0; loop < 25000; loop++) Assert.assertEquals(" A:f11[0]->x->y B:12 C:4 D:1[0]", Expression.eval("ceb_1", expression)); console.log(`Benchmark 3: ${Date.now() -timing}ms`); }}); Test.start(); }); </script> <script type="text/expression"> {{ ' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6) }} </script> </head> <body> {{ ' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6); }} {{ ' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6); }} {{ ' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6); }} {{ ' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6); }} {{ ' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6); }} {{ ' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6); }} {{ ' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6); }} {{ ' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6); }} {{ ' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6); }} {{ ' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6); }} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} {{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}}{{' A:' + TestModel_1.field_11[0].x.y + ' B:' + (TestModel_1.field_11[0].x.y).length + ' C:' + (TestModel_1.field_11[0].x.y).length /3 + ' D:' + String((TestModel_1.field_11[0].x.y)).substring(2, 6);}} </body> </html>