...

Text file src/cuelang.org/go/cue/testdata/disjunctions/operands.txtar

Documentation: cuelang.org/go/cue/testdata/disjunctions

     1# This file tests disjunctions used as operands.
     2
     3-- in.cue --
     4list:      *[1] | [2]
     5condition: *true | false
     6num:       *1 | 2
     7object:    *{a: 1} | {a: 2}
     8
     9forLoop: [
    10	for e in list {
    11		"count: \(e)"
    12	},
    13]
    14
    15conditional: {
    16	if condition {
    17		a: 3
    18	}
    19	if num < 5 {
    20		b: 3
    21	}
    22}
    23
    24selector: {
    25	a: object.a
    26}
    27
    28index: {
    29	a: list[0]
    30}
    31
    32binOp: {
    33	a: num + 4
    34}
    35
    36unaryOp: {
    37	a: -num
    38}
    39-- out/eval/stats --
    40Leaks:  0
    41Freed:  30
    42Reused: 25
    43Allocs: 5
    44Retain: 0
    45
    46Unifications: 22
    47Conjuncts:    33
    48Disjuncts:    30
    49-- out/eval --
    50(struct){
    51  list: (list){ |(*(#list){
    52      0: (int){ 1 }
    53    }, (#list){
    54      0: (int){ 2 }
    55    }) }
    56  condition: (bool){ |(*(bool){ true }, (bool){ false }) }
    57  num: (int){ |(*(int){ 1 }, (int){ 2 }) }
    58  object: (struct){ |(*(struct){
    59      a: (int){ 1 }
    60    }, (struct){
    61      a: (int){ 2 }
    62    }) }
    63  forLoop: (#list){
    64    0: (string){ "count: 1" }
    65  }
    66  conditional: (struct){
    67    a: (int){ 3 }
    68    b: (int){ 3 }
    69  }
    70  selector: (struct){
    71    a: (int){ 1 }
    72  }
    73  index: (struct){
    74    a: (int){ 1 }
    75  }
    76  binOp: (struct){
    77    a: (int){ 5 }
    78  }
    79  unaryOp: (struct){
    80    a: (int){ -1 }
    81  }
    82}
    83-- out/compile --
    84--- in.cue
    85{
    86  list: (*[
    87    1,
    88  ]|[
    89    2,
    90  ])
    91  condition: (*true|false)
    92  num: (*1|2)
    93  object: (*{
    94    a: 1
    95  }|{
    96    a: 2
    97  })
    98  forLoop: [
    99    for _, e in 〈1;list〉 {
   100      "count: \(〈1;e〉)"
   101    },
   102  ]
   103  conditional: {
   104    if 〈1;condition〉 {
   105      a: 3
   106    }
   107    if (〈1;num〉 < 5) {
   108      b: 3
   109    }
   110  }
   111  selector: {
   112    a: 〈1;object〉.a
   113  }
   114  index: {
   115    a: 〈1;list〉[0]
   116  }
   117  binOp: {
   118    a: (〈1;num〉 + 4)
   119  }
   120  unaryOp: {
   121    a: -〈1;num〉
   122  }
   123}

View as plain text