After some investigation I came across the following results:
- the JSInterpreter class in `youtube_dl/jsinterp.py` can run arbitrary
JavaScript code by converting it to Python code.
- This can be confirmed by doing at least one of the tests available
inside `test/test_jsinterp.py`. I have chosen to use `test_call`
test, and it says that the test was OK, meaning that the return
string/number at the end is equal to 5, as expected by
`self.assertEqual`.
- `youtube_dl/extractor/youtube.py` *does* make use of the entire
JSInterpreter class and calls it the same way test_jsinterp.py does
(using "JSInterpreter(").
Now the issue is, as Mx. Zaigralin pointed out: how should we categorize
youtube-dl?
a. As a web browser, in which case the GNU FSDG requirement to not
depend on non-free software doesn't apply to it.
b. Not as a web browser, in which case the GNU FSDG requirement pointed
in the item above applies.