{"size": 3774, "ext": "js", "max_stars_repo_path": "test/statement/new.js", "max_stars_repo_name": "yangzheli/a-simplified-parser", "max_stars_repo_stars_event_min_datetime": "2021-07-19T10:22:08.000Z", "max_stars_repo_stars_event_max_datetime": "2021-07-19T10:22:08.000Z", "max_issues_repo_path": "test/statement/new.js", "max_issues_repo_name": "yangzheli/a-simplified-parser", "max_issues_repo_issues_event_min_datetime": null, "max_issues_repo_issues_event_max_datetime": null, "max_forks_repo_path": "test/statement/new.js", "max_forks_repo_name": "yangzheli/a-simplified-parser", "max_forks_repo_forks_event_min_datetime": null, "max_forks_repo_forks_event_max_datetime": null}
{"max_stars_count": 1, "max_issues_count": null, "max_forks_count": null, "avg_line_length": 19.5544041451, "max_line_length": 37, "alphanum_fraction": 0.3887122417}
import { test } from "../test.js"

test("new Button", {
  "type": "Program",
  "body": [
    {
      "type": "ExpressionStatement",
      "expression": {
        "type": "NewExpression",
        "callee": {
          "type": "Identifier",
          "name": "Button"
        },
        "arguments": []
      }
    }
  ],
  "sourceType": "script"
})

test("new Button()", {
  "type": "Program",
  "body": [
    {
      "type": "ExpressionStatement",
      "expression": {
        "type": "NewExpression",
        "callee": {
          "type": "Identifier",
          "name": "Button"
        },
        "arguments": []
      }
    }
  ],
  "sourceType": "script"
})

test("new new foo", {
  "type": "Program",
  "body": [
    {
      "type": "ExpressionStatement",
      "expression": {
        "type": "NewExpression",
        "callee": {
          "type": "NewExpression",
          "callee": {
            "type": "Identifier",
            "name": "foo"
          },
          "arguments": []
        },
        "arguments": []
      }
    }
  ],
  "sourceType": "script"
})

test("new new foo()", {
  "type": "Program",
  "body": [
    {
      "type": "ExpressionStatement",
      "expression": {
        "type": "NewExpression",
        "callee": {
          "type": "NewExpression",
          "callee": {
            "type": "Identifier",
            "name": "foo"
          },
          "arguments": []
        },
        "arguments": []
      }
    }
  ],
  "sourceType": "script"
})

test("new foo().bar()", {
  "type": "Program",
  "body": [
    {
      "type": "ExpressionStatement",
      "expression": {
        "type": "CallExpression",
        "callee": {
          "type": "MemberExpression",
          "computed": false,
          "object": {
            "type": "NewExpression",
            "callee": {
              "type": "Identifier",
              "name": "foo"
            },
            "arguments": []
          },
          "property": {
            "type": "Identifier",
            "name": "bar"
          }
        },
        "arguments": []
      }
    }
  ],
  "sourceType": "script"
})

test("new foo[bar]", {
  "type": "Program",
  "body": [
    {
      "type": "ExpressionStatement",
      "expression": {
        "type": "NewExpression",
        "callee": {
          "type": "MemberExpression",
          "computed": true,
          "object": {
            "type": "Identifier",
            "name": "foo"
          },
          "property": {
            "type": "Identifier",
            "name": "bar"
          }
        },
        "arguments": []
      }
    }
  ],
  "sourceType": "script"
})

test("new foo.bar()", {
  "type": "Program",
  "body": [
    {
      "type": "ExpressionStatement",
      "expression": {
        "type": "NewExpression",
        "callee": {
          "type": "MemberExpression",
          "computed": false,
          "object": {
            "type": "Identifier",
            "name": "foo"
          },
          "property": {
            "type": "Identifier",
            "name": "bar"
          }
        },
        "arguments": []
      }
    }
  ],
  "sourceType": "script"
})

test("( new foo).bar()", {
  "type": "Program",
  "body": [
    {
      "type": "ExpressionStatement",
      "expression": {
        "type": "CallExpression",
        "callee": {
          "type": "MemberExpression",
          "computed": false,
          "object": {
            "type": "NewExpression",
            "callee": {
              "type": "Identifier",
              "name": "foo"
            },
            "arguments": []
          },
          "property": {
            "type": "Identifier",
            "name": "bar"
          }
        },
        "arguments": []
      }
    }
  ],
  "sourceType": "script"
})