def testParseMemberExpressionComplexCall(self): string = "foo.bar[baz]('bar')" parser = self.makeStringParser(string) result = parser.parse_member_expression() self.assertIsNode('CallExpression', result) self.assertIsNode('BracketProperty', result.expression) self.assertIsNode('DotProperty', result.expression.object)
def testParseNewExpressionComplicated1(self): string = "new Something(argument1, argument2).method()[property]" parser = self.makeStringParser(string) result = parser.parse_member_expression() self.assertIsNode('BracketProperty', result) self.assertIsNode('CallExpression', result.object) self.assertIsNode('DotProperty', result.object.expression) self.assertIsNode('NewExpression', result.object.expression.object)
def testParseMemberExpressionFunctionExpression(self): string = 'function(){;}' parser = self.makeStringParser(string) result = parser.parse_member_expression() self.assertIsNode('FunctionExpression', result)
def testParseNewExpressionArguments(self): string = "new foo(bar)" parser = self.makeStringParser(string) result = parser.parse_member_expression() self.assertIsNode('NewExpression', result) self.assertEqual(1, len(result.arguments))
def testParseMemberExpressionCallMultipleArguments(self): string = 'foo.bar(baz, quux, false)' parser = self.makeStringParser(string) result = parser.parse_member_expression() self.assertIsNode('CallExpression', result) self.assertEqual(3, len(result.arguments))
def testParseMemberExpressionCall(self): string = "foo.bar('bar')" parser = self.makeStringParser(string) result = parser.parse_member_expression() self.assertIsNode('CallExpression', result) self.assertIsNode('DotProperty', result.expression)
def testParseMemberExpressionComplexProperties(self): string = "foo.baz['bar']" parser = self.makeStringParser(string) result = parser.parse_member_expression() self.assertIsNode('BracketProperty', result) self.assertIsNode('DotProperty', result.object)
def testParseMemberExpressionBracketPropertyIdentifierKey(self): string = "foo[bar]" parser = self.makeStringParser(string) result = parser.parse_member_expression() self.assertIsNode('BracketProperty', result)
def testParseMemberExpressionBracketPropertyStringLiteralKey(self): string = "foo['bar']" parser = self.makeStringParser(string) result = parser.parse_member_expression() self.assertIsNode('BracketProperty', result)
def testParseMemberExpressionDotProperty(self): string = "foo.bar" parser = self.makeStringParser(string) result = parser.parse_member_expression() self.assertIsNode('DotProperty', result)