aboutsummaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2024-12-16[YouTube] Simplify pattern for nsig function name extractiondirkf
2024-12-16[YouTube] Pass nsig value as return hook, fixes player `3bb1f723`dirkf
2024-12-16[YouTube] Handle player `3bb1f723`dirkf
* fix signature code extraction * raise if n function returns input value * add new tests from yt-dlp Co-authored-by: bashonly
2024-12-16[jsinterp] Strip /* comments */ when parsingdirkf
* NB: _separate() is looking creaky
2024-12-16[jsinterp] Fix and improve "methods"dirkf
* push, unshift return new length * impove edge cases for push/pop, shift/unshift, forEach, indexOf, charCodeAt * increase test coverage
2024-12-16[jsinterp] Fix and improve split/joindirkf
* improve split/join edge cases * correctly implement regex split (not like re.split)
2024-12-16[jsinterp] Fix and improve arithmetic operationsdirkf
* addition becomes concat with a string operand * improve handling of edgier cases * arithmetic in float like JS (more places need cast to int?) * increase test coverage
2024-12-16[jsinterp] Support multiple indexing (eg a[1][2])dirkf
* extend single indexing with improved RE (should probably use/have used _separate_at_paren()) * fix some cases that should have given undefined, not throwing * standardise RE group names * support length of objects, like {1: 2, 3: 4, length: 42}
2024-12-16[jsinterp] Fix and improve loose and strict equality operationsdirkf
* reimplement loose equality according to MDN (eg, 1 == "1") * improve strict equality (eg, "abc" === "abc" but 'abc' is not 'abc') * add tests for above
2024-12-16[jsinterp] Implement `typeof` operatordirkf
2024-08-06[jsinterp] Improve slice implementation for player b12cc44bdirkf
Partly taken from yt-dlp/yt-dlp#10664, thx seproDev Fixes #32896
2024-08-01[Youtube] Fix nsig extraction for player 20dfca59 (#32891)Aiur Adept
* dirkf's patch for nsig extraction * add generic search per yt-dlp/yt-dlp/pull/10611 - thx bashonly --------- Co-authored-by: dirkf <fieldhouse@gmx.net>
2024-07-25[Youtube] Find `n` function name in player `3400486c`dirkf
Fixes #32877
2024-07-11[YouTube] Fix nsig processing for player `b22ef6e7`2024.07.11-nightlydirkf
* improve extraction of function name (like yt-dlp/yt-dlp#10390) * always use JSInterp to extract function code (yt-dlp/yt-dlp#10396, thx seproDev, pukkandan)
2024-07-11[jsinterp] Support functionality for player `b22ef6e7`dirkf
* support `prototype` for call() and apply() (yt-dlp/yt-dlp#10392, thx Grub4k) * map JS `Array` to `list`
2024-07-11[jsinterp] Re-align JSInterp and tests (esp.) with yt-dlpdirkf
Thx: various yt-dlp authors
2024-07-02[core,utils] Implement unsafe file extension mitigationdirkf
* from https://github.com/yt-dlp/yt-dlp/security/advisories/GHSA-79w7-vh3h-8g4, thx grub4k
2024-06-20[jsinterp] Add Debugger from yt-dlpdirkf
* https://github.com/yt-dlp/yt-dlp/commit/8f53dc4 * thx pukkandan
2024-06-11[test] Improve download testdirkf
* skip reason can't be unicode in Py2 * remove duplicate assert...Equal functions
2024-05-30[InfoExtractor] Misc yt-dlp back-ports, etcdirkf
* add _yes_playlist() method * avoid crash using _NETRC_MACHINE * use _search_json() in _search_nextjs_data() * _search_nextjs_data() default is JSON, not text * test for above
2024-05-30[utils] Split out traversal.py dummy and traversal testsdirkf
2024-05-30[utils] Update traverse_obj() from yt-dlpdirkf
* remove `is_user_input` option per https://github.com/yt-dlp/yt-dlp/pull/8673 * support traversal of compat_xml_etree_ElementTree_Element per https://github.com/yt-dlp/yt-dlp/pull/8911 * allow un/branching using all and any per https://github.com/yt-dlp/yt-dlp/pull/9571 * support traversal of compat_cookies.Morsel and multiple types in `set()` keys per https://github.com/yt-dlp/yt-dlp/pull/9577 thx Grub4k for these * also, move traversal tests to a separate class * allow for unordered dicts in tests for Py<3.7
2024-04-22[test/test_download] Support 'playlist_maxcount:count' expected valuedirkf
* parallel to `playlist_mincount' * specify both for a range of playlist lengths * if max < min the test will always fail!
2024-03-27[external/FFmpeg] Fix and improve --ffmpeg-location handlingdirkf
* pass YoutubeDL (FileDownloader) to FFmpegPostProcessor constructor * consolidate path search in FFmpegPostProcessor * make availability of FFmpegFD depend on existence of FFmpegPostProcessor * detect ffmpeg executable on instantiation of FFmpegFD * resolves #32735
2024-03-08[utils] Let int_or_none() accept a base, like int()dirkf
2024-03-04[utils] Handle user:pass in URLs (#28801)Hubert Hirtz
* Handle user:pass in URLs Fixes "nonnumeric port" errors when youtube-dl is given URLs with usernames and passwords such as: http://username:password@example.com/myvideo.mp4 Refs: - https://en.wikipedia.org/wiki/Basic_access_authentication - https://tools.ietf.org/html/rfc1738#section-3.1 - https://docs.python.org/3.8/library/urllib.parse.html#urllib.parse.urlsplit Fixes #18276 (point 4) Fixes #20258 Fixes #26211 (see comment) * Align code with yt-dlp --------- Co-authored-by: dirkf <fieldhouse@gmx.net>
2024-02-02[InfoExtractor] Support byte range for DASHdirkf
* adapted from https://github.com/ytdl-org/youtube-dl/pull/30279 * thx former GH user kikuyan
2024-02-02[InfoExtractor] Support DASH subtitle extraction (yt-dlp back-port)dirkf
2024-01-22[YouTube] Fix `like_count` extraction using `likeButtonViewModel`dirkf
* also fix various tests * TODO: check against yt-dlp tests
2024-01-22[compat] Rework compat for `method` parameter of ↵dirkf
`compat_urllib_request.Request` constructor * fixes #32573 * does not break `utils.HEADrequest` (eg)
2023-09-03[utils] Revert bbd3e7e, updating docstring, test insteaddirkf
2023-09-03[test] Remove redundancy from lambda expected value regexdirkf
2023-07-29[utils] Rework URL path munging for ., .. componentsdirkf
* move processing to YoutubeDLHandler * also process `Location` header for redirect * use tests from https://github.com/yt-dlp/yt-dlp/pull/7662
2023-07-29[utils] Rework decoding of `Content-Encoding`sdirkf
* support nested encodings * support optional `br` encoding, if brotli package is installed * support optional 'compress' encoding, if ncompress package is installed * response `Content-Encoding` has only unprocessed encodings, or removed * response `Content-Length` is decoded length (usable for filesize metadata) * use zlib for both deflate and gzip decompression * some elements taken from yt-dlp: thx especially coletdjnz
2023-07-25[compat] Use `compat_open()`dirkf
2023-07-25[build] Add and use `devscripts/utils`dirkf
2023-07-25[utils] Fix update_Request() with empty data (not None)dirkf
2023-07-25[test/test_execution.py] Use `compat_subprocess_get_DEVNULL()`dirkf
2023-07-25[build] Fix various Jython CI and test issuesdirkf
2023-07-19[InfoExtractor] Add search methods for Next/Nuxt.js from yt-dlpdirkf
* add _search_nextjs_data(), from https://github.com/yt-dlp/yt-dlp/pull/1386 thanks selfisekai * add _search_nuxt_data(), from https://github.com/yt-dlp/yt-dlp/pull/1921, thanks Lesmiscore, pukkandan * add tests for the above * also fix HTML5 type recognition and tests, from https://github.com/yt-dlp/yt-dlp/commit/222a230871fe4fe63f35c49590379c9a77116819, thanks Lesmiscore * update extractors in PR using above, fix tests.
2023-07-19[utils] Improve js_to_json, align with yt-dlpdirkf
* support variable substitution, from https://github.com/yt-dlp/yt-dlp/pull/#521 etc, thanks ChillingPepper, Grub4k, pukkandan * improve escape handling, from https://github.com/yt-dlp/yt-dlp/pull/#521 thanks Grub4k * support template strings from https://github.com/yt-dlp/yt-dlp/pull/6623 thanks Grub4k * add limited `!` evaluation (eg, !!0 -> false, see tests)
2023-07-19[utils] Align traverse_obj() with yt-dlpdirkf
Thanks Grub4k for these: * traverse `Iterable`s, from https://github.com/yt-dlp/yt-dlp/pull/6902, etc * traverse `set` key for transformations/filters, `re.Match` group names, from https://github.com/yt-dlp/yt-dlp/commit/776995bc109c5cd1aa56b684fada2ce718a386ec, etc * traverse `re.Match`es, from https://github.com/yt-dlp/yt-dlp/pull/5174 * always return list when branching, from https://github.com/yt-dlp/yt-dlp/pull/5170
2023-07-18[test] Fixes for old Pythonsdirkf
2023-07-18[downloader/external] Fix cookie supportbashonly
2023-07-18[core] Process header cookies on loadingSimon Sawicki
2023-07-18[core] Remove `Cookie` header on redirect to prevent leaksdirkf
Adated from yt-dlp/yt-dlp-ghsa-v8mc-9377-rwjj/pull/1/commits/101caac Thx coletdjnz
2023-07-18[core] Update redirect handling from yt-dlpdirkf
* Thx coletdjnz: https://github.com/yt-dlp/yt-dlp/pull/7094 * add test that redirected `POST` loses its `Content-Type`
2023-07-18[test] Make skipped tests in test_execution work with Py 2.6dirkf
2023-07-18[core] Align error reporting methods with yt-dlpdirkf
2023-07-18[utils] Add {expected_type} and Iterable support to traverse_obj()dirkf