--- parser3/tests/185.html 2008/07/16 17:35:43 1.1 +++ parser3/tests/185.html 2010/07/03 07:21:52 1.6 @@ -1,4 +1,4 @@ -@main[] +@main[] $request:charset[UTF-8] $response:charset[UTF-8] $response:content-type[ @@ -6,58 +6,117 @@ $response:content-type[ $.charset[$response:charset] ] +$str[ab^taint["]"cd^taint[xml][&]&ef] +
^$str[$str] [^str.length[]]
+^^str.left[]: ^left[$str]
+^^str.left(-2): ^left[$str](-2)
+^^str.left(4): ^left[$str](4)
+^^str.left(9): ^left[$str](9)
+^^str.left(20): ^left[$str](20)
+^^str.right[]: ^right[$str]
+^^str.right(-3): ^right[$str](-3)
+^^str.right(4): ^right[$str](4)
+^^str.right(9): ^right[$str](9)
+^^str.right(30): ^right[$str](30)
+^^str.mid(1;8): ^mid[$str](1;8)
+^^str.mid(2;0): ^mid[$str](2;0)
+^^str.mid(3;-1): ^mid[$str](3;-1)
+^^str.mid(7): ^mid[$str](7)
+^^str.mid(8;99): ^mid[$str](8;99)
+^^str.mid(40): ^mid[$str](40)
+^^str.mid(40;2): ^mid[$str](40;2)
+^^str.mid(-5): ^mid[$str](-5)
+^^str.mid(-5;2): ^mid[$str](-5;2)
+ +
$str[о сколько нам открытий чудных...10.11.2005] $length(^str.length[]) ^rem{ *** length in real chars (not in bytes) == 42 *** }
^taint[as-is][
-^$str[$str]
-     01234567890123456789012345678901234567890123456789
+^$str[$str] [^str.length[]]
+	01234567890123456789012345678901234567890123456789
 ]
-^^str.length[]: ^str.length[]

- -#=^str.right(5)= -#=^str.mid(43;2)= - +^^str.pos[]: ^try{^str.pos[]}{$exception.handled(1)error}
+^^str.pos[^$empty]: ^str.pos[$empty]
^pos[$str;о] +^pos[$str;о;2] ^pos[$str; ] ^pos[$str;чудных] ^pos[$str;2005] ^pos[$str;zzz] - +
- - - - + + + + + + ^for[i](0;$length\2+1){ - - - - + $iLeft($i*2+$i%2) + + + + $iRight($i*2+($i+1)%2) + + + + $iMid($i*2) + $iLength(^if($i%2)(3;4)) + + }
N^^str.left(N)
^^str.right(N)
^^str.mid(N;Z)
L^^str.left(L) [^^substr.length[]]
R^^str.right(R) [^^substr.length[]]
N, O^^str.mid(N;O)
^eval($i*2)^left[$str]($i*2)^right[$str]($i*2)^mid[$str]($i*2;3)$iLeft^left[$str]($iLeft)$iRight^right[$str]($iRight)$iMid, $iLength^mid[$str]($iMid;$iLength)
+@left[str;num][substr] +^try{ + ^if(def $num){ + $substr[^str.left($num)] + }{ + $substr[^str.left[]] + } + $result['$substr' [^substr.length[]]] +}{ + $exception.handled(1) + $result[error] +} - -@left[str;num] -'^str.left($num)' - - - -@right[str;num] -'^str.right($num)' - +@right[str;num][substr] +^try{ + ^if(def $num){ + $substr[^str.right($num)] + }{ + $substr[^str.right[]] + } + $result['$substr' [^substr.length[]]] +}{ + $exception.handled(1) + $result[error] +} @mid[str;num;count] -'^str.mid($num;$count)' - +^try{ + ^if(def $num){ + ^if(def $count){ + $substr[^str.mid($num;$count)] + }{ + $substr[^str.mid($num)] + } + }{ + $substr[^str.mid[]] + } + $result['$substr' [^substr.length[]]] +}{ + $exception.handled(1) + $result[error] +} -@pos[str;substr] -^^str.pos[$substr]: ^str.pos[$substr]
+@pos[str;substr;offset] +^^str.pos[$substr]^if(def $offset){($offset)}: ^if(def $offset){^str.pos[$substr]($offset)}{^str.pos[$substr]}