{
  "id": "Canvas.test",
  "nodeType": "class",
  "name": "Test",
  "namespace": "Canvas",
  "startToken": {
    "type": "declaration.entity.name.class",
    "text": "Test",
    "textToLower": "test",
    "isAux": false,
    "range": {
      "start": {
        "line": -1,
        "character": 0
      },
      "end": {
        "line": -1,
        "character": 0
      },
      "isEmpty": true,
      "isSingleLine": true
    },
    "id": "declaration.entity.name.class_Test_-1:0"
  },
  "order": 0,
  "memberOrder": 0,
  "accessModifier": {
    "type": "keyword.modifier.access",
    "text": "global",
    "textToLower": "global",
    "isAux": false,
    "range": {
      "start": {
        "line": -1,
        "character": 0
      },
      "end": {
        "line": -1,
        "character": 0
      },
      "isEmpty": true,
      "isSingleLine": true
    },
    "id": "keyword.modifier.access_global_-1:0"
  },
  "sharingModifier": {
    "type": "keyword.modifier.sharing",
    "text": "without sharing",
    "textToLower": "without sharing",
    "isAux": false,
    "range": {
      "start": {
        "line": -1,
        "character": 0
      },
      "end": {
        "line": -1,
        "character": 0
      },
      "isEmpty": true,
      "isSingleLine": true
    },
    "id": "keyword.modifier.sharing_without sharing_-1:0"
  },
  "description": "Contains methods for automated testing of your Canvas classes.",
  "documentation": "https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_class_canvas_Test.htm",
  "classes": {},
  "interfaces": {},
  "enums": {},
  "variables": {
    "key_canvas_url": {
      "id": "Canvas.test.method.string key_canvas_url",
      "nodeType": "variable",
      "name": "KEY_CANVAS_URL",
      "startToken": {
        "type": "declaration.entity.name.variable",
        "text": "KEY_CANVAS_URL",
        "textToLower": "key_canvas_url",
        "isAux": false,
        "range": {
          "start": {
            "line": -1,
            "character": 0
          },
          "end": {
            "line": -1,
            "character": 0
          },
          "isEmpty": true,
          "isSingleLine": true
        },
        "id": "declaration.entity.name.variable_KEY_CANVAS_URL_-1:0"
      },
      "parentId": "Canvas.test",
      "order": 1,
      "memberOrder": 1,
      "accessModifier": {
        "type": "keyword.modifier.access",
        "text": "public",
        "textToLower": "public",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 0
          },
          "end": {
            "line": 0,
            "character": 6
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_public_0:0"
      },
      "static": {
        "type": "keyword.modifier.static",
        "text": "static",
        "textToLower": "static",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 7
          },
          "end": {
            "line": 0,
            "character": 13
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_static_0:7"
      },
      "final": {
        "type": "keyword.modifier.final",
        "text": "final",
        "textToLower": "final",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 14
          },
          "end": {
            "line": 0,
            "character": 19
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_final_0:14"
      },
      "signature": "public static final String KEY_CANVAS_URL",
      "simplifiedSignature": "String KEY_CANVAS_URL",
      "datatype": {
        "id": ".datatype.String",
        "nodeType": "datatype",
        "name": "String",
        "startToken": {
          "type": "datatype.primitive",
          "text": "String",
          "textToLower": "string",
          "isAux": false,
          "range": {
            "start": {
              "line": 0,
              "character": 20
            },
            "end": {
              "line": 0,
              "character": 26
            },
            "isEmpty": false,
            "isSingleLine": true
          },
          "id": "token.type.identifier_String_0:20"
        },
        "parentId": "",
        "order": 0,
        "memberOrder": 0,
        "type": "String"
      },
      "parentName": "Test"
    },
    "key_developer_name": {
      "id": "Canvas.test.method.string key_developer_name",
      "nodeType": "variable",
      "name": "KEY_DEVELOPER_NAME",
      "startToken": {
        "type": "declaration.entity.name.variable",
        "text": "KEY_DEVELOPER_NAME",
        "textToLower": "key_developer_name",
        "isAux": false,
        "range": {
          "start": {
            "line": -1,
            "character": 0
          },
          "end": {
            "line": -1,
            "character": 0
          },
          "isEmpty": true,
          "isSingleLine": true
        },
        "id": "declaration.entity.name.variable_KEY_DEVELOPER_NAME_-1:0"
      },
      "parentId": "Canvas.test",
      "order": 2,
      "memberOrder": 2,
      "accessModifier": {
        "type": "keyword.modifier.access",
        "text": "public",
        "textToLower": "public",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 0
          },
          "end": {
            "line": 0,
            "character": 6
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_public_0:0"
      },
      "static": {
        "type": "keyword.modifier.static",
        "text": "static",
        "textToLower": "static",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 7
          },
          "end": {
            "line": 0,
            "character": 13
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_static_0:7"
      },
      "final": {
        "type": "keyword.modifier.final",
        "text": "final",
        "textToLower": "final",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 14
          },
          "end": {
            "line": 0,
            "character": 19
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_final_0:14"
      },
      "signature": "public static final String KEY_DEVELOPER_NAME",
      "simplifiedSignature": "String KEY_DEVELOPER_NAME",
      "datatype": {
        "id": ".datatype.String",
        "nodeType": "datatype",
        "name": "String",
        "startToken": {
          "type": "datatype.primitive",
          "text": "String",
          "textToLower": "string",
          "isAux": false,
          "range": {
            "start": {
              "line": 0,
              "character": 20
            },
            "end": {
              "line": 0,
              "character": 26
            },
            "isEmpty": false,
            "isSingleLine": true
          },
          "id": "token.type.identifier_String_0:20"
        },
        "parentId": "",
        "order": 0,
        "memberOrder": 0,
        "type": "String"
      },
      "parentName": "Test"
    },
    "key_display_location": {
      "id": "Canvas.test.method.string key_display_location",
      "nodeType": "variable",
      "name": "KEY_DISPLAY_LOCATION",
      "startToken": {
        "type": "declaration.entity.name.variable",
        "text": "KEY_DISPLAY_LOCATION",
        "textToLower": "key_display_location",
        "isAux": false,
        "range": {
          "start": {
            "line": -1,
            "character": 0
          },
          "end": {
            "line": -1,
            "character": 0
          },
          "isEmpty": true,
          "isSingleLine": true
        },
        "id": "declaration.entity.name.variable_KEY_DISPLAY_LOCATION_-1:0"
      },
      "parentId": "Canvas.test",
      "order": 3,
      "memberOrder": 3,
      "accessModifier": {
        "type": "keyword.modifier.access",
        "text": "public",
        "textToLower": "public",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 0
          },
          "end": {
            "line": 0,
            "character": 6
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_public_0:0"
      },
      "static": {
        "type": "keyword.modifier.static",
        "text": "static",
        "textToLower": "static",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 7
          },
          "end": {
            "line": 0,
            "character": 13
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_static_0:7"
      },
      "final": {
        "type": "keyword.modifier.final",
        "text": "final",
        "textToLower": "final",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 14
          },
          "end": {
            "line": 0,
            "character": 19
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_final_0:14"
      },
      "signature": "public static final String KEY_DISPLAY_LOCATION",
      "simplifiedSignature": "String KEY_DISPLAY_LOCATION",
      "datatype": {
        "id": ".datatype.String",
        "nodeType": "datatype",
        "name": "String",
        "startToken": {
          "type": "datatype.primitive",
          "text": "String",
          "textToLower": "string",
          "isAux": false,
          "range": {
            "start": {
              "line": 0,
              "character": 20
            },
            "end": {
              "line": 0,
              "character": 26
            },
            "isEmpty": false,
            "isSingleLine": true
          },
          "id": "token.type.identifier_String_0:20"
        },
        "parentId": "",
        "order": 0,
        "memberOrder": 0,
        "type": "String"
      },
      "parentName": "Test"
    },
    "key_location_url": {
      "id": "Canvas.test.method.string key_location_url",
      "nodeType": "variable",
      "name": "KEY_LOCATION_URL",
      "startToken": {
        "type": "declaration.entity.name.variable",
        "text": "KEY_LOCATION_URL",
        "textToLower": "key_location_url",
        "isAux": false,
        "range": {
          "start": {
            "line": -1,
            "character": 0
          },
          "end": {
            "line": -1,
            "character": 0
          },
          "isEmpty": true,
          "isSingleLine": true
        },
        "id": "declaration.entity.name.variable_KEY_LOCATION_URL_-1:0"
      },
      "parentId": "Canvas.test",
      "order": 4,
      "memberOrder": 4,
      "accessModifier": {
        "type": "keyword.modifier.access",
        "text": "public",
        "textToLower": "public",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 0
          },
          "end": {
            "line": 0,
            "character": 6
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_public_0:0"
      },
      "static": {
        "type": "keyword.modifier.static",
        "text": "static",
        "textToLower": "static",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 7
          },
          "end": {
            "line": 0,
            "character": 13
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_static_0:7"
      },
      "final": {
        "type": "keyword.modifier.final",
        "text": "final",
        "textToLower": "final",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 14
          },
          "end": {
            "line": 0,
            "character": 19
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_final_0:14"
      },
      "signature": "public static final String KEY_LOCATION_URL",
      "simplifiedSignature": "String KEY_LOCATION_URL",
      "datatype": {
        "id": ".datatype.String",
        "nodeType": "datatype",
        "name": "String",
        "startToken": {
          "type": "datatype.primitive",
          "text": "String",
          "textToLower": "string",
          "isAux": false,
          "range": {
            "start": {
              "line": 0,
              "character": 20
            },
            "end": {
              "line": 0,
              "character": 26
            },
            "isEmpty": false,
            "isSingleLine": true
          },
          "id": "token.type.identifier_String_0:20"
        },
        "parentId": "",
        "order": 0,
        "memberOrder": 0,
        "type": "String"
      },
      "parentName": "Test"
    },
    "key_name": {
      "id": "Canvas.test.method.string key_name",
      "nodeType": "variable",
      "name": "KEY_NAME",
      "startToken": {
        "type": "declaration.entity.name.variable",
        "text": "KEY_NAME",
        "textToLower": "key_name",
        "isAux": false,
        "range": {
          "start": {
            "line": -1,
            "character": 0
          },
          "end": {
            "line": -1,
            "character": 0
          },
          "isEmpty": true,
          "isSingleLine": true
        },
        "id": "declaration.entity.name.variable_KEY_NAME_-1:0"
      },
      "parentId": "Canvas.test",
      "order": 5,
      "memberOrder": 5,
      "accessModifier": {
        "type": "keyword.modifier.access",
        "text": "public",
        "textToLower": "public",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 0
          },
          "end": {
            "line": 0,
            "character": 6
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_public_0:0"
      },
      "static": {
        "type": "keyword.modifier.static",
        "text": "static",
        "textToLower": "static",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 7
          },
          "end": {
            "line": 0,
            "character": 13
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_static_0:7"
      },
      "final": {
        "type": "keyword.modifier.final",
        "text": "final",
        "textToLower": "final",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 14
          },
          "end": {
            "line": 0,
            "character": 19
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_final_0:14"
      },
      "signature": "public static final String KEY_NAME",
      "simplifiedSignature": "String KEY_NAME",
      "datatype": {
        "id": ".datatype.String",
        "nodeType": "datatype",
        "name": "String",
        "startToken": {
          "type": "datatype.primitive",
          "text": "String",
          "textToLower": "string",
          "isAux": false,
          "range": {
            "start": {
              "line": 0,
              "character": 20
            },
            "end": {
              "line": 0,
              "character": 26
            },
            "isEmpty": false,
            "isSingleLine": true
          },
          "id": "token.type.identifier_String_0:20"
        },
        "parentId": "",
        "order": 0,
        "memberOrder": 0,
        "type": "String"
      },
      "parentName": "Test"
    },
    "key_namespace": {
      "id": "Canvas.test.method.string key_namespace",
      "nodeType": "variable",
      "name": "KEY_NAMESPACE",
      "startToken": {
        "type": "declaration.entity.name.variable",
        "text": "KEY_NAMESPACE",
        "textToLower": "key_namespace",
        "isAux": false,
        "range": {
          "start": {
            "line": -1,
            "character": 0
          },
          "end": {
            "line": -1,
            "character": 0
          },
          "isEmpty": true,
          "isSingleLine": true
        },
        "id": "declaration.entity.name.variable_KEY_NAMESPACE_-1:0"
      },
      "parentId": "Canvas.test",
      "order": 6,
      "memberOrder": 6,
      "accessModifier": {
        "type": "keyword.modifier.access",
        "text": "public",
        "textToLower": "public",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 0
          },
          "end": {
            "line": 0,
            "character": 6
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_public_0:0"
      },
      "static": {
        "type": "keyword.modifier.static",
        "text": "static",
        "textToLower": "static",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 7
          },
          "end": {
            "line": 0,
            "character": 13
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_static_0:7"
      },
      "final": {
        "type": "keyword.modifier.final",
        "text": "final",
        "textToLower": "final",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 14
          },
          "end": {
            "line": 0,
            "character": 19
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_final_0:14"
      },
      "signature": "public static final String KEY_NAMESPACE",
      "simplifiedSignature": "String KEY_NAMESPACE",
      "datatype": {
        "id": ".datatype.String",
        "nodeType": "datatype",
        "name": "String",
        "startToken": {
          "type": "datatype.primitive",
          "text": "String",
          "textToLower": "string",
          "isAux": false,
          "range": {
            "start": {
              "line": 0,
              "character": 20
            },
            "end": {
              "line": 0,
              "character": 26
            },
            "isEmpty": false,
            "isSingleLine": true
          },
          "id": "token.type.identifier_String_0:20"
        },
        "parentId": "",
        "order": 0,
        "memberOrder": 0,
        "type": "String"
      },
      "parentName": "Test"
    },
    "key_sub_location": {
      "id": "Canvas.test.method.string key_sub_location",
      "nodeType": "variable",
      "name": "KEY_SUB_LOCATION",
      "startToken": {
        "type": "declaration.entity.name.variable",
        "text": "KEY_SUB_LOCATION",
        "textToLower": "key_sub_location",
        "isAux": false,
        "range": {
          "start": {
            "line": -1,
            "character": 0
          },
          "end": {
            "line": -1,
            "character": 0
          },
          "isEmpty": true,
          "isSingleLine": true
        },
        "id": "declaration.entity.name.variable_KEY_SUB_LOCATION_-1:0"
      },
      "parentId": "Canvas.test",
      "order": 7,
      "memberOrder": 7,
      "accessModifier": {
        "type": "keyword.modifier.access",
        "text": "public",
        "textToLower": "public",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 0
          },
          "end": {
            "line": 0,
            "character": 6
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_public_0:0"
      },
      "static": {
        "type": "keyword.modifier.static",
        "text": "static",
        "textToLower": "static",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 7
          },
          "end": {
            "line": 0,
            "character": 13
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_static_0:7"
      },
      "final": {
        "type": "keyword.modifier.final",
        "text": "final",
        "textToLower": "final",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 14
          },
          "end": {
            "line": 0,
            "character": 19
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_final_0:14"
      },
      "signature": "public static final String KEY_SUB_LOCATION",
      "simplifiedSignature": "String KEY_SUB_LOCATION",
      "datatype": {
        "id": ".datatype.String",
        "nodeType": "datatype",
        "name": "String",
        "startToken": {
          "type": "datatype.primitive",
          "text": "String",
          "textToLower": "string",
          "isAux": false,
          "range": {
            "start": {
              "line": 0,
              "character": 20
            },
            "end": {
              "line": 0,
              "character": 26
            },
            "isEmpty": false,
            "isSingleLine": true
          },
          "id": "token.type.identifier_String_0:20"
        },
        "parentId": "",
        "order": 0,
        "memberOrder": 0,
        "type": "String"
      },
      "parentName": "Test"
    },
    "key_version": {
      "id": "Canvas.test.method.string key_version",
      "nodeType": "variable",
      "name": "KEY_VERSION",
      "startToken": {
        "type": "declaration.entity.name.variable",
        "text": "KEY_VERSION",
        "textToLower": "key_version",
        "isAux": false,
        "range": {
          "start": {
            "line": -1,
            "character": 0
          },
          "end": {
            "line": -1,
            "character": 0
          },
          "isEmpty": true,
          "isSingleLine": true
        },
        "id": "declaration.entity.name.variable_KEY_VERSION_-1:0"
      },
      "parentId": "Canvas.test",
      "order": 8,
      "memberOrder": 8,
      "accessModifier": {
        "type": "keyword.modifier.access",
        "text": "public",
        "textToLower": "public",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 0
          },
          "end": {
            "line": 0,
            "character": 6
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_public_0:0"
      },
      "static": {
        "type": "keyword.modifier.static",
        "text": "static",
        "textToLower": "static",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 7
          },
          "end": {
            "line": 0,
            "character": 13
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_static_0:7"
      },
      "final": {
        "type": "keyword.modifier.final",
        "text": "final",
        "textToLower": "final",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 14
          },
          "end": {
            "line": 0,
            "character": 19
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_final_0:14"
      },
      "signature": "public static final String KEY_VERSION",
      "simplifiedSignature": "String KEY_VERSION",
      "datatype": {
        "id": ".datatype.String",
        "nodeType": "datatype",
        "name": "String",
        "startToken": {
          "type": "datatype.primitive",
          "text": "String",
          "textToLower": "string",
          "isAux": false,
          "range": {
            "start": {
              "line": 0,
              "character": 20
            },
            "end": {
              "line": 0,
              "character": 26
            },
            "isEmpty": false,
            "isSingleLine": true
          },
          "id": "token.type.identifier_String_0:20"
        },
        "parentId": "",
        "order": 0,
        "memberOrder": 0,
        "type": "String"
      },
      "parentName": "Test"
    }
  },
  "methods": {
    "mockrendercontext(map<string,string>,map<string,string>)": {
      "id": "Canvas.test.method.mockrendercontext(map<string,string>,map<string,string>)",
      "nodeType": "method",
      "name": "mockRenderContext",
      "startToken": {
        "type": "declaration.entity.name.function",
        "text": "mockRenderContext",
        "textToLower": "mockrendercontext",
        "isAux": false,
        "range": {
          "start": {
            "line": -1,
            "character": 0
          },
          "end": {
            "line": -1,
            "character": 0
          },
          "isEmpty": true,
          "isSingleLine": true
        },
        "id": "declaration.entity.name.function_mockRenderContext_-1:0"
      },
      "parentId": "Canvas.test",
      "order": 1,
      "memberOrder": 9,
      "accessModifier": {
        "type": "keyword.modifier.access",
        "text": "public",
        "textToLower": "public",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 0
          },
          "end": {
            "line": 0,
            "character": 6
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_public_0:0"
      },
      "static": {
        "type": "keyword.modifier.static",
        "text": "static",
        "textToLower": "static",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 7
          },
          "end": {
            "line": 0,
            "character": 13
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_static_0:7"
      },
      "signature": "public static Canvas.RenderContext mockRenderContext(Map<String,String> applicationContextTestValues, Map<String,String> environmentContextTestValues)",
      "overrideSignature": "public static override Canvas.RenderContext mockRenderContext(Map<String,String> applicationContextTestValues, Map<String,String> environmentContextTestValues)",
      "simplifiedSignature": "mockRenderContext(Map<String,String>,Map<String,String>)",
      "datatype": {
        "id": "Canvas.test.mockrendercontext.datatype.Canvas.RenderContext",
        "nodeType": "datatype",
        "name": "Canvas.RenderContext",
        "startToken": {
          "type": "datatype.support.namespace",
          "text": "Canvas",
          "textToLower": "canvas",
          "isAux": false,
          "range": {
            "start": {
              "line": 0,
              "character": 14
            },
            "end": {
              "line": 0,
              "character": 20
            },
            "isEmpty": false,
            "isSingleLine": true
          },
          "id": "token.type.identifier_Canvas_0:14"
        },
        "parentId": "Canvas.test.mockrendercontext",
        "order": 0,
        "memberOrder": 0,
        "type": "Canvas.RenderContext"
      },
      "description": "Creates and returns a test Canvas.RenderContext based on the provided application and environment context parameters.",
      "parentName": "Test",
      "variables": {},
      "params": {
        "applicationcontexttestvalues": {
          "id": "Canvas.test.method.mockrendercontext(map<string,string>,map<string,string>).varParam.applicationcontexttestvalues",
          "nodeType": "variable",
          "name": "applicationContextTestValues",
          "startToken": {
            "type": "declaration.entity.name.variable",
            "text": "applicationContextTestValues",
            "textToLower": "applicationcontexttestvalues",
            "isAux": false,
            "range": {
              "start": {
                "line": 0,
                "character": 73
              },
              "end": {
                "line": 0,
                "character": 101
              },
              "isEmpty": false,
              "isSingleLine": true
            },
            "id": "token.type.identifier_applicationContextTestValues_0:73"
          },
          "endToken": {
            "type": "declaration.entity.name.variable",
            "text": "applicationContextTestValues",
            "textToLower": "applicationcontexttestvalues",
            "isAux": false,
            "range": {
              "start": {
                "line": 0,
                "character": 73
              },
              "end": {
                "line": 0,
                "character": 101
              },
              "isEmpty": false,
              "isSingleLine": true
            },
            "id": "token.type.identifier_applicationContextTestValues_0:73"
          },
          "parentId": "Canvas.test.method.mockrendercontext(map<string,string>,map<string,string>)",
          "order": 1,
          "memberOrder": 1,
          "datatype": {
            "id": "Canvas.test.mockrendercontext.datatype.Map<String,String>",
            "nodeType": "datatype",
            "name": "Map<String,String>",
            "startToken": {
              "type": "datatype.collection",
              "text": "Map",
              "textToLower": "map",
              "isAux": false,
              "range": {
                "start": {
                  "line": 0,
                  "character": 53
                },
                "end": {
                  "line": 0,
                  "character": 56
                },
                "isEmpty": false,
                "isSingleLine": true
              },
              "id": "token.type.identifier_Map_0:53"
            },
            "parentId": "Canvas.test.mockrendercontext",
            "order": 0,
            "memberOrder": 0,
            "type": "Map",
            "value": {
              "id": "Canvas.test.mockrendercontext.datatype.Map<String,String>.value.String",
              "nodeType": "datatype",
              "name": "String",
              "startToken": {
                "type": "datatype.primitive",
                "text": "String",
                "textToLower": "string",
                "isAux": false,
                "range": {
                  "start": {
                    "line": 0,
                    "character": 65
                  },
                  "end": {
                    "line": 0,
                    "character": 71
                  },
                  "isEmpty": false,
                  "isSingleLine": true
                },
                "id": "token.type.identifier_String_0:65"
              },
              "order": 0,
              "memberOrder": 0,
              "type": "String"
            },
            "key": {
              "id": "Canvas.test.mockrendercontext.datatype.Map<String,String>.key.String",
              "nodeType": "datatype",
              "name": "String",
              "startToken": {
                "type": "datatype.primitive",
                "text": "String",
                "textToLower": "string",
                "isAux": false,
                "range": {
                  "start": {
                    "line": 0,
                    "character": 57
                  },
                  "end": {
                    "line": 0,
                    "character": 63
                  },
                  "isEmpty": false,
                  "isSingleLine": true
                },
                "id": "token.type.identifier_String_0:57"
              },
              "order": 0,
              "memberOrder": 0,
              "type": "String"
            }
          },
          "description": "Specifies a map of key-value pairs that provide mock application context data. Use constants that are provided by Canvas.Test as keys. If null is provided for this parameter, the canvas framework will generate some default mock application context values.",
          "scope": null
        },
        "environmentcontexttestvalues": {
          "id": "Canvas.test.method.mockrendercontext(map<string,string>,map<string,string>).varParam.environmentcontexttestvalues",
          "nodeType": "variable",
          "name": "environmentContextTestValues",
          "startToken": {
            "type": "declaration.entity.name.variable",
            "text": "environmentContextTestValues",
            "textToLower": "environmentcontexttestvalues",
            "isAux": false,
            "range": {
              "start": {
                "line": 0,
                "character": 123
              },
              "end": {
                "line": 0,
                "character": 151
              },
              "isEmpty": false,
              "isSingleLine": true
            },
            "id": "token.type.identifier_environmentContextTestValues_0:123"
          },
          "endToken": {
            "type": "declaration.entity.name.variable",
            "text": "environmentContextTestValues",
            "textToLower": "environmentcontexttestvalues",
            "isAux": false,
            "range": {
              "start": {
                "line": 0,
                "character": 123
              },
              "end": {
                "line": 0,
                "character": 151
              },
              "isEmpty": false,
              "isSingleLine": true
            },
            "id": "token.type.identifier_environmentContextTestValues_0:123"
          },
          "parentId": "Canvas.test.method.mockrendercontext(map<string,string>,map<string,string>)",
          "order": 2,
          "memberOrder": 2,
          "datatype": {
            "id": "Canvas.test.mockrendercontext.datatype.Map<String,String>",
            "nodeType": "datatype",
            "name": "Map<String,String>",
            "startToken": {
              "type": "datatype.collection",
              "text": "Map",
              "textToLower": "map",
              "isAux": false,
              "range": {
                "start": {
                  "line": 0,
                  "character": 103
                },
                "end": {
                  "line": 0,
                  "character": 106
                },
                "isEmpty": false,
                "isSingleLine": true
              },
              "id": "token.type.identifier_Map_0:103"
            },
            "parentId": "Canvas.test.mockrendercontext",
            "order": 0,
            "memberOrder": 0,
            "type": "Map",
            "value": {
              "id": "Canvas.test.mockrendercontext.datatype.Map<String,String>.value.String",
              "nodeType": "datatype",
              "name": "String",
              "startToken": {
                "type": "datatype.primitive",
                "text": "String",
                "textToLower": "string",
                "isAux": false,
                "range": {
                  "start": {
                    "line": 0,
                    "character": 115
                  },
                  "end": {
                    "line": 0,
                    "character": 121
                  },
                  "isEmpty": false,
                  "isSingleLine": true
                },
                "id": "token.type.identifier_String_0:115"
              },
              "order": 0,
              "memberOrder": 0,
              "type": "String"
            },
            "key": {
              "id": "Canvas.test.mockrendercontext.datatype.Map<String,String>.key.String",
              "nodeType": "datatype",
              "name": "String",
              "startToken": {
                "type": "datatype.primitive",
                "text": "String",
                "textToLower": "string",
                "isAux": false,
                "range": {
                  "start": {
                    "line": 0,
                    "character": 107
                  },
                  "end": {
                    "line": 0,
                    "character": 113
                  },
                  "isEmpty": false,
                  "isSingleLine": true
                },
                "id": "token.type.identifier_String_0:107"
              },
              "order": 0,
              "memberOrder": 0,
              "type": "String"
            }
          },
          "description": "Specifies a map of key-value pairs that provide mock environment context data. Use constants provided by Canvas.Test as keys. If null is provided for this parameter, the canvas framework will generate some default mock environment context values.",
          "scope": null
        }
      },
      "queries": [],
      "exceptions": []
    },
    "testcanvaslifecycle(canvas.canvaslifecyclehandler,canvas.rendercontext)": {
      "id": "Canvas.test.method.testcanvaslifecycle(canvas.canvaslifecyclehandler,canvas.rendercontext)",
      "nodeType": "method",
      "name": "testCanvasLifecycle",
      "startToken": {
        "type": "declaration.entity.name.function",
        "text": "testCanvasLifecycle",
        "textToLower": "testcanvaslifecycle",
        "isAux": false,
        "range": {
          "start": {
            "line": -1,
            "character": 0
          },
          "end": {
            "line": -1,
            "character": 0
          },
          "isEmpty": true,
          "isSingleLine": true
        },
        "id": "declaration.entity.name.function_testCanvasLifecycle_-1:0"
      },
      "parentId": "Canvas.test",
      "order": 2,
      "memberOrder": 10,
      "accessModifier": {
        "type": "keyword.modifier.access",
        "text": "public",
        "textToLower": "public",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 0
          },
          "end": {
            "line": 0,
            "character": 6
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_public_0:0"
      },
      "static": {
        "type": "keyword.modifier.static",
        "text": "static",
        "textToLower": "static",
        "isAux": false,
        "range": {
          "start": {
            "line": 0,
            "character": 7
          },
          "end": {
            "line": 0,
            "character": 13
          },
          "isEmpty": false,
          "isSingleLine": true
        },
        "id": "token.type.identifier_static_0:7"
      },
      "signature": "public static void testCanvasLifecycle(Canvas.CanvasLifecycleHandler lifecycleHandler, Canvas.RenderContext mockRenderContext)",
      "overrideSignature": "public static override void testCanvasLifecycle(Canvas.CanvasLifecycleHandler lifecycleHandler, Canvas.RenderContext mockRenderContext)",
      "simplifiedSignature": "testCanvasLifecycle(Canvas.CanvasLifecycleHandler,Canvas.RenderContext)",
      "datatype": {
        "id": "Canvas.test.testcanvaslifecycle.datatype.void",
        "nodeType": "datatype",
        "name": "void",
        "startToken": {
          "type": "datatype.primitive",
          "text": "void",
          "textToLower": "void",
          "isAux": false,
          "range": {
            "start": {
              "line": 0,
              "character": 14
            },
            "end": {
              "line": 0,
              "character": 18
            },
            "isEmpty": false,
            "isSingleLine": true
          },
          "id": "token.type.identifier_void_0:14"
        },
        "parentId": "Canvas.test.testcanvaslifecycle",
        "order": 0,
        "memberOrder": 0,
        "type": "void"
      },
      "description": "Calls the canvas test framework to invoke a CanvasLifecycleHandler with the provided RenderContext.",
      "parentName": "Test",
      "variables": {},
      "params": {
        "lifecyclehandler": {
          "id": "Canvas.test.method.testcanvaslifecycle(canvas.canvaslifecyclehandler,canvas.rendercontext).varParam.lifecyclehandler",
          "nodeType": "variable",
          "name": "lifecycleHandler",
          "startToken": {
            "type": "declaration.entity.name.variable",
            "text": "lifecycleHandler",
            "textToLower": "lifecyclehandler",
            "isAux": false,
            "range": {
              "start": {
                "line": 0,
                "character": 69
              },
              "end": {
                "line": 0,
                "character": 85
              },
              "isEmpty": false,
              "isSingleLine": true
            },
            "id": "token.type.identifier_lifecycleHandler_0:69"
          },
          "endToken": {
            "type": "declaration.entity.name.variable",
            "text": "lifecycleHandler",
            "textToLower": "lifecyclehandler",
            "isAux": false,
            "range": {
              "start": {
                "line": 0,
                "character": 69
              },
              "end": {
                "line": 0,
                "character": 85
              },
              "isEmpty": false,
              "isSingleLine": true
            },
            "id": "token.type.identifier_lifecycleHandler_0:69"
          },
          "parentId": "Canvas.test.method.testcanvaslifecycle(canvas.canvaslifecyclehandler,canvas.rendercontext)",
          "order": 1,
          "memberOrder": 1,
          "datatype": {
            "id": "Canvas.test.testcanvaslifecycle.datatype.Canvas.CanvasLifecycleHandler",
            "nodeType": "datatype",
            "name": "Canvas.CanvasLifecycleHandler",
            "startToken": {
              "type": "datatype.support.namespace",
              "text": "Canvas",
              "textToLower": "canvas",
              "isAux": false,
              "range": {
                "start": {
                  "line": 0,
                  "character": 39
                },
                "end": {
                  "line": 0,
                  "character": 45
                },
                "isEmpty": false,
                "isSingleLine": true
              },
              "id": "token.type.identifier_Canvas_0:39"
            },
            "parentId": "Canvas.test.testcanvaslifecycle",
            "order": 0,
            "memberOrder": 0,
            "type": "Canvas.CanvasLifecycleHandler"
          },
          "description": "Specifies the CanvasLifecycleHandler implementation that you need to invoke.",
          "scope": null
        },
        "mockrendercontext": {
          "id": "Canvas.test.method.testcanvaslifecycle(canvas.canvaslifecyclehandler,canvas.rendercontext).varParam.mockrendercontext",
          "nodeType": "variable",
          "name": "mockRenderContext",
          "startToken": {
            "type": "declaration.entity.name.variable",
            "text": "mockRenderContext",
            "textToLower": "mockrendercontext",
            "isAux": false,
            "range": {
              "start": {
                "line": 0,
                "character": 108
              },
              "end": {
                "line": 0,
                "character": 125
              },
              "isEmpty": false,
              "isSingleLine": true
            },
            "id": "token.type.identifier_mockRenderContext_0:108"
          },
          "endToken": {
            "type": "declaration.entity.name.variable",
            "text": "mockRenderContext",
            "textToLower": "mockrendercontext",
            "isAux": false,
            "range": {
              "start": {
                "line": 0,
                "character": 108
              },
              "end": {
                "line": 0,
                "character": 125
              },
              "isEmpty": false,
              "isSingleLine": true
            },
            "id": "token.type.identifier_mockRenderContext_0:108"
          },
          "parentId": "Canvas.test.method.testcanvaslifecycle(canvas.canvaslifecyclehandler,canvas.rendercontext)",
          "order": 2,
          "memberOrder": 2,
          "datatype": {
            "id": "Canvas.test.testcanvaslifecycle.datatype.Canvas.RenderContext",
            "nodeType": "datatype",
            "name": "Canvas.RenderContext",
            "startToken": {
              "type": "datatype.support.namespace",
              "text": "Canvas",
              "textToLower": "canvas",
              "isAux": false,
              "range": {
                "start": {
                  "line": 0,
                  "character": 87
                },
                "end": {
                  "line": 0,
                  "character": 93
                },
                "isEmpty": false,
                "isSingleLine": true
              },
              "id": "token.type.identifier_Canvas_0:87"
            },
            "parentId": "Canvas.test.testcanvaslifecycle",
            "order": 0,
            "memberOrder": 0,
            "type": "Canvas.RenderContext"
          },
          "description": "Specifies the RenderContext information that you need to provide to the invoked CanvasLifecycleHandler. If null is provided for this parameter, the canvas framework will generate and use a default mock RenderContext.",
          "scope": null
        }
      },
      "queries": [],
      "exceptions": []
    }
  },
  "constructors": {},
  "extendsType": "",
  "implementTypes": [],
  "implements": {},
  "totalMembers": 10,
  "queries": []
}