...

Text file src/github.com/jmespath/go-jmespath/compliance/literal.json

Documentation: github.com/jmespath/go-jmespath/compliance

     1[
     2    {
     3        "given": {
     4            "foo": [{"name": "a"}, {"name": "b"}],
     5            "bar": {"baz": "qux"}
     6        },
     7        "cases": [
     8            {
     9                "expression": "`\"foo\"`",
    10                "result": "foo"
    11            },
    12            {
    13                "comment": "Interpret escaped unicode.",
    14                "expression": "`\"\\u03a6\"`",
    15                "result": "Φ"
    16            },
    17            {
    18                "expression": "`\"✓\"`",
    19                "result": "✓"
    20            },
    21            {
    22                "expression": "`[1, 2, 3]`",
    23                "result": [1, 2, 3]
    24            },
    25            {
    26                "expression": "`{\"a\": \"b\"}`",
    27                "result": {"a": "b"}
    28            },
    29            {
    30                "expression": "`true`",
    31                "result": true
    32            },
    33            {
    34                "expression": "`false`",
    35                "result": false
    36            },
    37            {
    38                "expression": "`null`",
    39                "result": null
    40            },
    41            {
    42                "expression": "`0`",
    43                "result": 0
    44            },
    45            {
    46                "expression": "`1`",
    47                "result": 1
    48            },
    49            {
    50                "expression": "`2`",
    51                "result": 2
    52            },
    53            {
    54                "expression": "`3`",
    55                "result": 3
    56            },
    57            {
    58                "expression": "`4`",
    59                "result": 4
    60            },
    61            {
    62                "expression": "`5`",
    63                "result": 5
    64            },
    65            {
    66                "expression": "`6`",
    67                "result": 6
    68            },
    69            {
    70                "expression": "`7`",
    71                "result": 7
    72            },
    73            {
    74                "expression": "`8`",
    75                "result": 8
    76            },
    77            {
    78                "expression": "`9`",
    79                "result": 9
    80            },
    81            {
    82                "comment": "Escaping a backtick in quotes",
    83                "expression": "`\"foo\\`bar\"`",
    84                "result": "foo`bar"
    85            },
    86            {
    87                "comment": "Double quote in literal",
    88                "expression": "`\"foo\\\"bar\"`",
    89                "result": "foo\"bar"
    90            },
    91            {
    92                "expression": "`\"1\\`\"`",
    93                "result": "1`"
    94            },
    95            {
    96                "comment": "Multiple literal expressions with escapes",
    97                "expression": "`\"\\\\\"`.{a:`\"b\"`}",
    98                "result": {"a": "b"}
    99            },
   100            {
   101                "comment": "literal . identifier",
   102                "expression": "`{\"a\": \"b\"}`.a",
   103                "result": "b"
   104            },
   105            {
   106                "comment": "literal . identifier . identifier",
   107                "expression": "`{\"a\": {\"b\": \"c\"}}`.a.b",
   108                "result": "c"
   109            },
   110            {
   111                "comment": "literal . identifier bracket-expr",
   112                "expression": "`[0, 1, 2]`[1]",
   113                "result": 1
   114            }
   115        ]
   116    },
   117    {
   118      "comment": "Literals",
   119      "given": {"type": "object"},
   120      "cases": [
   121        {
   122          "comment": "Literal with leading whitespace",
   123          "expression": "`  {\"foo\": true}`",
   124          "result": {"foo": true}
   125        },
   126        {
   127          "comment": "Literal with trailing whitespace",
   128          "expression": "`{\"foo\": true}   `",
   129          "result": {"foo": true}
   130        },
   131        {
   132          "comment": "Literal on RHS of subexpr not allowed",
   133          "expression": "foo.`\"bar\"`",
   134          "error": "syntax"
   135        }
   136      ]
   137    },
   138    {
   139      "comment": "Raw String Literals",
   140      "given": {},
   141      "cases": [
   142        {
   143          "expression": "'foo'",
   144          "result": "foo"
   145        },
   146        {
   147          "expression": "'  foo  '",
   148          "result": "  foo  "
   149        },
   150        {
   151          "expression": "'0'",
   152          "result": "0"
   153        },
   154        {
   155          "expression": "'newline\n'",
   156          "result": "newline\n"
   157        },
   158        {
   159          "expression": "'\n'",
   160          "result": "\n"
   161        },
   162        {
   163          "expression": "'✓'",
   164	  "result": "✓"
   165        },
   166        {
   167          "expression": "'𝄞'",
   168	  "result": "𝄞"
   169        },
   170        {
   171          "expression": "'  [foo]  '",
   172          "result": "  [foo]  "
   173        },
   174        {
   175          "expression": "'[foo]'",
   176          "result": "[foo]"
   177        },
   178        {
   179          "comment": "Do not interpret escaped unicode.",
   180          "expression": "'\\u03a6'",
   181          "result": "\\u03a6"
   182        }
   183      ]
   184    }
   185]

View as plain text