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 }