...

Text file src/cuelang.org/go/cue/testdata/export/issue2119.txtar

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

     1-- in.cue --
     2import (
     3	"encoding/yaml"
     4	"regexp"
     5)
     6
     7simplified: {
     8	x: d: R={
     9		".*"
    10		[R+""][0]
    11	}
    12	out: yaml.Marshal(x)
    13}
    14
    15original: {
    16	#testableRegexp: R={
    17		string
    18
    19		#test: close({
    20			in:  string
    21			out: regexp.FindSubmatch("^"+R+"$", in)[1]
    22		})
    23	}
    24
    25	rule: {
    26		#patterns: {
    27			bar: #testableRegexp & {
    28				"(.*)"
    29				#test: {in: "testcontent", out: "testcontent"}
    30			}
    31		}
    32	}
    33	out: yaml.Marshal(rule)
    34}
    35-- out/eval/stats --
    36Leaks:  4
    37Freed:  20
    38Reused: 11
    39Allocs: 13
    40Retain: 4
    41
    42Unifications: 24
    43Conjuncts:    42
    44Disjuncts:    24
    45-- out/evalalpha --
    46(struct){
    47  simplified: (struct){
    48    x: (struct){
    49      d: (string){ ".*" }
    50    }
    51    out: (string){ "d: .*\n" }
    52  }
    53  original: (struct){
    54    #testableRegexp: (string){
    55      string
    56      #test: (#struct){
    57        in: (string){ string }
    58        out: (_|_){
    59          // [incomplete] original.#testableRegexp.#test.out: non-concrete value string in operand to +:
    60          //     ./in.cue:20:29
    61          //     ./in.cue:16:3
    62        }
    63      }
    64    }
    65    rule: (struct){
    66      #patterns: (#struct){
    67        bar: (string){
    68          "(.*)"
    69          #test: (#struct){
    70            in: (string){ "testcontent" }
    71            out: (string){ "testcontent" }
    72          }
    73        }
    74      }
    75    }
    76    out: (string){ "{}\n" }
    77  }
    78}
    79-- diff/-out/evalalpha<==>+out/eval --
    80diff old new
    81--- old
    82+++ new
    83@@ -13,7 +13,6 @@
    84         out: (_|_){
    85           // [incomplete] original.#testableRegexp.#test.out: non-concrete value string in operand to +:
    86           //     ./in.cue:20:29
    87-          //     ./in.cue:15:21
    88           //     ./in.cue:16:3
    89         }
    90       }
    91-- diff/todo/p2 --
    92Missing error position.
    93-- out/eval --
    94(struct){
    95  simplified: (struct){
    96    x: (struct){
    97      d: (string){ ".*" }
    98    }
    99    out: (string){ "d: .*\n" }
   100  }
   101  original: (struct){
   102    #testableRegexp: (string){
   103      string
   104      #test: (#struct){
   105        in: (string){ string }
   106        out: (_|_){
   107          // [incomplete] original.#testableRegexp.#test.out: non-concrete value string in operand to +:
   108          //     ./in.cue:20:29
   109          //     ./in.cue:15:21
   110          //     ./in.cue:16:3
   111        }
   112      }
   113    }
   114    rule: (struct){
   115      #patterns: (#struct){
   116        bar: (string){
   117          "(.*)"
   118          #test: (#struct){
   119            in: (string){ "testcontent" }
   120            out: (string){ "testcontent" }
   121          }
   122        }
   123      }
   124    }
   125    out: (string){ "{}\n" }
   126  }
   127}
   128-- out/compile --
   129--- in.cue
   130{
   131  simplified: {
   132    x: {
   133      d: {
   134        ".*"
   135        [
   136          (〈2〉 + ""),
   137        ][0]
   138      }
   139    }
   140    out: 〈import;"encoding/yaml"〉.Marshal(〈0;x〉)
   141  }
   142  original: {
   143    #testableRegexp: {
   144      string
   145      #test: close({
   146        in: string
   147        out: 〈import;regexp〉.FindSubmatch((("^" + 〈2〉) + "$"), 〈0;in〉)[1]
   148      })
   149    }
   150    rule: {
   151      #patterns: {
   152        bar: (〈2;#testableRegexp〉 & {
   153          "(.*)"
   154          #test: {
   155            in: "testcontent"
   156            out: "testcontent"
   157          }
   158        })
   159      }
   160    }
   161    out: 〈import;"encoding/yaml"〉.Marshal(〈0;rule〉)
   162  }
   163}

View as plain text