1(* Check that we properly discard skeletons when we shift subtrees   *)
2(* across lenses. The test shifts a subtree parsed with SND to one   *)
3(* that is put with FST. Since the two have different skeleton types *)
4(* we need to ignore the skeleton that comes with it.                *)
5module Pass_array =
6
7  let array =
8    let array_value = store /[a-z0-9]+/ in
9    let fst = seq "values" . array_value . del /[ \t]+/ "\t" in
10    let snd = seq "values" . array_value in
11    del "(" "(" . counter "values" .
12    [ fst ] * . [ snd ] . del ")" ")"
13
14  let lns = [ key /[a-z]+/ . del "=" "=" . array ]
15
16  test lns put "var=(v1 v2)" after
17    set "var/3" "v3" = "var=(v1 v2\tv3)"
18