[jsinterp] Allow digits in function names
parent
94a20aa5f8
commit
9f43890bcd
|
@ -57,6 +57,12 @@ _TESTS = [
|
||||||
u'F375F75BF2AFDAAF2666E43868D46816F83F13E81C46.3725A8218E446A0DECD33F79DC282994D6AA92C92C9',
|
u'F375F75BF2AFDAAF2666E43868D46816F83F13E81C46.3725A8218E446A0DECD33F79DC282994D6AA92C92C9',
|
||||||
u'9C29AA6D499282CD97F33DCED0A644E8128A5273.64C18E31F38361864D86834E6662FAADFA2FB57F'
|
u'9C29AA6D499282CD97F33DCED0A644E8128A5273.64C18E31F38361864D86834E6662FAADFA2FB57F'
|
||||||
),
|
),
|
||||||
|
(
|
||||||
|
u'https://s.ytimg.com/yts/jsbin/html5player-en_US-vflBb0OQx.js',
|
||||||
|
u'js',
|
||||||
|
84,
|
||||||
|
u'123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQ0STUVWXYZ!"#$%&\'()*+,@./:;<=>'
|
||||||
|
)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -114,13 +114,13 @@ class JSInterpreter(object):
|
||||||
obj = {}
|
obj = {}
|
||||||
obj_m = re.search(
|
obj_m = re.search(
|
||||||
(r'(?:var\s+)?%s\s*=\s*\{' % re.escape(objname)) +
|
(r'(?:var\s+)?%s\s*=\s*\{' % re.escape(objname)) +
|
||||||
r'\s*(?P<fields>([a-zA-Z$]+\s*:\s*function\(.*?\)\s*\{.*?\})*)' +
|
r'\s*(?P<fields>([a-zA-Z$0-9]+\s*:\s*function\(.*?\)\s*\{.*?\})*)' +
|
||||||
r'\}\s*;',
|
r'\}\s*;',
|
||||||
self.code)
|
self.code)
|
||||||
fields = obj_m.group('fields')
|
fields = obj_m.group('fields')
|
||||||
# Currently, it only supports function definitions
|
# Currently, it only supports function definitions
|
||||||
fields_m = re.finditer(
|
fields_m = re.finditer(
|
||||||
r'(?P<key>[a-zA-Z$]+)\s*:\s*function'
|
r'(?P<key>[a-zA-Z$0-9]+)\s*:\s*function'
|
||||||
r'\((?P<args>[a-z,]+)\){(?P<code>[^}]+)}',
|
r'\((?P<args>[a-z,]+)\){(?P<code>[^}]+)}',
|
||||||
fields)
|
fields)
|
||||||
for f in fields_m:
|
for f in fields_m:
|
||||||
|
|
Loading…
Reference in New Issue