{
  "source": {
    "file": "test/resource/component/observation/channel/channel.template.rs",
    "cases": "test/resource/component/observation/channel/cases.json"
  },
  "functions": [
    {
      "function": "duplicate",
      "tags": [
        "channel",
        "error",
        "valid",
        "duplicate",
        "weighted"
      ],
      "cases": [
        {
          "parameters": {
            "input": "core,trace"
          },
          "returns": {
            "()": false
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": "core,core"
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": "core:1,core:2"
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "matches",
      "tags": [
        "channel",
        "filter",
        "match",
        "nomatch",
        "empty",
        "channels",
        "multiple"
      ],
      "cases": [
        {
          "parameters": {
            "filter": [
              "core"
            ],
            "channels": [
              "core",
              "trace"
            ]
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        },
        {
          "parameters": {
            "filter": [
              "debug"
            ],
            "channels": [
              "core"
            ]
          },
          "returns": {
            "()": false
          },
          "unexpected": null
        },
        {
          "parameters": {
            "filter": [
              "core"
            ],
            "channels": []
          },
          "returns": {
            "()": false
          },
          "unexpected": null
        },
        {
          "parameters": {
            "filter": [],
            "channels": [
              "core"
            ]
          },
          "returns": {
            "()": false
          },
          "unexpected": null
        },
        {
          "parameters": {
            "filter": [
              "trace",
              "info"
            ],
            "channels": [
              "core",
              "trace",
              "debug"
            ]
          },
          "returns": {
            "()": true
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "parse",
      "tags": [
        "channel",
        "parse",
        "single",
        "weighted",
        "multiple",
        "empty",
        "whitespace"
      ],
      "cases": [
        {
          "parameters": {
            "input": "core"
          },
          "returns": {
            "()": [
              [
                "core",
                1
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": "core:5"
          },
          "returns": {
            "()": [
              [
                "core",
                5
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": "core,debug,trace"
          },
          "returns": {
            "()": [
              [
                "core",
                1
              ],
              [
                "debug",
                1
              ],
              [
                "trace",
                1
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": "core:3,trace:7"
          },
          "returns": {
            "()": [
              [
                "core",
                3
              ],
              [
                "trace",
                7
              ]
            ]
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": ""
          },
          "returns": {
            "()": []
          },
          "unexpected": null
        },
        {
          "parameters": {
            "input": "  core  ,  trace  "
          },
          "returns": {
            "()": [
              [
                "core",
                1
              ],
              [
                "trace",
                1
              ]
            ]
          },
          "unexpected": null
        }
      ]
    },
    {
      "function": "serialize",
      "tags": [
        "channel",
        "serialize",
        "single",
        "multiple",
        "empty"
      ],
      "cases": [
        {
          "parameters": {
            "channels": [
              [
                "core",
                1
              ]
            ]
          },
          "returns": {
            "()": "core:1"
          },
          "unexpected": null
        },
        {
          "parameters": {
            "channels": [
              [
                "core",
                3
              ],
              [
                "trace",
                5
              ]
            ]
          },
          "returns": {
            "()": "core:3,trace:5"
          },
          "unexpected": null
        },
        {
          "parameters": {
            "channels": []
          },
          "returns": {
            "()": ""
          },
          "unexpected": null
        }
      ]
    }
  ]
}