File:  [parser3project] / parser3 / tests / 185.html
Revision 1.6: download - view: text, annotated - select for diffs - revision graph
Sat Jul 3 07:21:52 2010 UTC (15 years, 11 months ago) by misha
Branches: MAIN
CVS tags: release_3_5_1, release_3_5_0, release_3_4_6, release_3_4_5, release_3_4_4, release_3_4_3, release_3_4_2, release_3_4_1, HEAD
- prepare tests to trim trailing methods' EOLs

@main[]
$request:charset[UTF-8]
$response:charset[UTF-8]
$response:content-type[
	$.value[text/html]
	$.charset[$response:charset]
]

$str[ab^taint["]"cd^taint[xml][&]&ef]
<pre>^$str[$str] [^str.length[]]</pre>

^^str.left[]: ^left[$str]<br />
^^str.left(-2): ^left[$str](-2)<br />
^^str.left(4): ^left[$str](4)<br />
^^str.left(9): ^left[$str](9)<br />
^^str.left(20): ^left[$str](20)<br />
^^str.right[]: ^right[$str]<br />
^^str.right(-3): ^right[$str](-3)<br />
^^str.right(4): ^right[$str](4)<br />
^^str.right(9): ^right[$str](9)<br />
^^str.right(30): ^right[$str](30)<br />
^^str.mid(1;8): ^mid[$str](1;8)<br />
^^str.mid(2;0): ^mid[$str](2;0)<br />
^^str.mid(3;-1): ^mid[$str](3;-1)<br />
^^str.mid(7): ^mid[$str](7)<br />
^^str.mid(8;99): ^mid[$str](8;99)<br />
^^str.mid(40): ^mid[$str](40)<br />
^^str.mid(40;2): ^mid[$str](40;2)<br />
^^str.mid(-5): ^mid[$str](-5)<br />
^^str.mid(-5;2): ^mid[$str](-5;2)<br />

<hr />
$str[о сколько нам открытий чудных...10.11.2005]
$length(^str.length[]) ^rem{ *** length in real chars (not in bytes) == 42 *** }

<pre>^taint[as-is][
^$str[$str] [^str.length[]]
	<b>0</b>123456789<b>0</b>123456789<b>0</b>123456789<b>0</b>123456789<b>0</b>123456789
]</pre>

^^str.pos[]: ^try{^str.pos[]}{$exception.handled(1)error}<br />
^^str.pos[^$empty]: ^str.pos[$empty]<br />
^pos[$str;о]
^pos[$str;о;2]
^pos[$str; ]
^pos[$str;чудных]
^pos[$str;2005]
^pos[$str;zzz]

<br />
<table border="1">
	<tr>
		<td>L</td>
		<td>^^str.left(L) [^^substr.length[]]</tr>
		<td>R</td>
		<td>^^str.right(R) [^^substr.length[]]</tr>
		<td>N, O</td>
		<td>^^str.mid(N;O)</tr>
	</tr>
^for[i](0;$length\2+1){
	<tr>
		$iLeft($i*2+$i%2)
		<td>$iLeft</td>
		<td>^left[$str]($iLeft)</td>
		
		$iRight($i*2+($i+1)%2)
		<td>$iRight</td>
		<td>^right[$str]($iRight)</td>

		$iMid($i*2)
		$iLength(^if($i%2)(3;4))
		<td>$iMid, $iLength</td>
		<td>^mid[$str]($iMid;$iLength)</td>
	</tr>
}
</table>

@left[str;num][substr]
^try{
	^if(def $num){
		$substr[^str.left($num)]
	}{
		$substr[^str.left[]]
	}
	$result['$substr' [^substr.length[]]]
}{
	$exception.handled(1)
	$result[error]
}

@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]
^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]}<br />

E-mail: