...

Text file src/cuelang.org/go/tools/trim/testdata/defaults.txtar

Documentation: cuelang.org/go/tools/trim/testdata

     1-- in.cue --
     2domToSub: {
     3	foo: [string]: a: *1 | int
     4	foo: b: a:        1
     5}
     6
     7// Issue #759
     8subToDom: {
     9	#maybeString: {ip?: string}
    10	something: ip: *"default" | string
    11	something: #maybeString
    12}
    13
    14// references to definitions of a disjunction should be resolved and counted
    15// as dominator nodes.
    16resolveDefaults: {
    17	#monitor: {
    18		kind: "a"
    19	} | {
    20		kind: "b"
    21	}
    22
    23	monitor: #monitor
    24
    25	monitor: kind: "a"
    26}
    27
    28issue781: {
    29	#monitor_check: {
    30		check_name:      string
    31		check_interval?: string
    32	}
    33
    34	#monitor_check: {
    35		check_type: "nginx_config"
    36	} | {
    37		check_type: "docker_running"
    38		vars: {
    39			container_name: string
    40		}
    41	}
    42
    43	monitor: {
    44		checks: [...#monitor_check]
    45	}
    46
    47	monitor: {
    48		checks: [{
    49			check_type: "nginx_config"
    50			check_name: "nginx_config"
    51		}]
    52	}
    53}
    54
    55// Issue #801
    56// Here the concrete value selects the default from a dominator, after which
    57// the dominator becomes an exact match. The exact match should not allow it
    58// to be erased, as the exact match is only there because subordinate value
    59// was first used to select the default.
    60dontEraseDefaultSelection: {
    61	rule: _#Rule & {
    62		verbs: ["c"]
    63	}
    64	_#Rule: {
    65		verbs: *["a", "b"] | ["c"]
    66	}
    67}
    68-- out/trim --
    69== in.cue
    70domToSub: {
    71	foo: [string]: a: *1 | int
    72	foo: b: {}
    73}
    74
    75// Issue #759
    76subToDom: {
    77	#maybeString: {ip?: string}
    78	something: ip: *"default" | string
    79	something: #maybeString
    80}
    81
    82// references to definitions of a disjunction should be resolved and counted
    83// as dominator nodes.
    84resolveDefaults: {
    85	#monitor: {
    86		kind: "a"
    87	} | {
    88		kind: "b"
    89	}
    90
    91	monitor: #monitor
    92
    93	monitor: kind: "a"
    94}
    95
    96issue781: {
    97	#monitor_check: {
    98		check_name:      string
    99		check_interval?: string
   100	}
   101
   102	#monitor_check: {
   103		check_type: "nginx_config"
   104	} | {
   105		check_type: "docker_running"
   106		vars: {
   107			container_name: string
   108		}
   109	}
   110
   111	monitor: {
   112		checks: [...#monitor_check]
   113	}
   114
   115	monitor: {
   116		checks: [{
   117			check_type: "nginx_config"
   118			check_name: "nginx_config"
   119		}]
   120	}
   121}
   122
   123// Issue #801
   124// Here the concrete value selects the default from a dominator, after which
   125// the dominator becomes an exact match. The exact match should not allow it
   126// to be erased, as the exact match is only there because subordinate value
   127// was first used to select the default.
   128dontEraseDefaultSelection: {
   129	rule: _#Rule & {
   130		verbs: ["c"]
   131	}
   132	_#Rule: {
   133		verbs: *["a", "b"] | ["c"]
   134	}
   135}

View as plain text