Annotation of parser3/tests/432.html, revision 1.1

1.1     ! moko        1: @main[]
        !             2: $a[^array::create[]]
        !             3: ^first_and_last[Empty hash (^$a[^^hash::create[]]);$a]
        !             4: 
        !             5: $a.1[a]
        !             6: ^first_and_last[One element was added (^$a.1[a]);$a]
        !             7: 
        !             8: ^a.delete(1)
        !             9: ^first_and_last[One element was deleted (^^a.delete[1]);$a]
        !            10: 
        !            11: $a.1[a]
        !            12: ^first_and_last[One element was added (^$a.1[a]);$a]
        !            13: 
        !            14: $a[^array::create[
        !            15:        $.1[a]
        !            16:        $.2[b]
        !            17:        $.3[c]
        !            18:        $.4[d]
        !            19:        $.5[e]
        !            20: ]]
        !            21: ^first_and_last[Hash with 5 elements (^$a[ ^$.1[a] ^$.2[b] ^$.3[c] ^$.4[d] ^$.5[e] ]);$a]
        !            22: 
        !            23: ^a.delete(5)
        !            24: ^first_and_last[The last element was deleted (^^a.delete[5]);$a]
        !            25: 
        !            26: ^a.delete(1)
        !            27: ^first_and_last[The first element was deleted (^^a.delete[1]);$a]
        !            28: 
        !            29: $a.5[e]
        !            30: ^first_and_last[One element was added at the end (^$a.5[e]);$a]
        !            31: 
        !            32: $a.3[cc]
        !            33: ^first_and_last[One element was added at the middle (^$a.3[cc]);$a]
        !            34: 
        !            35: <h3>_at on hash with 5 elements (^$a[ ^$.1[a] ^$.2[b] ^$.3[c] ^$.4[d] ^$.5[e] ])</h3>
        !            36: $a[^array::create[
        !            37:        $.1[a]
        !            38:        $.2[b]
        !            39:        $.3[c]
        !            40:        $.4[d]
        !            41:        $.5[e]
        !            42: ]]
        !            43: ^at(0)
        !            44: ^at(1)
        !            45: ^at(2)
        !            46: ^at(3)
        !            47: ^at(4)
        !            48: 
        !            49: <br />
        !            50: ^at(-1)
        !            51: ^at(-2)
        !            52: ^at(-3)
        !            53: ^at(-4)
        !            54: ^at(-5)
        !            55: 
        !            56: <br />
        !            57: ^at(0)[key]
        !            58: ^at(1)[key]
        !            59: ^at(2)[key]
        !            60: ^at(3)[key]
        !            61: ^at(4)[key]
        !            62: 
        !            63: <br />
        !            64: ^at(0)[value]
        !            65: ^at(1)[value]
        !            66: ^at(2)[value]
        !            67: ^at(3)[value]
        !            68: ^at(4)[value]
        !            69: 
        !            70: <br />
        !            71: ^at(0)[hash]
        !            72: ^at(1)[hash]
        !            73: ^at(2)[hash]
        !            74: ^at(3)[hash]
        !            75: ^at(4)[hash]
        !            76: 
        !            77: <br />
        !            78: # check if values preserve tainting. keys are always lost tainting
        !            79: <h3>The first element was replaced (^$a.1[b&b])</h3>
        !            80: $a.1[b&b]
        !            81: ^^a._at[first;hash]=^print[^a._at[first;hash]]<br />
        !            82: ^at(0)[key]
        !            83: ^at(0)[value]
        !            84: ^at(0)[hash]
        !            85: <h3>One element was added at the end (^$a.100[^^taint[d&d]])</h3>
        !            86: $a.100[^taint[d&d]]
        !            87: ^at(5)[key]
        !            88: ^at(5)[value]
        !            89: ^at(5)[hash]
        !            90: ^^a._at[last;hash]=^print[^a._at[last;hash]]<br />
        !            91: 
        !            92: <br />
        !            93: ^do[^^a._at[]]{must fail^a._at[]}
        !            94: ^do[^^a._at[first^;key^;hren]]{must fail^a._at[first;key;hren]}
        !            95: ^do[^^a._at(1){code}]{must fail^a._at(1){code}}
        !            96: ^do[^^a._at(1)(true)]{must fail^a._at(1)(true)}
        !            97: ^do[^^a._at[hren]]{must fail^a._at[hren]}
        !            98: ^do[^^a._at[first][hren]]{must fail^a._at[first][hren]}
        !            99: ^do[^^a._at[last][hren]]{must fail^a._at[last][hren]}
        !           100: ^do[^^a._at(1)[hren]]{must fail^a._at(1)[hren]}
        !           101: 
        !           102: @at[i;type]
        !           103: ^^a._at($i)^if(def $type){[$type]}=^print[^if(def $type){^a._at($i)[$type]}{^a._at($i)}]<br />
        !           104: 
        !           105: @first_and_last[sTitle;a]
        !           106: ^if(def $sTitle){<h3>$sTitle</h3>}
        !           107: first:last='^a._at[first]':'^a._at[last;value]'<br />
        !           108: first_key:last_key='^a._at[first;key]':'^a._at[last;key]'<br />
        !           109: 
        !           110: @do[label;code]
        !           111: $label=^try{${code}}{$exception.handled(true)<b>^taint[as-is;$exception.comment]</b>}<br />
        !           112: 
        !           113: @print[u][k;v]
        !           114: ^if($u is "array" || $u is "hash"){
        !           115:        $result[^u.foreach[k;v]{'$k':'$v'}[, ]]
        !           116: }{
        !           117:        $result[$u]
        !           118: }

E-mail: