--- parser3/tests/185.html 2008/07/18 08:28:10 1.4 +++ 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[ @@ -9,11 +9,25 @@ $response:content-type[ $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] @@ -21,9 +35,11 @@ $length(^str.length[]) ^rem{ *** length
^taint[as-is][
 ^$str[$str] [^str.length[]]
-     01234567890123456789012345678901234567890123456789
+	01234567890123456789012345678901234567890123456789
 ]
+^^str.pos[]: ^try{^str.pos[]}{$exception.handled(1)error}
+^^str.pos[^$empty]: ^str.pos[$empty]
^pos[$str;о] ^pos[$str;о;2] ^pos[$str; ] @@ -59,24 +75,48 @@ $length(^str.length[]) ^rem{ *** length } - - @left[str;num][substr] -$substr[^str.left($num)] -'$substr' [^substr.length[]] - - +^try{ + ^if(def $num){ + $substr[^str.left($num)] + }{ + $substr[^str.left[]] + } + $result['$substr' [^substr.length[]]] +}{ + $exception.handled(1) + $result[error] +} @right[str;num][substr] -$substr[^str.right($num)] -'$substr' [^substr.length[]] - - +^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;offset] ^^str.pos[$substr]^if(def $offset){($offset)}: ^if(def $offset){^str.pos[$substr]($offset)}{^str.pos[$substr]}