zpt
Version:
Zenon Page Templates - JS (ZPT-JS)
163 lines (151 loc) • 7.56 kB
HTML
<html lang="es">
<head>
<meta charset="utf-8">
<title>Declare tests</title>
<link rel="stylesheet" href="/node_modules/qunit/qunit/qunit.css">
<script src="http://127.0.0.1:9966/declare.js" defer></script>
</head>
<body>
<div id="qunit"></div>
<div id="qunit-fixture"></div>
<h1>Declare</h1>
<h2>Simple not failing</h2>
<div id="t1" data-define="number1 1;
text1 'this is a text';
text2 'this is a text too';
array1 [10:15]">
<ol data-declare="number1 number;
text1 string;
array1 array;
required text2 string;
add function;
dateValue date;
user object;
myTree tree;
required aString">
<li>number1 = <span id="t1-1" data-content="number1">an integer</span></li>
<li>text1 = <span id="t1-2" data-content="text1">a text</span></li>
<li>array1 = <span id="t1-3" data-content="array1">an array</span></li>
<li>text2 = <span id="t1-4" data-content="text2">a text</span></li>
<li>add(1,2) = <span id="t1-5" data-content="add(1,2)">a number</span></li>
<li>dateValue = <span id="t1-6" data-content="dateValue">a date</span></li>
<li>user/name = <span id="t1-7" data-content="user/name">must be Bob</span></li>
<li>tree/name = <span id="t1-8" data-content="myTree/name">must be Oak</span></li>
<li>aString = <span id="t1-9" data-content="aString">must be string</span></li>
</ol>
</div>
<h2>Simple failing</h2>
<div id="t2" data-define="number1 'not number';
text1 [10:15];
array1 'not array'">
<ol data-declare="number1 number;
text1 string;
array1 array;
required text2 string;
array1 function;
dateValue2 date;
user2 object;
myTree tree;
required aString2">
<li>number1 = <span id="t2-1" data-content="number1">must not be evaluated</span></li>
<li>text1 = <span id="t2-2" data-content="text1">must not be evaluated</span></li>
<li>array1 = <span id="t2-3" data-content="array1">must not be evaluated</span></li>
<li>text2 = <span id="t2-4" data-content="text2">must not be evaluated</span></li>
<li>array1(1,2) = <span id="t2-4" data-content="array1(1,2)">must not be evaluated</span></li>
<li>add2(1,2) = <span id="t2-5" data-content="add2(1,2)">must not be evaluated</span></li>
<li>dateValue2 = <span id="t2-6" data-content="dateValue2">must not be evaluated</span></li>
<li>user/name = <span id="t2-7" data-content="user/name">must not be evaluated</span></li>
<li>tree/name = <span id="t2-8" data-content="myTree/name">must not be evaluated</span></li>
<li>aString2 = <span id="t2-9" data-content="aString2">must not be evaluated</span></li>
</ol>
</div>
<h2>Default value not failing</h2>
<div id="t3">
<ol data-declare="aNumber number 6;
number1 number 99">
<li>aNumber = <span id="t3-1" data-content="aNumber">an integer</span></li>
<li>number1 = <span id="t3-2" data-content="number1">an integer</span></li>
</ol>
<ol data-declare="aNumber number (+: 3 2);
number1 number (-: 100 1)">
<li>aNumber = <span id="t3-3" data-content="aNumber">an integer</span></li>
<li>number1 = <span id="t3-4" data-content="number1">an integer</span></li>
</ol>
</div>
<h2>Default value failing</h2>
<div id="t4">
<ol data-declare="aNumber number 'not a number';
aString number 99;
required aValue string myFunction()">
<li>
aNumber =
<span id="t4-1" data-content="aNumber">must not be evaluated</span>
</li>
<li>
number1 =
<span id="t4-2" data-content="aString">must not be evaluated</span>
</li>
</ol>
</div>
<h2>Strict mode using declare</h2>
<div id="t5">
<ol data-declare="aNumber number 5">
<li>aNumber = <span id="t5-1" data-content="aNumber">an integer</span></li>
<li>
nonDefinedNumber =
<span id="t5-2" data-content="nonDefinedNumber">must not be evaluated</span>
</li>
<li>
nonDefinedNumber =
<span id="t5-3" data-content="+: 1 nonDefinedNumber">must not be evaluated</span>
</li>
</ol>
</div>
<h2>Strict mode using context</h2>
<div id="t6">
<ol>
<li>
nonDefinedNumber =
<span id="t6-1" data-content="nonDefinedNumber">must not be evaluated</span>
</li>
<li>
nonDefinedNumber =
<span id="t6-2" data-content="+: 1 nonDefinedNumber">must not be evaluated</span>
</li>
</ol>
</div>
<h2>Undefined type</h2>
<div id="t7">
<ol data-declare="value1 Undefined 'it can be of any type';
value2 nulL 'it can be of any type also'">
<li>
value1 =
<span id="t7-1" data-content="value1">must be it can be of any type</span>
</li>
<li>
value2 =
<span id="t7-2" data-content="value2">must be it can be of any type also</span>
</li>
</ol>
</div>
<h2>Using tal:define in strict mode (not failing)</h2>
<div id="t8" data-define="number1 1">
<ol data-declare="number1 number">
<li>number1 = <span id="t8-1" data-content="number1">an integer</span></li>
<li data-define="number2 2">
<span>number2 = <span id="t8-2" data-content="number2">an integer</span></span>
</li>
</ol>
</div>
<h2>Using tal:define in strict mode (failing)</h2>
<div id="t9" data-define="number1 1; number2 2">
<ol data-declare="number1 number">
<li>number1 = <span id="t9-1" data-content="number1">must not be evaluated</span></li>
<li>
<span>number2 = <span id="t9-2" data-content="number2">must not be evaluated</span></span>
</li>
</ol>
</div>
</body>
</html>