--- parser3/tests/430.html 2024/10/02 02:45:35 1.1
+++ parser3/tests/430.html 2024/10/18 01:32:50 1.4
@@ -13,12 +13,13 @@
0.5 ^try-catch{ $a.-5[bug] }
0.6 ^a.count[] vs ^a.count[all] ^a._count[all]
+0.7 ^try-catch{ ^a.count[bug] }
1. create, add vs join
-1.1 создаем "дырявый" массив $a[^array::create[ $.2[1] $.5[2] $.9[3] ]]
-1.2 из него дырявый массив: ^show[^array::create[$a]]
+1.1 создаем "дырявый" массив $a[^array::copy[ $.2[1] $.5[2] $.9[3] ]]
+1.2 из него дырявый массив: ^show[^array::copy[$a]]
1.3 из него обычный массив: $b[^array::create[]] ^b.join[$a] ^show[$b]
1.4 если параметр хеш, перезапись значений при add: ^b.add[ $.2[over] ] ^show[$b]
@@ -26,13 +27,13 @@
1.6 ^try-catch{ ^a.add[$a] }
-$b[^array::create[ $.2[over2] $.4[over4] ]]
-$c[^array::create[$a]]
+$b[^array::copy[ $.2[over2] $.4[over4] ]]
+$c[^array::copy[$a]]
1.6 если параметр массив, перезапись значений при add: ^show[$a] ^a.add[$b] ^show[$a]
1.7 если параметр массив, добевление значений при join: ^show[$c] ^c.join[$b] ^show[$c]
2. left, right, mid, for, foreach, select
-$a[^array::create[ $.1[v1] $.5[v5] $.6[v6] $.8[v8] ]]
+$a[^array::copy[ $.1[v1] $.5[v5] $.6[v6] $.8[v8] ]]
2.1 ^show[^a.left(2)]
2.2 ^show[^a.left(10)]
@@ -45,6 +46,8 @@ $a[^array::create[ $.1[v1] $.5[v5] $.6[v
2.7 ^show[^a.mid(2)]
2.8 ^show[^a.mid(2;1)]
2.9 ^show[^a.mid(0;1)]
+2.91 ^try-catch{ ^a.mid(-1;1) }
+2.92 ^try-catch{ ^a.mid(1;-1) }
2.10 ^a.foreach[;v]{'$v'}[,]
2.11 ^a.foreach[k;]{'$k'}[,]
@@ -63,20 +66,22 @@ $a[^array::create[ $.1[v1] $.5[v5] $.6[v
2.23 ^show[^a.select[k;v]($k>1)[ $.limit(2) ]]
2.24 ^show[^a.select[k;v]($k>1)[ $.limit(2) $.reverse(1) ]]
2.25 ^try-catch{ ^a.select[k;v]($k>1)[ $.bug(1) ] }
+2.25 ^show[^a.select[k;v]($k<5 || ^break[])[ $.limit(2) ]]
+2.26 ^show[^a.select[k;v]($k>5 || ^break[])[ $.limit(2) $.reverse(1) ]]
3. append/insert
-$a[^array::create[ ]]
+$a[^array::copy[ ]]
3.1 ^show[$a]
-3.2 ^try-catch{ $b[^array::create[$method]] }
+3.2 ^try-catch{ $b[^array::copy[$method]] }
3.3 ^try-catch{ $b[^array::insert(-1)[value]] }
3.4 ^try-catch{ $b[^array::insert[abc][value]] }
3.5 ^try-catch{ ^array::insert(100000000000000)[value] }
-3.6 OK: $b[^array::append[$method]] $b[^array::new[$method]]
+3.6 OK: $b[^array::append[$method]] $b[^array::create[$method]]
3.7 $a[a1;a2;a3;a4] $b[b1;b2]
@@ -88,8 +93,8 @@ $a[^array::create[ ]]
3.8 ^a.insert(2)[d1;d2]
^show[$a]
-3.9 ^try-catch{ $a[^array::create{}] }
-3.10 ^try-catch{ $a[^array::create[not whitespace string]] }
+3.9 ^try-catch{ $a[^array::copy{}] }
+3.10 ^try-catch{ $a[^array::copy[not whitespace string]] }
3.11 ^a.join[ ]
3.12 ^try-catch{ ^a.join{}] }
@@ -101,6 +106,9 @@ $f[^file::load[text;253_json.txt; $.char
$s[^taint[as-is][$f.text]]
4.1. ^try-catch{ $o[^json:parse[$s][ $.array[x] ]] }
+ ^try-catch{ $o[^json:parse[$s][ $.array[$print] ]] }
+ ^try-catch{ $o[^json:parse[$s][ $.object[$print] ]] }
+ ^try-catch{ $o[^json:parse[$s][ $.bug[yes] ]] }
$o[^json:parse[$s][ $.distinct[all] ]]
@@ -118,6 +126,21 @@ $o.array.15[last]
4.7 ^try-catch{ ^print[^json:string[$o.array; $.array[bug] ]] }
+4.8 ^try-catch{ ^print[^json:string[$o.array; $.void[bug] ]] }
+
+4.9 ^try-catch{ ^print[^json:string[$o.array; $._default[$print] ]] }
+
+$a[0;1;2] $a.5[5]
+
+4.10 ^json:string[$a; $.array[array] ]
+
+4.11 ^json:string[$a; $.array[array] $.indent(1) ]
+
+4.12 ^json:string[$a; $.array[array] $.indent[ ] ]
+
+4.13 ^json:string[^array::create[]]
+
+4.14 ^json:string[^array::create[]; $.array[array] ]
@print[s]