cuelang.org/go@v0.13.0/cue/testdata/fulleval/051_detectIncompleteYAML.txtar (about)

     1  #name: detectIncompleteYAML
     2  #evalFull
     3  -- in.cue --
     4  package foobar
     5  
     6  import yaml "encoding/yaml"
     7  
     8  #Spec: {
     9  	_vars: {something: string}
    10  	data: {
    11  		#foo: {
    12  			use: _vars.something
    13  		}
    14  		baz:    yaml.Marshal(_vars.something)
    15  		foobar: yaml.Marshal(#foo)
    16  	}
    17  }
    18  Val: #Spec & {
    19  	_vars: something: "var-string"
    20  }
    21  -- out/def --
    22  package foobar
    23  
    24  import "encoding/yaml"
    25  
    26  #Spec: {
    27  	_vars: {
    28  		something: string
    29  	}
    30  	data: {
    31  		#foo: {
    32  			use: _vars.something
    33  		}
    34  		baz:    yaml.Marshal(_vars.something)
    35  		foobar: yaml.Marshal(#foo)
    36  	}
    37  }
    38  Val: #Spec & {
    39  	_vars: {
    40  		something: "var-string"
    41  	}
    42  }
    43  -- out/export --
    44  Val: {
    45  	data: {
    46  		baz: """
    47          var-string
    48          
    49          """
    50  		foobar: """
    51          use: var-string
    52          
    53          """
    54  	}
    55  }
    56  -- out/yaml --
    57  Val:
    58    data:
    59      baz: |
    60        var-string
    61      foobar: |
    62        use: var-string
    63  -- out/json --
    64  {"Val":{"data":{"baz":"var-string\n","foobar":"use: var-string\n"}}}
    65  -- out/legacy-debug --
    66  <0>{#Spec: <1>C{_vars: <2>C{something: string}, data: <3>C{#foo: <4>C{use: string}, baz: <5>.Marshal (<6>._vars.something), foobar: <5>.Marshal (<7>.#foo)}}, Val: <8>C{_vars: <9>C{something: "var-string"}, data: <10>C{#foo: <11>C{use: "var-string"}, baz: "var-string\n", foobar: "use: var-string\n"}}}
    67  -- out/eval/stats --
    68  Leaks:  0
    69  Freed:  17
    70  Reused: 12
    71  Allocs: 5
    72  Retain: 0
    73  
    74  Unifications: 17
    75  Conjuncts:    32
    76  Disjuncts:    17
    77  -- out/eval --
    78  (struct){
    79    #Spec: (#struct){
    80      _vars(:foobar): (#struct){
    81        something: (string){ string }
    82      }
    83      data: (#struct){
    84        #foo: (#struct){
    85          use: (string){ string }
    86        }
    87        baz: (_|_){
    88          // [incomplete] #Spec.data.baz: non-concrete argument 0:
    89          //     ./in.cue:11:11
    90        }
    91        foobar: (_|_){
    92          // [incomplete] #Spec.data.foobar: error in call to encoding/yaml.Marshal: incomplete value string:
    93          //     ./in.cue:12:11
    94          //     ./in.cue:6:21
    95        }
    96      }
    97    }
    98    Val: (#struct){
    99      _vars(:foobar): (#struct){
   100        something: (string){ "var-string" }
   101      }
   102      data: (#struct){
   103        #foo: (#struct){
   104          use: (string){ "var-string" }
   105        }
   106        baz: (string){ "var-string\n" }
   107        foobar: (string){ "use: var-string\n" }
   108      }
   109    }
   110  }
   111  -- out/compile --
   112  --- in.cue
   113  {
   114    #Spec: {
   115      _vars: {
   116        something: string
   117      }
   118      data: {
   119        #foo: {
   120          use: 〈2;_vars〉.something
   121        }
   122        baz: 〈import;"encoding/yaml"〉.Marshal(〈1;_vars〉.something)
   123        foobar: 〈import;"encoding/yaml"〉.Marshal(〈0;#foo〉)
   124      }
   125    }
   126    Val: (〈0;#Spec〉 & {
   127      _vars: {
   128        something: "var-string"
   129      }
   130    })
   131  }