blob: 40eda99c6793c06a51040a8bb598ac4205822203 [file] [log] [blame]
# DO NOT EDIT; generated by go run testdata/gen.go
#
#name: optionals with label filters
#evalFull
-- in.cue --
#JobID: =~"^[a-zA-Z]*$"
#Job: {
name: string
cmd: string
}
#Jobs: {
{[#JobID]: #Job}
{[=~"Test$"]: name: =~"^test"}// Must work without ...
}
jobs: foo: name: "allGood"
jobs: foo: name: "allGood"
jobs1: #Jobs
jobs1: foo1: {} // faulty
jobs2: #Jobs
jobs2: fooTest: name: "badName" // faulty
jobs3: #Jobs
jobs3: [string]: #Job
jobs3: fooTest1: name: "badName" // faulty
-- out/def --
#JobID: =~"^[a-zA-Z]*$"
#Job: {
name: string
cmd: string
}
#Jobs: {
{[#JobID]: #Job}
{[=~"Test$"]: {
name: =~"^test", ...
}}
}
jobs: {
foo: {
name: "allGood"
}
}
jobs1: _|_ // field "foo1" not allowed in closed struct
jobs2: #Jobs & {
fooTest: {
name: "badName"
}
}
jobs3: _|_ // field "fooTest1" not allowed in closed struct
-- out/legacy-debug --
<0>{#JobID: =~"^[a-zA-Z]*$", #Job: <1>C{name: string, cmd: string}, #Jobs: <2>C{[=~"^[a-zA-Z]*$"]: <3>(_: string)-><4>.#Job, [=~"Test$"]: <5>(_: string)-><6>C{name: =~"^test"}, }, jobs: <7>{foo: <8>{name: "allGood"}}, jobs1: _|_(<9>{}:field "foo1" not allowed in closed struct), jobs2: <10>C{[=~"^[a-zA-Z]*$"]: <11>(_: string)-><4>.#Job, [=~"Test$"]: <12>(_: string)-><13>C{name: =~"^test"}, fooTest: _|_(string:field "cmd" not allowed in closed struct)}, jobs3: _|_(<14>{name: "badName"}:field "fooTest1" not allowed in closed struct)}
-- out/compile --
--- in.cue
{
#JobID: =~"^[a-zA-Z]*$"
#Job: {
name: string
cmd: string
}
#Jobs: {
{
[〈2;#JobID〉]: 2;#Job
}
{
[=~"Test$"]: {
name: =~"^test"
}
}
}
jobs: {
foo: {
name: "allGood"
}
}
jobs: {
foo: {
name: "allGood"
}
}
jobs1: 0;#Jobs
jobs1: {
foo1: {}
}
jobs2: 0;#Jobs
jobs2: {
fooTest: {
name: "badName"
}
}
jobs3: 0;#Jobs
jobs3: {
[string]: 1;#Job
}
jobs3: {
fooTest1: {
name: "badName"
}
}
}
-- out/eval --
Errors:
jobs1: field `foo1` not allowed
jobs3: field `fooTest1` not allowed
jobs3.fooTest1: field `cmd` not allowed
jobs2.fooTest.name: invalid value "badName" (out of bound =~"^test"):
./in.cue:9:22
Result:
(_|_){
// [eval]
#JobID: (string){ =~"^[a-zA-Z]*$" }
#Job: (#struct){
name: (string){ string }
cmd: (string){ string }
}
#Jobs: (#struct){
}
jobs: (struct){
foo: (struct){
name: (string){ "allGood" }
}
}
jobs1: (_|_){
// [eval] jobs1: field `foo1` not allowed
foo1: (#struct){
}
}
jobs2: (_|_){
// [eval]
fooTest: (_|_){
// [eval]
name: (_|_){
// [eval] jobs2.fooTest.name: invalid value "badName" (out of bound =~"^test"):
// ./in.cue:9:22
}
cmd: (string){ string }
}
}
jobs3: (_|_){
// [eval] jobs3: field `fooTest1` not allowed
fooTest1: (_|_){
// [eval] jobs3.fooTest1: field `cmd` not allowed
name: (string){ "badName" }
cmd: (string){ string }
}
}
}