X-Git-Url: https://jfr.im/git/yt-dlp.git/blobdiff_plain/ad54c9130e793ce433bf9da334fa80df9f3aee58..5c019f6328ad40d66561eac3c4de0b3cd070d0f6:/test/test_jsinterp.py?ds=sidebyside diff --git a/test/test_jsinterp.py b/test/test_jsinterp.py index e9682ddab..86928a6a0 100644 --- a/test/test_jsinterp.py +++ b/test/test_jsinterp.py @@ -35,6 +35,21 @@ def test_basic(self): self._test('function f(){42}', None) self._test('var f = function(){return 42;}', 42) + def test_add(self): + self._test('function f(){return 42 + 7;}', 49) + self._test('function f(){return 42 + undefined;}', NaN) + self._test('function f(){return 42 + null;}', 42) + + def test_sub(self): + self._test('function f(){return 42 - 7;}', 35) + self._test('function f(){return 42 - undefined;}', NaN) + self._test('function f(){return 42 - null;}', 42) + + def test_mul(self): + self._test('function f(){return 42 * 7;}', 294) + self._test('function f(){return 42 * undefined;}', NaN) + self._test('function f(){return 42 * null;}', 0) + def test_div(self): jsi = JSInterpreter('function f(a, b){return a / b;}') self._test(jsi, NaN, args=(0, 0)) @@ -42,6 +57,17 @@ def test_div(self): self._test(jsi, float('inf'), args=(2, 0)) self._test(jsi, 0, args=(0, 3)) + def test_mod(self): + self._test('function f(){return 42 % 7;}', 0) + self._test('function f(){return 42 % 0;}', NaN) + self._test('function f(){return 42 % undefined;}', NaN) + + def test_exp(self): + self._test('function f(){return 42 ** 2;}', 1764) + self._test('function f(){return 42 ** undefined;}', NaN) + self._test('function f(){return 42 ** null;}', 1) + self._test('function f(){return undefined ** 42;}', NaN) + def test_calc(self): self._test('function f(a){return 2*a+1;}', 7, args=[3])