[test] Adding support for signed values
This commit is contained in:
parent
c4c2aa274b
commit
e1444dd723
@ -3,7 +3,7 @@ from __future__ import unicode_literals
|
||||
import re
|
||||
|
||||
from ..utils import ExtractorError
|
||||
from .tstream import TokenStream
|
||||
from .tstream import TokenStream, _UNARY_OPERATORS
|
||||
from .jsgrammar import Token, token_keys
|
||||
|
||||
|
||||
@ -741,6 +741,10 @@ class JSInterpreter(object):
|
||||
has_prefix = True
|
||||
while has_prefix:
|
||||
peek_id, peek_value, peek_pos = token_stream.peek()
|
||||
if peek_id is Token.OP and peek_value[0] in (Token.ADD, Token.SUB):
|
||||
# any binary operators will be consumed later
|
||||
peek_id = Token.UOP
|
||||
peek_value = {Token.ADD: _UNARY_OPERATORS['+'], Token.SUB: _UNARY_OPERATORS['-']}[peek_value[0]]
|
||||
if peek_id is Token.UOP:
|
||||
name, op = peek_value
|
||||
had_inc = name in (Token.INC, Token.DEC)
|
||||
|
@ -138,10 +138,6 @@ class TokenStream(object):
|
||||
elif token_id is Token.ID:
|
||||
yield (token_id, token_value, pos)
|
||||
elif token_id in _operator_lookup:
|
||||
# FIXME signed values
|
||||
if (token_id is Token.OP and token_value in ('-', '+') and
|
||||
self._last[0] not in token_keys and self._last[0] is not Token.PCLOSE):
|
||||
token_id = Token.UOP
|
||||
yield (token_id if token_value != 'in' else Token.IN,
|
||||
_operator_lookup[token_id][token_value],
|
||||
pos)
|
||||
|
Loading…
x
Reference in New Issue
Block a user