--- parser3/tests/152.html 2007/02/08 16:22:38 1.2
+++ parser3/tests/152.html 2007/02/09 18:52:28 1.3
@@ -10,6 +10,30 @@ $sOne[1]
$sTwo[2]
^$sTwo[2]
+$dtDate[^date::create(2007;01;02;03;04;05)]
+^$dtDate[^^date::create(2007;01;02;03;04;05)]
+
+
+^$tEmptyTable[^^table::create{a ^; ^;b}]
+^$tTable[^^table::create{a ^; ^;b
+1 ^; ^;2}]
+$tEmptyTable[^table::create{a b}]
+$tTable[^table::create{a b
+1 2}]
+
+
+^$hEmptyHash[^^hash::create[]]
+$hEmptyHash[^hash::create[]]
+^$hHash[
+ ^; ^;^$.a[1]
+ ^; ^;^$.b[2]
+]
+
+$hHash[
+ $.a[1]
+ $.b[2]
+]
+
$dZero(0.0)
^$dZero(0.0)
$dOne(1.1)
@@ -27,8 +51,15 @@ $iTwo(^dTwo.int[])
$bTrue(1==1)
^$bTrue(1==1)
$bFalse(1==0)
-^$bFalse(1==0)
+^$bFalse(1==0)
+$xDoc[^xdoc::create{}]
+^$xDoc[^^xdoc::create{}]
+
+^$h[^^xDoc.select[/root/t]]
+^$xNode[^$h.0]
+$h[^xDoc.select[/root/t]]
+$xNode[$h.0]
.CLASS_NAME
^$bTrue.CLASS_NAME: $bTrue.CLASS_NAME
@@ -49,101 +80,136 @@ $bFalse(1==0)
^$iZero.CLASS_NAME: $iZero.CLASS_NAME
^$iOne.CLASS_NAME: $iOne.CLASS_NAME
^$iTwo.CLASS_NAME: $iTwo.CLASS_NAME
+
+^$tTable.CLASS_NAME: $tTable.CLASS_NAME
+^$hHash.CLASS_NAME: $hHash.CLASS_NAME
+^$dtDate.CLASS_NAME: $dtDate.CLASS_NAME
+^$xDoc.CLASS_NAME: $xDoc.CLASS_NAME
+^$xNode.CLASS_NAME: $xNode.CLASS_NAME
bool itself
-(1==0): ^check(1==0)
-(1==1): ^check(1==1)
+(1==0): ^checkBool(1==0)
+(1==1): ^checkBool(1==1)
-(^$bFalse is "bool"): ^if($bFalse is "bool"){yes}{no}
-(^$bTrue is "bool"): ^if($bTrue is "bool"){yes}{no}
-
+bool methods for void
+^^vVoid.bool(true): ^checkBool(^vVoid.bool(true))
+^^vVoid.bool(false): ^checkBool(^vVoid.bool(false))
-(^$sEmpty is "bool"): ^if($sEmpty is "bool"){yes}{no}
-(^$sZero is "bool"): ^if($sZero is "bool"){yes}{no}
-(^$sOne is "bool"): ^if($sOne is "bool"){yes}{no}
-(^$sTwo is "bool"): ^if($sTwo is "bool"){yes}{no}
-
-(^$dZero is "bool"): ^if($dZero is "bool"){yes}{no}
-(^$dOne is "bool"): ^if($dOne is "bool"){yes}{no}
-(^$dTwo is "bool"): ^if($dTwo is "bool"){yes}{no}
-
+bool methods for string
+^^sEmpty.bool(true): ^checkBool(^sEmpty.bool(true))
+^^sEmpty.bool(false): ^checkBool(^sEmpty.bool(false))
-(^$iZero is "bool"): ^if($iZero is "bool"){yes}{no}
-(^$iOne is "bool"): ^if($iOne is "bool"){yes}{no}
-(^$iTwo is "bool"): ^if($iTwo is "bool"){yes}{no}
+^^sZero.bool(true): ^checkBool(^sZero.bool(true))
+^^sZero.bool(false): ^checkBool(^sZero.bool(false))
+^^sOne.bool(true): ^checkBool(^sOne.bool(true))
+^^sOne.bool(false): ^checkBool(^sOne.bool(false))
-void functions
-^^vVoid.bool(true): ^check(^vVoid.bool(true))
-^^vVoid.bool(false): ^check(^vVoid.bool(false))
+^^sTwo.bool(true): ^checkBool(^sTwo.bool(true))
+^^sTwo.bool(false): ^checkBool(^sTwo.bool(false))
-string functions
-^^sEmpty.bool(true): ^check(^sEmpty.bool(true))
-^^sEmpty.bool(false): ^check(^sEmpty.bool(false))
+bool methods for double
+^^dZero.bool(true): ^checkBool(^dZero.bool(true))
+^^dZero.bool(false): ^checkBool(^dZero.bool(false))
-^^sZero.bool(true): ^check(^sZero.bool(true))
-^^sZero.bool(false): ^check(^sZero.bool(false))
+^^dOne.bool(true): ^checkBool(^dOne.bool(true))
+^^dOne.bool(false): ^checkBool(^dOne.bool(false))
-^^sOne.bool(true): ^check(^sOne.bool(true))
-^^sOne.bool(false): ^check(^sOne.bool(false))
+^^dTwo.bool(true): ^checkBool(^dTwo.bool(true))
+^^dTwo.bool(false): ^checkBool(^dTwo.bool(false))
-^^sTwo.bool(true): ^check(^sTwo.bool(true))
-^^sTwo.bool(false): ^check(^sTwo.bool(false))
+bool methods for int
+^^iZero.bool(true): ^checkBool(^iZero.bool(true))
+^^iZero.bool(false): ^checkBool(^iZero.bool(false))
-double functions
-^^dZero.bool(true): ^check(^dZero.bool(true))
-^^dZero.bool(false): ^check(^dZero.bool(false))
+^^iOne.bool(true): ^checkBool(^iOne.bool(true))
+^^iOne.bool(false): ^checkBool(^iOne.bool(false))
-^^dOne.bool(true): ^check(^dOne.bool(true))
-^^dOne.bool(false): ^check(^dOne.bool(false))
+^^iTwo.bool(true): ^checkBool(^iTwo.bool(true))
+^^iTwo.bool(false): ^checkBool(^iTwo.bool(false))
-^^dTwo.bool(true): ^check(^dTwo.bool(true))
-^^dTwo.bool(false): ^check(^dTwo.bool(false))
+others
+
+^printHeadLine[
]
+^printLine[^$vVoid;^checkDef[];^checkExp[$vVoid]]
-int functions
-^^iZero.bool(true): ^check(^iZero.bool(true))
-^^iZero.bool(false): ^check(^iZero.bool(false))
+^printLine[^$bFalse;^checkDef[$bFalse];^checkExp[$bFalse];$bFalse]
+^printLine[^$bTrue;^checkDef[$bTrue];^checkExp[$bTrue];$bTrue]
-^^iOne.bool(true): ^check(^iOne.bool(true))
-^^iOne.bool(false): ^check(^iOne.bool(false))
+^printLine[^$sEmpty;^checkDef[$sEmpty];^checkExp[$sEmpty];$sEmpty]
+^printLine[^$sZero;^checkDef[$sZero];^checkExp[$sZero];$sZero]
+^printLine[^$sOne;^checkDef[$sOne];^checkExp[$sOne];$sOne]
+^printLine[^$sTwo;^checkDef[$sTwo];^checkExp[$sTwo];$sTwo]
-^^iTwo.bool(true): ^check(^iTwo.bool(true))
-^^iTwo.bool(false): ^check(^iTwo.bool(false))
+^printLine[^$dZero;^checkDef($dZero);^checkExp($dZero)]($dZero)
+^printLine[^$dOne;^checkDef($dOne);^checkExp($dOne)]($dOne)
+^printLine[^$dTwo;^checkDef($dTwo);^checkExp($dTwo)]($dTwo)
+^printLine[^$iZero;^checkDef($iZero);^checkExp($iZero)]($iZero)
+^printLine[^$iOne;^checkDef($iOne);^checkExp($iOne)]($iOne)
+^printLine[^$iTwo;^checkDef($iTwo);^checkExp($iTwo)]($iTwo)
-def
-(def ^$vVoid): ^def[$vVoid]
-
+^printLine[^$tEmptyTable;^checkDef[$tEmptyTable];^checkExp[$tEmptyTable];$tEmptyTable]
+^printLine[^$tTable;^checkDef[$tTable];^checkExp[$tTable];$tTable]
-(def ^$bFalse): ^def[$bFalse]
-(def ^$bTrue): ^def[$bTrue]
-
+^printLine[^$hEmptyHash;^checkDef[$hEmptyHash];^checkExp[$hEmptyHash];$hEmptyHash]
+^printLine[^$hHash;^checkDef[$hHash];^checkExp[$hHash];$hHash]
-(def ^$sEmpty): ^def[$sEmpty]
-(def ^$sZero): ^def[$sZero]
-(def ^$sOne): ^def[$sOne]
-(def ^$sTwo): ^def[$sTwo]
-
+^printLine[^$dtDate;^checkDef[$dtDate];^checkExp[$dtDate];$dtDate]
+^printLine[^$xDoc;^checkDef[$xDoc];^checkExp[$xDoc];$xDoc]
+^printLine[^$xNode;^checkDef[$xNode];^checkExp[$xNode];$xNode]
+
+
+
+
+@checkIsBool[uValue]
+^if($uValue is "bool"){yes}{no}
+
+
+@checkBool[bValue]
+^if($bValue == true){true}{false}
+
+
+@checkDef[uValue]
+^if(def $uValue){yes}{no}
-(def ^$dZero): ^def($dZero)
-(def ^$dOne): ^def($dOne)
-(def ^$dTwo): ^def($dTwo)
-
-(def ^$iZero): ^def($iZero)
-(def ^$iOne): ^def($iOne)
-(def ^$iTwo): ^def($iTwo)
+@checkExp[uValue]
+^if($uValue){true}{false}
-@check[bValue]
-'^if($bValue){true}{false}'
+@printHeadLine[sTitle]
+$tType[^table::create{sName
+bool
+string
+double
+int
+table
+hash
+date
+xdoc
+xnode
+}]
+
+ | $sTitle |
+ (def ...) |
+ (...) |
+ ^tType.menu{(... is $tType.sName) | }
+
-@def[uValue]
-^if(def $uValue){def}{undef}
+@printLine[sTitle;sDef;sExp;uValue]
+
+ | $sTitle |
+ $sDef |
+ $sExp |
+ ^tType.menu{
+ ^if($uValue is $tType.sName){yes}{no} |
+ }
+
\ No newline at end of file