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

     1  -- in.cue --
     2  import "struct"
     3  
     4  minFields1: {
     5  	[string]: struct.MinFields(1)
     6  
     7  	incomplete1: {}
     8  	optIncomplete: {a?: string}
     9  
    10  	fail1: close({})
    11  	optCloseIncomplete: close({a?: 1})
    12  	failHidden1: close({_a: 1})
    13  
    14  	ok4: {_a: 1, a: 1}
    15  	ok1: {a: 1}
    16  	ok2: close({a: 1})
    17  	ok3: {a?: 1, a: 1}
    18  	ok5: {#a: int, a: #a & 1}
    19  }
    20  
    21  minFields2: {
    22  	[string]: struct.MinFields(2)
    23  
    24  	incomplete1: close({a?: string, b: 1})
    25  	incomplete2: close({a?: string, b?: int})
    26  	incomplete3: close({a?: string, b?: int, c: 1})
    27  	incomplete4: close({a?: string, b?: int, c?: int})
    28  
    29  	fail: close({a?: string})
    30  }
    31  
    32  maxFields: {
    33  	[string]: struct.MaxFields(1)
    34  
    35  	ok1: {}
    36  	ok2: {a: 1}
    37  	ok3: close({a: 1})
    38  	ok4: {a?: 1, b?: 2}
    39  	ok5: {a: 1, _b: 2}
    40  	ok6: {a: 1, #b: int}
    41  
    42  	fail1: {a: 1, b: 2}
    43  }
    44  
    45  -- out/structs-v3 --
    46  Errors:
    47  minFields1.fail1: invalid value {} (does not satisfy struct.MinFields(1)): len(fields) < MinFields(1) (0 < 1):
    48      ./in.cue:4:12
    49      ./in.cue:4:29
    50      ./in.cue:9:9
    51  minFields1.failHidden1: invalid value {_a:1} (does not satisfy struct.MinFields(1)): len(fields) < MinFields(1) (0 < 1):
    52      ./in.cue:4:12
    53      ./in.cue:4:29
    54      ./in.cue:11:15
    55  minFields2.fail: invalid value {a?:string} (does not satisfy struct.MinFields(2)): len(fields) < MinFields(2) (0 < 2):
    56      ./in.cue:21:12
    57      ./in.cue:21:29
    58      ./in.cue:28:8
    59  maxFields.fail1: invalid value {a:1,b:2} (does not satisfy struct.MaxFields(1)): len(fields) > MaxFields(1) (2 > 1):
    60      ./in.cue:32:12
    61      ./in.cue:32:29
    62      ./in.cue:41:9
    63  
    64  Result:
    65  import "struct"
    66  
    67  minFields1: {
    68  	incomplete1: struct.MinFields(1) & {}
    69  	optIncomplete: struct.MinFields(1) & {
    70  		a?: string
    71  	}
    72  	fail1: _|_ // minFields1.fail1: invalid value {} (does not satisfy struct.MinFields(1)): len(fields) < MinFields(1) (0 < 1)
    73  	optCloseIncomplete: struct.MinFields(1) & close({
    74  		a?: 1
    75  	})
    76  	failHidden1: _|_ // minFields1.failHidden1: invalid value {_a:1} (does not satisfy struct.MinFields(1)): len(fields) < MinFields(1) (0 < 1)
    77  	ok4: {
    78  		a: 1
    79  	}
    80  	ok1: {
    81  		a: 1
    82  	}
    83  	ok2: {
    84  		a: 1
    85  	}
    86  	ok3: {
    87  		a: 1
    88  	}
    89  	ok5: {
    90  		#a: int
    91  		a:  1
    92  	}
    93  }
    94  minFields2: {
    95  	incomplete1: struct.MinFields(2) & close({
    96  		a?: string
    97  		b:  1
    98  	})
    99  	incomplete2: struct.MinFields(2) & close({
   100  		a?: string
   101  		b?: int
   102  	})
   103  	incomplete3: struct.MinFields(2) & close({
   104  		a?: string
   105  		b?: int
   106  		c:  1
   107  	})
   108  	incomplete4: struct.MinFields(2) & close({
   109  		a?: string
   110  		b?: int
   111  		c?: int
   112  	})
   113  	fail: _|_ // minFields2.fail: invalid value {a?:string} (does not satisfy struct.MinFields(2)): len(fields) < MinFields(2) (0 < 2)
   114  }
   115  maxFields: {
   116  	ok1: {}
   117  	ok2: {
   118  		a: 1
   119  	}
   120  	ok3: {
   121  		a: 1
   122  	}
   123  	ok4: {
   124  		a?: 1
   125  		b?: 2
   126  	}
   127  	ok5: {
   128  		a: 1
   129  	}
   130  	ok6: {
   131  		a:  1
   132  		#b: int
   133  	}
   134  	fail1: _|_ // maxFields.fail1: invalid value {a:1,b:2} (does not satisfy struct.MaxFields(1)): len(fields) > MaxFields(1) (2 > 1)
   135  }
   136  -- diff/-out/structs-v3<==>+out/structs --
   137  diff old new
   138  --- old
   139  +++ new
   140  @@ -7,6 +7,10 @@
   141       ./in.cue:4:12
   142       ./in.cue:4:29
   143       ./in.cue:11:15
   144  +minFields2.fail: invalid value {a?:string} (does not satisfy struct.MinFields(2)): len(fields) < MinFields(2) (0 < 2):
   145  +    ./in.cue:21:12
   146  +    ./in.cue:21:29
   147  +    ./in.cue:28:8
   148   maxFields.fail1: invalid value {a:1,b:2} (does not satisfy struct.MaxFields(1)): len(fields) > MaxFields(1) (2 > 1):
   149       ./in.cue:32:12
   150       ./in.cue:32:29
   151  @@ -61,9 +65,7 @@
   152   		b?: int
   153   		c?: int
   154   	})
   155  -	fail: struct.MinFields(2) & close({
   156  -		a?: string
   157  -	})
   158  +	fail: _|_ // minFields2.fail: invalid value {a?:string} (does not satisfy struct.MinFields(2)): len(fields) < MinFields(2) (0 < 2)
   159   }
   160   maxFields: {
   161   	ok1: {}
   162  -- diff/todo/p2 --
   163  Missing error positions.
   164  -- diff/explanation --
   165  minFields1.fail1: the new evaluator fails as expected. It is more precise than
   166  the old evaluator.
   167  -- out/structs --
   168  Errors:
   169  minFields1.fail1: invalid value {} (does not satisfy struct.MinFields(1)): len(fields) < MinFields(1) (0 < 1):
   170      ./in.cue:4:12
   171      ./in.cue:4:29
   172      ./in.cue:9:9
   173  minFields1.failHidden1: invalid value {_a:1} (does not satisfy struct.MinFields(1)): len(fields) < MinFields(1) (0 < 1):
   174      ./in.cue:4:12
   175      ./in.cue:4:29
   176      ./in.cue:11:15
   177  maxFields.fail1: invalid value {a:1,b:2} (does not satisfy struct.MaxFields(1)): len(fields) > MaxFields(1) (2 > 1):
   178      ./in.cue:32:12
   179      ./in.cue:32:29
   180      ./in.cue:41:9
   181  
   182  Result:
   183  import "struct"
   184  
   185  minFields1: {
   186  	incomplete1: struct.MinFields(1) & {}
   187  	optIncomplete: struct.MinFields(1) & {
   188  		a?: string
   189  	}
   190  	fail1: _|_ // minFields1.fail1: invalid value {} (does not satisfy struct.MinFields(1)): len(fields) < MinFields(1) (0 < 1)
   191  	optCloseIncomplete: struct.MinFields(1) & close({
   192  		a?: 1
   193  	})
   194  	failHidden1: _|_ // minFields1.failHidden1: invalid value {_a:1} (does not satisfy struct.MinFields(1)): len(fields) < MinFields(1) (0 < 1)
   195  	ok4: {
   196  		a: 1
   197  	}
   198  	ok1: {
   199  		a: 1
   200  	}
   201  	ok2: {
   202  		a: 1
   203  	}
   204  	ok3: {
   205  		a: 1
   206  	}
   207  	ok5: {
   208  		#a: int
   209  		a:  1
   210  	}
   211  }
   212  minFields2: {
   213  	incomplete1: struct.MinFields(2) & close({
   214  		a?: string
   215  		b:  1
   216  	})
   217  	incomplete2: struct.MinFields(2) & close({
   218  		a?: string
   219  		b?: int
   220  	})
   221  	incomplete3: struct.MinFields(2) & close({
   222  		a?: string
   223  		b?: int
   224  		c:  1
   225  	})
   226  	incomplete4: struct.MinFields(2) & close({
   227  		a?: string
   228  		b?: int
   229  		c?: int
   230  	})
   231  	fail: struct.MinFields(2) & close({
   232  		a?: string
   233  	})
   234  }
   235  maxFields: {
   236  	ok1: {}
   237  	ok2: {
   238  		a: 1
   239  	}
   240  	ok3: {
   241  		a: 1
   242  	}
   243  	ok4: {
   244  		a?: 1
   245  		b?: 2
   246  	}
   247  	ok5: {
   248  		a: 1
   249  	}
   250  	ok6: {
   251  		a:  1
   252  		#b: int
   253  	}
   254  	fail1: _|_ // maxFields.fail1: invalid value {a:1,b:2} (does not satisfy struct.MaxFields(1)): len(fields) > MaxFields(1) (2 > 1)
   255  }