blob: 5a65b4ac78a83fba39617c0dad2b7356c48597b8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
# file : tests/regex/testscript
# copyright : Copyright (c) 2014-2019 Code Synthesis Ltd
# license : MIT; see accompanying LICENSE file
: replace-search
:
{
$* abcbd b x >axcxd : all
$* -ffo abcbd b x >axcbd : first-only
$* -fnc abcbd b x >xx : no-copy
: ecma-escape
:
{
$* xay a '$b' >'x$by' : none
$* xay a '$' >'x$y' : none-term
$* xay a '$$' >'x$y' : self
$* xay a 'b$&c' >'xbacy' : match
$* xay a 'b$`c' >'xbxcy' : match-precede
$* xay a "b\\\$'c" >'xbycy' : match-follow
: capture
:
{
$* abcdefghij '(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)' '$1$10' >aj : matched
$* a '(a)|(b)' '$1$2$3' >a : unmatched
}
}
: perl-escape
:
{
$* xay a '\b' >'xby' : none
$* xay a '\' >'xy' : none-term
$* xay a '\\' >'x\y' : self
: capture
:
{
$* abcdefghij '(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)' '\1\10' >aa0 : matched
$* a '(a)|(b)' '\1\2\3' >a : unmatched
}
: upper
:
{
$* xay a '\U' >xy : none
$* xay a '\Uvz' >xVZy : repl
$* xay a '\Uv\Ez' >xVzy : end
$* aa a 'v\Uz' >vZvZ : locality
$* xay '(a)' '\U\1' >xAy : capt
$* x-y '(a?)-' '\U\1z' >xZy : capt-empty
$* xay a '\uvz' >xVzy : once
}
: lower
:
$* xay a '\lVZ' >xvZy
}
}
: replace-match
:
{
test.options += -m
$* abc 'a(b)c' 'x\1y' >xby : match
$* abcd 'a(b)c' 'x\1yd' == 1 : no-match
}
|