| # DO NOT EDIT; generated by go run testdata/gen.go |
| # |
| #name: regexp |
| #evalPartial |
| -- in.cue -- |
| c1: "a" =~ "a" |
| c2: "foo" =~ "[a-z]{3}" |
| c3: "foo" =~ "[a-z]{4}" |
| c4: "foo" !~ "[a-z]{4}" |
| |
| b1: =~"a" |
| b1: "a" |
| b2: =~"[a-z]{3}" |
| b2: "foo" |
| b3: =~"[a-z]{4}" |
| b3: "foo" |
| b4: !~"[a-z]{4}" |
| b4: "foo" |
| |
| s1: !="b" & =~"c" // =~"c" |
| s2: =~"c" & !="b" // =~"c" |
| s3: !="b" & =~"[a-z]" // != "b" & =~"[a-z]" |
| s4: =~"[a-z]" & !="b" // != "b" & =~"[a-z]" |
| |
| e1: "foo" =~ 1 |
| e2: "foo" !~ true |
| e3: !="a" & <5 |
| -- out/def -- |
| c1: true |
| c2: true |
| c3: false |
| c4: true |
| b1: "a" |
| b2: "foo" |
| b3: _|_ // invalid value "foo" (does not match =~"[a-z]{4}") |
| b4: "foo" |
| s1: =~"c" |
| s2: !="b" & =~"[a-z]" |
| e1: _|_ // invalid operation "foo" =~ 1 (mismatched types string and int) |
| e2: _|_ // invalid operation "foo" !~ true (mismatched types string and bool) |
| e3: _|_ // conflicting values !="a" and <5 (mismatched types string and number) |
| -- out/legacy-debug -- |
| <0>{c1: true, c2: true, c3: false, c4: true, b1: "a", b2: "foo", b3: _|_((=~"[a-z]{4}" & "foo"):invalid value "foo" (does not match =~"[a-z]{4}")), b4: "foo", s1: =~"c", s2: (!="b" & =~"[a-z]"), e1: _|_(("foo" =~ 1):invalid operation "foo" =~ 1 (mismatched types string and int)), e2: _|_(("foo" !~ true):invalid operation "foo" !~ true (mismatched types string and bool)), e3: _|_((!="a" & <5):conflicting values !="a" and <5 (mismatched types string and number))} |
| -- out/compile -- |
| --- in.cue |
| { |
| c1: ("a" =~ "a") |
| c2: ("foo" =~ "[a-z]{3}") |
| c3: ("foo" =~ "[a-z]{4}") |
| c4: ("foo" !~ "[a-z]{4}") |
| b1: =~"a" |
| b1: "a" |
| b2: =~"[a-z]{3}" |
| b2: "foo" |
| b3: =~"[a-z]{4}" |
| b3: "foo" |
| b4: !~"[a-z]{4}" |
| b4: "foo" |
| s1: (!="b" & =~"c") |
| s2: (=~"c" & !="b") |
| s3: (!="b" & =~"[a-z]") |
| s4: (=~"[a-z]" & !="b") |
| e1: ("foo" =~ 1) |
| e2: ("foo" !~ true) |
| e3: (!="a" & <5) |
| } |
| -- out/eval -- |
| Errors: |
| e3: conflicting values !="a" and <5 (mismatched types string and number): |
| ./in.cue:22:5 |
| ./in.cue:22:13 |
| b3: invalid value "foo" (out of bound =~"[a-z]{4}"): |
| ./in.cue:10:5 |
| ./in.cue:11:5 |
| e1: cannot use 1 (type int) as type (string|bytes): |
| ./in.cue:20:5 |
| ./in.cue:20:14 |
| e2: cannot use true (type bool) as type (string|bytes): |
| ./in.cue:21:5 |
| ./in.cue:21:14 |
| |
| Result: |
| (_|_){ |
| // [eval] |
| c1: (bool){ true } |
| c2: (bool){ true } |
| c3: (bool){ false } |
| c4: (bool){ true } |
| b1: (string){ "a" } |
| b2: (string){ "foo" } |
| b3: (_|_){ |
| // [eval] b3: invalid value "foo" (out of bound =~"[a-z]{4}"): |
| // ./in.cue:10:5 |
| // ./in.cue:11:5 |
| } |
| b4: (string){ "foo" } |
| s1: (string){ =~"c" } |
| s2: (string){ =~"c" } |
| s3: (string){ &(!="b", =~"[a-z]") } |
| s4: (string){ &(=~"[a-z]", !="b") } |
| e1: (_|_){ |
| // [eval] e1: cannot use 1 (type int) as type (string|bytes): |
| // ./in.cue:20:5 |
| // ./in.cue:20:14 |
| } |
| e2: (_|_){ |
| // [eval] e2: cannot use true (type bool) as type (string|bytes): |
| // ./in.cue:21:5 |
| // ./in.cue:21:14 |
| } |
| e3: (_|_){ |
| // [eval] e3: conflicting values !="a" and <5 (mismatched types string and number): |
| // ./in.cue:22:5 |
| // ./in.cue:22:13 |
| } |
| } |