Browse Source

[jsinterp] 'reverse' modifies the array in place (fixes #3334)

master
Jaime Marquínez Ferrándiz 10 years ago
parent
commit
ebe832dc37
2 changed files with 9 additions and 2 deletions
  1. 8
      test/test_youtube_signature.py
  2. 3
      youtube_dl/jsinterp.py

8
test/test_youtube_signature.py

@ -62,7 +62,13 @@ _TESTS = [
u'js',
84,
u'123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQ0STUVWXYZ!"#$%&\'()*+,@./:;<=>'
)
),
(
u'https://s.ytimg.com/yts/jsbin/html5player-en_US-vfl9FYC6l.js',
u'js',
83,
u'123456789abcdefghijklmnopqr0tuvwxyzABCDETGHIJKLMNOPQRS>UVWXYZ!"#$%&\'()*+,-./:;<=F'
),
]

3
youtube_dl/jsinterp.py

@ -98,7 +98,8 @@ class JSInterpreter(object):
return argvals[0].join(obj)
if member == 'reverse':
assert len(argvals) == 0
return obj[::-1]
obj.reverse()
return obj
if member == 'slice':
assert len(argvals) == 1
return obj[argvals[0]:]

Loading…
Cancel
Save