test: cover semicolon jsonp in match live stream parser
This commit is contained in:
@@ -33,6 +33,27 @@ class MatchLiveStreamTest(unittest.TestCase):
|
|||||||
self.assertEqual(parsed["play_url_flv"], "http://a/flv")
|
self.assertEqual(parsed["play_url_flv"], "http://a/flv")
|
||||||
self.assertEqual(parsed["play_url_hd_flv"], "http://a/hdflv")
|
self.assertEqual(parsed["play_url_hd_flv"], "http://a/hdflv")
|
||||||
|
|
||||||
|
def test_parse_json_ncctrials_detail_accepts_trailing_semicolon(self):
|
||||||
|
payload = {
|
||||||
|
"code": 200,
|
||||||
|
"msg": "ok",
|
||||||
|
"data": {
|
||||||
|
"stream": {
|
||||||
|
"flv": "http://b/flv",
|
||||||
|
"hdFlv": "http://b/hdflv",
|
||||||
|
"m3u8": "http://b/m3u8",
|
||||||
|
"hdM3u8": "http://b/hdm3u8",
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
parsed = parse_match_live_detail_html(f"detail({json.dumps(payload, ensure_ascii=False)});")
|
||||||
|
|
||||||
|
self.assertEqual(parsed["play_url_m3u8"], "http://b/m3u8")
|
||||||
|
self.assertEqual(parsed["play_url_hd_m3u8"], "http://b/hdm3u8")
|
||||||
|
self.assertEqual(parsed["play_url_flv"], "http://b/flv")
|
||||||
|
self.assertEqual(parsed["play_url_hd_flv"], "http://b/hdflv")
|
||||||
|
|
||||||
def test_choose_next_fetch_at_uses_60s_for_empty_streams(self):
|
def test_choose_next_fetch_at_uses_60s_for_empty_streams(self):
|
||||||
self.assertEqual(choose_next_fetch_at(now_ts=1000, has_existing_stream=False), 1060)
|
self.assertEqual(choose_next_fetch_at(now_ts=1000, has_existing_stream=False), 1060)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user