cuelang.org/go@v0.10.1/pkg/struct/testdata/struct.txtar (about)

     1  -- in.cue --
     2  import "struct"
     3  
     4  minFields: {
     5  	[string]: struct.MinFields(1)
     6  
     7  	incomplete1: {}
     8  	fail1: close({})
     9  	failOptional1: close({a?: 1})
    10  	failHidden1: close({_a: 1})
    11  	ok4: {_a: 1, a: 1}
    12  	ok1: {a: 1}
    13  	ok2: close({a: 1})
    14  	ok3: {a?: 1, a: 1}
    15  	ok5: {#a: int, a: #a & 1}
    16  }
    17  
    18  maxFields: {
    19  	[string]: struct.MaxFields(1)
    20  
    21  	ok1: {}
    22  	ok2: {a: 1}
    23  	ok3: close({a: 1})
    24  	ok4: {a?: 1, b?: 2}
    25  	ok5: {a: 1, _b: 2}
    26  	ok6: {a: 1, #b: int}
    27  
    28  	fail1: {a: 1, b: 2}
    29  }
    30  
    31  -- out/structs-v3 --
    32  Errors:
    33  minFields.fail1: invalid value {} (does not satisfy struct.MinFields(1)): len(fields) < MinFields(1) (0 < 1):
    34      ./in.cue:4:12
    35      ./in.cue:4:29
    36  minFields.failHidden1: invalid value {_a:1} (does not satisfy struct.MinFields(1)): len(fields) < MinFields(1) (0 < 1):
    37      ./in.cue:4:12
    38      ./in.cue:4:29
    39  minFields.failOptional1: invalid value {a?:1} (does not satisfy struct.MinFields(1)): len(fields) < MinFields(1) (0 < 1):
    40      ./in.cue:4:12
    41      ./in.cue:4:29
    42  maxFields.fail1: invalid value {a:1,b:2} (does not satisfy struct.MaxFields(1)): len(fields) > MaxFields(1) (2 > 1):
    43      ./in.cue:18:12
    44      ./in.cue:18:29
    45  
    46  Result:
    47  import "struct"
    48  
    49  minFields: {
    50  	incomplete1: {} & struct.MinFields(1)
    51  	fail1:         _|_ // minFields.fail1: invalid value {} (does not satisfy struct.MinFields(1)): len(fields) < MinFields(1) (0 < 1)
    52  	failOptional1: _|_ // minFields.failOptional1: invalid value {a?:1} (does not satisfy struct.MinFields(1)): len(fields) < MinFields(1) (0 < 1)
    53  	failHidden1:   _|_ // minFields.failHidden1: invalid value {_a:1} (does not satisfy struct.MinFields(1)): len(fields) < MinFields(1) (0 < 1)
    54  	ok4: {
    55  		a: 1
    56  	}
    57  	ok1: {
    58  		a: 1
    59  	}
    60  	ok2: {
    61  		a: 1
    62  	}
    63  	ok3: {
    64  		a: 1
    65  	}
    66  	ok5: {
    67  		#a: int
    68  		a:  1
    69  	}
    70  }
    71  maxFields: {
    72  	ok1: {}
    73  	ok2: {
    74  		a: 1
    75  	}
    76  	ok3: {
    77  		a: 1
    78  	}
    79  	ok4: {
    80  		a?: 1
    81  		b?: 2
    82  	}
    83  	ok5: {
    84  		a: 1
    85  	}
    86  	ok6: {
    87  		a:  1
    88  		#b: int
    89  	}
    90  	fail1: _|_ // maxFields.fail1: invalid value {a:1,b:2} (does not satisfy struct.MaxFields(1)): len(fields) > MaxFields(1) (2 > 1)
    91  }
    92  -- diff/explanation --
    93  failOptional1: the new evaluator fails as expected, but the old evaluator doesn't -
    94  perhaps due to a bug in either the old evaluator or test code.
    95  -- diff/-out/structs-v3<==>+out/structs --
    96  diff old new
    97  --- old
    98  +++ new
    99  @@ -2,15 +2,15 @@
   100   minFields.fail1: invalid value {} (does not satisfy struct.MinFields(1)): len(fields) < MinFields(1) (0 < 1):
   101       ./in.cue:4:12
   102       ./in.cue:4:29
   103  -    ./in.cue:7:9
   104   minFields.failHidden1: invalid value {_a:1} (does not satisfy struct.MinFields(1)): len(fields) < MinFields(1) (0 < 1):
   105       ./in.cue:4:12
   106       ./in.cue:4:29
   107  -    ./in.cue:9:15
   108  +minFields.failOptional1: invalid value {a?:1} (does not satisfy struct.MinFields(1)): len(fields) < MinFields(1) (0 < 1):
   109  +    ./in.cue:4:12
   110  +    ./in.cue:4:29
   111   maxFields.fail1: invalid value {a:1,b:2} (does not satisfy struct.MaxFields(1)): len(fields) > MaxFields(1) (2 > 1):
   112       ./in.cue:18:12
   113       ./in.cue:18:29
   114  -    ./in.cue:27:9
   115   
   116   Result:
   117   import "struct"
   118  @@ -17,11 +17,9 @@
   119   
   120   minFields: {
   121   	incomplete1: {} & struct.MinFields(1)
   122  -	fail1: _|_ // minFields.fail1: invalid value {} (does not satisfy struct.MinFields(1)): len(fields) < MinFields(1) (0 < 1)
   123  -	failOptional1: close({
   124  -		a?: 1
   125  -	}) & struct.MinFields(1)
   126  -	failHidden1: _|_ // minFields.failHidden1: invalid value {_a:1} (does not satisfy struct.MinFields(1)): len(fields) < MinFields(1) (0 < 1)
   127  +	fail1:         _|_ // minFields.fail1: invalid value {} (does not satisfy struct.MinFields(1)): len(fields) < MinFields(1) (0 < 1)
   128  +	failOptional1: _|_ // minFields.failOptional1: invalid value {a?:1} (does not satisfy struct.MinFields(1)): len(fields) < MinFields(1) (0 < 1)
   129  +	failHidden1:   _|_ // minFields.failHidden1: invalid value {_a:1} (does not satisfy struct.MinFields(1)): len(fields) < MinFields(1) (0 < 1)
   130   	ok4: {
   131   		a: 1
   132   	}
   133  -- diff/todo/p2 --
   134  Missing error positions.
   135  -- out/structs --
   136  Errors:
   137  minFields.fail1: invalid value {} (does not satisfy struct.MinFields(1)): len(fields) < MinFields(1) (0 < 1):
   138      ./in.cue:4:12
   139      ./in.cue:4:29
   140      ./in.cue:7:9
   141  minFields.failHidden1: invalid value {_a:1} (does not satisfy struct.MinFields(1)): len(fields) < MinFields(1) (0 < 1):
   142      ./in.cue:4:12
   143      ./in.cue:4:29
   144      ./in.cue:9:15
   145  maxFields.fail1: invalid value {a:1,b:2} (does not satisfy struct.MaxFields(1)): len(fields) > MaxFields(1) (2 > 1):
   146      ./in.cue:18:12
   147      ./in.cue:18:29
   148      ./in.cue:27:9
   149  
   150  Result:
   151  import "struct"
   152  
   153  minFields: {
   154  	incomplete1: {} & struct.MinFields(1)
   155  	fail1: _|_ // minFields.fail1: invalid value {} (does not satisfy struct.MinFields(1)): len(fields) < MinFields(1) (0 < 1)
   156  	failOptional1: close({
   157  		a?: 1
   158  	}) & struct.MinFields(1)
   159  	failHidden1: _|_ // minFields.failHidden1: invalid value {_a:1} (does not satisfy struct.MinFields(1)): len(fields) < MinFields(1) (0 < 1)
   160  	ok4: {
   161  		a: 1
   162  	}
   163  	ok1: {
   164  		a: 1
   165  	}
   166  	ok2: {
   167  		a: 1
   168  	}
   169  	ok3: {
   170  		a: 1
   171  	}
   172  	ok5: {
   173  		#a: int
   174  		a:  1
   175  	}
   176  }
   177  maxFields: {
   178  	ok1: {}
   179  	ok2: {
   180  		a: 1
   181  	}
   182  	ok3: {
   183  		a: 1
   184  	}
   185  	ok4: {
   186  		a?: 1
   187  		b?: 2
   188  	}
   189  	ok5: {
   190  		a: 1
   191  	}
   192  	ok6: {
   193  		a:  1
   194  		#b: int
   195  	}
   196  	fail1: _|_ // maxFields.fail1: invalid value {a:1,b:2} (does not satisfy struct.MaxFields(1)): len(fields) > MaxFields(1) (2 > 1)
   197  }