@@ -70,6 +70,7 @@ func findAllCapt(s: string, reg: Regex2): seq[seq[Slice[int]]] =
7070 result = map (
7171 findAll (s, reg),
7272 func (m: RegexMatch2 ): seq [Slice [int ]] =
73+ result = newSeq [Slice [int ]]()
7374 for i in 0 .. m.groupsCount- 1 :
7475 result .add m.group (i))
7576
@@ -696,3 +697,25 @@ test "rust_regression":
696697 check findAllBounds (r " hiya \N{snowman} bye " , re2 " (\\ N\ {[^}]+})|([{}])" ) == @ [5 .. 15 ]
697698 check findAllCapt (r " hiya \N{snowman} bye " , re2 " (\\ N\ {[^}]+})|([{}])" ) ==
698699 @ [@ [5 .. 15 , nonCapture]]
700+
701+ # https://github.com/BurntSushi/rebar/pull/20
702+ test " rebar" :
703+ block :
704+ check match (" ſ" , re2 (r " s " , {regexCaseless}))
705+ check match (" s" , re2 (r " ſ " , {regexCaseless}))
706+ check match (" ſ" , re2 (r " S " , {regexCaseless}))
707+ check match (" S" , re2 (r " ſ " , {regexCaseless}))
708+ check " ſ" .len == 2
709+ check findAllBounds (" ſ" , re2 (r " s " , {regexCaseless})) == @ [0 .. 1 ]
710+ check findAllBounds (" s" , re2 (r " ſ " , {regexCaseless})) == @ [0 .. 0 ]
711+ check findAllBounds (" ſ" , re2 (r " S " , {regexCaseless})) == @ [0 .. 1 ]
712+ check findAllBounds (" S" , re2 (r " ſ " , {regexCaseless})) == @ [0 .. 0 ]
713+ # XXX fix
714+ # check match("s", re2(r"[ſ]", {regexCaseless}))
715+ # check match("ſ", re2(r"[s]", {regexCaseless}))
716+ check match (" a" , re2 (r " A " , {regexCaseless}))
717+ check match (" A" , re2 (r " a " , {regexCaseless}))
718+ check match (" @" , re2 (r " @ " , {regexCaseless}))
719+ check findAllBounds (" a" , re2 (r " A " , {regexCaseless})) == @ [0 .. 0 ]
720+ check findAllBounds (" A" , re2 (r " a " , {regexCaseless})) == @ [0 .. 0 ]
721+ check findAllBounds (" @" , re2 (r " @ " , {regexCaseless})) == @ [0 .. 0 ]
0 commit comments