github.com/joomcode/cue@v0.4.4-0.20221111115225-539fe3512047/cue/format/testdata/expressions.golden (about)

     1  package expressions
     2  
     3  {
     4  	a:   1  // comment
     5  	aaa: 22 // comment
     6  
     7  	"": 3
     8  
     9  	b: 3
    10  
    11  	c: b: a:       4
    12  	c?: bb?: aaa?: 5
    13  	c: b: [Name=string]: a: int
    14  	let alias = 3.14
    15  	"g\("en")"?: 4
    16  
    17  	let alias2 = foo // with comment
    18  	let aaalias = foo
    19  	b: bar
    20  
    21  	bottom: _|_
    22  
    23  	a:
    24  		b:
    25  			c: 2
    26  
    27  	a: bbbb: c: 3
    28  	a: b: 3
    29  	a: bb: cc: 3
    30  
    31  	empty: {}
    32  	emptyNewLine: {
    33  
    34  	}
    35  	someObject: {
    36  		a:   8
    37  		aa:  9
    38  		aaa: 10
    39  	}
    40  
    41  	#someDefinition: {
    42  		embedding
    43  
    44  		field: 2
    45  	}
    46  
    47  	#openDef: {
    48  		a: int
    49  		...
    50  	}
    51  
    52  	attrs: {
    53  		a:    8 @go(A) // comment
    54  		aa:   8 @go(A) // comment
    55  		bb:   9
    56  		bbb:  10  @go(Bbb) @xml(,attr)  // comment
    57  		bbbb: 100 @go(Bbbb) @xml(,attr) // comment
    58  	}
    59  
    60  	foo: {
    61  		bar: string @go(-)
    62  	}
    63  
    64  	e:  1 + 2*3
    65  	e:  1 * 2 * 3 // error
    66  	e:  >=2 & <=3
    67  	e:  >2 & <=(3 + 4)
    68  	ex: >2 & <=(3 + 4*5)
    69  	e:  >2 & <=3 & <=4
    70  	e:  1 + 2 + 3 // error
    71  
    72  	e: s[1+2]
    73  	e: s[1:2]
    74  	e: s[1+2 : 2+4]
    75  	e: s[2]
    76  	e: s[2*3]
    77  	e: s[1+2*3]
    78  
    79  	e: a |
    80  		b |
    81  		c
    82  
    83  	e:
    84  		a |
    85  		b | c |
    86  		d
    87  
    88  	e: f(3 + 4 + 5)
    89  	e: f(3 * 4 * 5)
    90  	e: f(3 + 4*5)
    91  
    92  	e: f(3 + 4 div 5)
    93  
    94  	e: 3 < 4 && 5 > 4
    95  	e: a || b && c || d
    96  
    97  	e: a + +b*3
    98  	e: -a - -b
    99  
   100  	e: b + c
   101  	e: b*c + d
   102  	e: a*b + c
   103  	e: a - b - c
   104  	e: a - (b - c)
   105  	e: a - b*c
   106  	e: a - (b * c)
   107  	e: a * b / c
   108  	e: a div b + 5
   109  	e: a / b
   110  	e: x[a | b]
   111  	e: x[a/b]
   112  	e: a & b
   113  	e: a + +b
   114  	e: a - -b
   115  	e: a div -b
   116  	e: x[a*-b]
   117  	e: x[a + +b]
   118  	e: len(longVariableName) * 2
   119  
   120  	e: "\(a)"
   121  	e: 'aa \(aaa) aa'
   122  	e: "aa \(aaa)"
   123  
   124  	e: [1, 2,
   125  	]
   126  	e: [1, 2]
   127  	e: [1, 2, 3, 4,
   128  		5, 6, 7, 8]
   129  	e: [1, 2, 3, 4,
   130  		5, 6, 7, 8, // maybe force additional comma
   131  	]
   132  	e: [...]
   133  	e: [
   134  		...]
   135  	e: [...,
   136  	]
   137  	e: [1, 2, ...]
   138  	e: [1, 2,
   139  		...]
   140  	e: [...int]
   141  	e: [...int]
   142  	e: [...int | float]
   143  	e: [ for x in someObject if x > 9 {
   144  		x
   145  	}]
   146  	e: [ for x in someObject if x > 9 {x}]
   147  	e: [
   148  		for x in someObject
   149  		if x > 9 {x}]
   150  	e: [
   151  		for x in someObject
   152  		if x > 9 {x}]
   153  
   154  	e: [
   155  		if x > 1 {},
   156  		if x > 1 {},
   157  		for x in src {},
   158  	]
   159  
   160  	for k, v in someObject {
   161  		"\(k)": v
   162  	}
   163  	for k, v in someObject {
   164  		"\(k)": v
   165  	}
   166  
   167  	e: {
   168  		for k, v in someObject
   169  		if k > "a" {
   170  			"\(k)": v
   171  		}
   172  	}
   173  
   174  	e: {for k, v in someObject if k > "a" {"\(k)": v}}
   175  	e: {for k, v in someObject if k > "a" {
   176  		"\(k)": v
   177  	}}
   178  
   179  	e: {
   180  		for k, v in someObject
   181  		let x = v
   182  		if k > "a" {
   183  			"\(k)": x
   184  		}}
   185  
   186  	if a |
   187  		b {
   188  		c: d
   189  	}
   190  
   191  	e: [{
   192  		a: 1, b: 2
   193  	}]
   194  
   195  	e: [{
   196  		a: 1, b: 2
   197  	},
   198  	]
   199  
   200  	e: [{
   201  		a: 1, b: 2
   202  	}, {
   203  		c: 1, d: 2
   204  	}]
   205  
   206  	e: [{
   207  		a: 1, b: 2
   208  	},
   209  		3,
   210  		4,
   211  	]
   212  
   213  	e: e.f(1, 2)
   214  
   215  	e: (3 + 4)
   216  
   217  	// field before list
   218  	f: 3
   219  	a: [1, 2, // add comma
   220  	]
   221  
   222  	foo: bar
   223  
   224  	a: "foo-bar": 3
   225  	b: a."foo-bar"
   226  	c: a."foo-bar".b
   227  	d: a.
   228  		"foo-bar"
   229  	e: a.
   230  		"foo-bar".
   231  		b
   232  	f: 2
   233  }