[test] Update regex literal tests

This commit is contained in:
Hamish Knight
2022-04-04 11:51:41 +01:00
parent 6af73245c6
commit 51130bfb07
5 changed files with 30 additions and 49 deletions

View File

@@ -1,48 +1,38 @@
// RUN: %target-typecheck-verify-swift -enable-experimental-string-processing
// REQUIRES: swift_in_compiler
_ = re'(' // expected-error {{expected ')'}}
_ = #/(/# // expected-error {{expected ')'}}
// FIXME: Should be 'group openings'
_ = re')' // expected-error {{closing ')' does not balance any groups openings}}
_ = #/)/# // expected-error {{closing ')' does not balance any groups openings}}
_ = #/\\/''/ // expected-error {{unterminated regex literal}}
_ = #|\| // expected-error {{unterminated regex literal}}
_ = #/\| // expected-error {{unterminated regex literal}}
_ = #// // expected-error {{unterminated regex literal}}
_ = re'x // expected-error {{unterminated regex literal}}
_ = #/xy // expected-error {{unterminated regex literal}}
_ = re'(?' // expected-error {{expected group specifier}}
_ = #/(?/# // expected-error {{expected group specifier}}
_ = #/(?'/# // expected-error {{expected group name}}
_ = #/(?'abc/# // expected-error {{expected '''}}
_ = #/(?'abc /# // expected-error {{expected '''}}
_ = re'(?'' // expected-error {{unterminated regex literal}}
// expected-error@-1 {{expected group name}}
do {
_ = #/(?'a
// expected-error@-1 {{unterminated regex literal}}
// expected-error@-2 {{cannot parse regular expression: expected '''}}
}
_ = re'(?'abc' // expected-error {{unterminated regex literal}}
// expected-error@-1 {{expected ')'}}
_ = #/\(?'abc/#
// TODO: Maybe change "unterminated string literal" to "unterminated single quote"?
_ = re'(?'abc ' // expected-error {{unterminated string literal}}
// expected-error@-1 {{expected group specifier}}
// expected-error@-2 {{consecutive statements on a line must be separated by ';'}}
_ = re'(?'a // expected-error {{expected group specifier}}
// expected-error@-1 {{cannot find 'a' in scope}}
// expected-error@-2 {{consecutive statements on a line must be separated by ';'}}
_ = re'\(?'abc' // expected-error {{unterminated string literal}}
// expected-error@-1 {{consecutive statements on a line must be separated by ';'}}
_ = re'\
'
_ = #/\
/#
// expected-error@-2 {{unterminated regex literal}}
// expected-error@-3 {{expected escape sequence}}
// expected-error@-3 {{unterminated string literal}}
// expected-error@-3 {{expected expression}}
func foo<T>(_ x: T, _ y: T) {}
foo(re'(?', re'abc') // expected-error {{expected group specifier}}
foo(re'(?C', re'abc') // expected-error {{expected ')'}}
foo(#/(?/#, #/abc/#) // expected-error {{expected group specifier}}
foo(#/(?C/#, #/abc/#) // expected-error {{expected ')'}}
foo(re'(?'', re'abc') // expected-error {{expected group name}}
// expected-error@-1 {{unterminated string literal}}
// expected-error@-2 {{expected ',' separator}}
foo(#/(?'/#, #/abc/#) // expected-error {{expected group name}}