shaka-player 3.3.2 → 3.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.csslintrc +11 -1
- package/.github/ISSUE_TEMPLATE/bug_report.md +1 -1
- package/.github/pull_request_template.md +6 -34
- package/.github/workflows/build-and-test.yaml +129 -0
- package/.github/workflows/custom-actions/prep-for-appspot/action.yaml +56 -0
- package/.github/workflows/custom-actions/set-commit-status/action.yaml +41 -0
- package/.github/workflows/demo-version-index.yaml +29 -0
- package/.github/workflows/nightly-demo.yaml +42 -0
- package/.github/workflows/release-please.yaml +147 -0
- package/.github/workflows/safari-homedir-launcher.sh +18 -0
- package/.github/workflows/selenium-lab-tests.yaml +92 -0
- package/AUTHORS +2 -0
- package/CHANGELOG.md +1718 -1675
- package/CONTRIBUTING.md +2 -2
- package/CONTRIBUTORS +2 -0
- package/README.md +7 -7
- package/app-engine/README.md +9 -0
- package/app-engine/demo-version-index/README.md +14 -0
- package/app-engine/demo-version-index/app.yaml +2 -0
- package/app-engine/demo-version-index/main.py +162 -0
- package/app-engine/demo-version-index/requirements.txt +6 -0
- package/app-engine/demo-version-index/templates/index.html +114 -0
- package/app-engine/shaka-player-demo/README.md +18 -0
- package/app-engine/shaka-player-demo/app.yaml +61 -0
- package/app-engine/shaka-player-demo/main.py +95 -0
- package/app-engine/shaka-player-demo/posters/10yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/10yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/1yo.jpg +0 -0
- package/app-engine/shaka-player-demo/posters/2yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/2yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/3yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/3yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/4yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/4yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/5yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/5yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/6yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/6yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/7yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/7yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/8yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/8yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/9yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/9yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/audioOnly.gif +0 -0
- package/app-engine/shaka-player-demo/posters/audioRickRoll.gif +0 -0
- package/app-engine/shaka-player-demo/posters/colorbars.gif +0 -0
- package/app-engine/shaka-player-demo/posters/fireworks.jpg +0 -0
- package/app-engine/shaka-player-demo/posters/party-hat.png +0 -0
- package/app-engine/shaka-player-demo/posters/sources.txt +46 -0
- package/app-engine/shaka-player-demo/posters/standard.png +0 -0
- package/app-engine/shaka-player-demo/posters/trek.jpg +0 -0
- package/app-engine/shaka-player-demo/posters/valentines.png +0 -0
- package/app-engine/shaka-player-demo/posters/zombie.jpg +0 -0
- package/app-engine/shaka-player-demo/posters.py +110 -0
- package/app-engine/shaka-player-demo/requirements.txt +5 -0
- package/app-engine/shaka-player-demo/time.txt +1 -0
- package/build/README.md +3 -3
- package/build/checkversion.py +2 -2
- package/build/conformance.textproto +13 -0
- package/build/docker/Dockerfile +20 -0
- package/build/docker/docker-compose.yml +10 -0
- package/build/gendeps.py +18 -15
- package/build/shaka-lab.yaml +163 -0
- package/build/shakaBuildHelpers.py +4 -29
- package/build/test.py +94 -29
- package/build/types/core +0 -1
- package/build/types/polyfill +1 -0
- package/build/wrapper.template.js +2 -2
- package/demo/TengwarTelcontar.woff2 +0 -0
- package/demo/asset_card.js +1 -2
- package/demo/cast_receiver/index.html +1 -1
- package/demo/cast_receiver/receiver_app.css +14 -14
- package/demo/common/assets.js +2 -0
- package/demo/config.js +0 -1
- package/demo/custom.js +0 -1
- package/demo/customWarning.txt +2 -2
- package/demo/demo.less +29 -18
- package/demo/demo_uncompiled.js +1 -13
- package/demo/index.html +1 -1
- package/demo/main.js +3 -3
- package/dist/controls.css +3 -3
- package/dist/controls.css.map +1 -1
- package/dist/demo.compiled.debug.js +191 -194
- package/dist/demo.compiled.debug.map +4 -4
- package/dist/demo.compiled.js +191 -194
- package/dist/demo.compiled.map +4 -4
- package/dist/demo.css +1 -1
- package/dist/demo.css.map +1 -1
- package/dist/deps.js +232 -226
- package/dist/locales.js +30 -30
- package/dist/receiver.compiled.debug.js +43 -45
- package/dist/receiver.compiled.debug.map +4 -4
- package/dist/receiver.compiled.js +43 -45
- package/dist/receiver.compiled.map +4 -4
- package/dist/shaka-player.compiled.d.ts +247 -236
- package/dist/shaka-player.compiled.debug.d.ts +247 -236
- package/dist/shaka-player.compiled.debug.externs.js +15 -3
- package/dist/shaka-player.compiled.debug.js +284 -290
- package/dist/shaka-player.compiled.debug.map +4 -4
- package/dist/shaka-player.compiled.externs.js +15 -3
- package/dist/shaka-player.compiled.js +855 -859
- package/dist/shaka-player.compiled.map +4 -4
- package/dist/shaka-player.ui.d.ts +291 -280
- package/dist/shaka-player.ui.debug.d.ts +291 -280
- package/dist/shaka-player.ui.debug.externs.js +15 -3
- package/dist/shaka-player.ui.debug.js +296 -302
- package/dist/shaka-player.ui.debug.map +4 -4
- package/dist/shaka-player.ui.externs.js +15 -3
- package/dist/shaka-player.ui.js +1005 -1009
- package/dist/shaka-player.ui.map +4 -4
- package/docs/design/REDESIGN.md +33 -33
- package/docs/design/bg-fetch.md +2 -2
- package/docs/design/codec_preferences.md +1 -1
- package/docs/design/dash-audio-channels.md +3 -3
- package/docs/design/dash-manifests.md +1 -1
- package/docs/design/gap-jumping.md +3 -3
- package/docs/design/preload.md +2 -2
- package/docs/tutorials/faq.md +8 -8
- package/docs/tutorials/index.json +1 -0
- package/docs/tutorials/plugins.md +3 -3
- package/docs/tutorials/selenium-grid-config.md +122 -0
- package/docs/tutorials/welcome.md +10 -2
- package/externs/cmcd.js +1 -1
- package/karma.conf.js +141 -30
- package/lib/abr/simple_abr_manager.js +12 -6
- package/lib/cast/cast_proxy.js +3 -4
- package/lib/cea/cea608_data_channel.js +2 -2
- package/lib/cea/cea708_service.js +5 -4
- package/lib/cea/mp4_cea_parser.js +11 -5
- package/lib/cea/sei_processor.js +6 -3
- package/lib/dash/dash_parser.js +11 -14
- package/lib/dash/mpd_utils.js +4 -5
- package/lib/dash/segment_list.js +1 -2
- package/lib/dash/segment_template.js +3 -3
- package/lib/hls/hls_parser.js +34 -20
- package/lib/hls/manifest_text_parser.js +3 -3
- package/lib/media/adaptation_set.js +1 -2
- package/lib/media/content_workarounds.js +2 -2
- package/lib/media/drm_engine.js +3 -2
- package/lib/media/media_source_engine.js +10 -3
- package/lib/media/mp4_segment_index_parser.js +1 -4
- package/lib/media/playhead.js +2 -2
- package/lib/media/presentation_timeline.js +18 -8
- package/lib/media/streaming_engine.js +6 -6
- package/lib/media/time_ranges_utils.js +1 -3
- package/lib/media/video_wrapper.js +1 -1
- package/lib/net/networking_engine.js +1 -1
- package/lib/offline/indexeddb/storage_mechanism.js +4 -2
- package/lib/offline/storage.js +96 -95
- package/lib/player.js +190 -114
- package/lib/polyfill/all.js +2 -3
- package/lib/polyfill/encryption_scheme.js +1 -1
- package/lib/polyfill/media_capabilities.js +3 -3
- package/lib/polyfill/mediasource.js +1 -1
- package/lib/polyfill/symbol.js +46 -0
- package/lib/text/cue.js +1 -1
- package/lib/text/simple_text_displayer.js +2 -1
- package/lib/text/ttml_text_parser.js +8 -5
- package/lib/text/ui_text_displayer.js +1 -1
- package/lib/util/buffer_utils.js +1 -3
- package/lib/util/config_utils.js +25 -0
- package/lib/util/ebml_parser.js +3 -3
- package/lib/util/error.js +8 -1
- package/lib/util/iterables.js +0 -46
- package/lib/util/manifest_parser_utils.js +1 -1
- package/lib/util/mime_utils.js +48 -1
- package/lib/util/mp4_box_parsers.js +1 -4
- package/lib/util/mp4_parser.js +5 -7
- package/lib/util/periods.js +15 -15
- package/lib/util/platform.js +3 -3
- package/lib/util/player_configuration.js +9 -14
- package/lib/util/pssh.js +1 -4
- package/lib/util/stream_utils.js +8 -5
- package/lib/util/string_utils.js +3 -5
- package/lib/util/uint8array_utils.js +3 -5
- package/lib/util/xml_utils.js +15 -7
- package/package.json +61 -36
- package/roadmap.md +17 -17
- package/shaka-player.uncompiled.js +1 -0
- package/test/abr/simple_abr_manager_unit.js +3 -8
- package/test/ads/ad_manager_unit.js +0 -6
- package/test/cast/cast_proxy_unit.js +0 -8
- package/test/cast/cast_receiver_integration.js +1 -18
- package/test/cast/cast_receiver_unit.js +1 -9
- package/test/cast/cast_sender_unit.js +0 -6
- package/test/cast/cast_utils_unit.js +1 -13
- package/test/cea/cea608_memory_unit.js +0 -5
- package/test/cea/cea708_service_unit.js +0 -7
- package/test/cea/cea708_window_unit.js +0 -5
- package/test/cea/cea_decoder_unit.js +0 -6
- package/test/cea/dtvcc_packet_builder_unit.js +0 -3
- package/test/cea/dtvcc_packet_unit.js +0 -5
- package/test/cea/mp4_cea_parser_unit.js +0 -4
- package/test/dash/dash_parser_content_protection_unit.js +1 -10
- package/test/dash/dash_parser_live_unit.js +2 -15
- package/test/dash/dash_parser_manifest_unit.js +2 -40
- package/test/dash/dash_parser_segment_base_unit.js +1 -8
- package/test/dash/dash_parser_segment_list_unit.js +1 -7
- package/test/dash/dash_parser_segment_template_unit.js +0 -9
- package/test/dash/mpd_utils_unit.js +3 -11
- package/test/demo/demo_unit.js +0 -5
- package/test/deprecate/enforcer_unit.js +0 -4
- package/test/deprecate/version_unit.js +0 -2
- package/test/hls/hls_live_unit.js +28 -14
- package/test/hls/hls_parser_unit.js +2 -15
- package/test/hls/manifest_text_parser_unit.js +19 -10
- package/test/media/adaptation_set_criteria_unit.js +3 -7
- package/test/media/adaptation_set_unit.js +0 -2
- package/test/media/buffering_observer_unit.js +1 -4
- package/test/media/closed_caption_parser_unit.js +0 -3
- package/test/media/drm_engine_integration.js +2 -15
- package/test/media/drm_engine_unit.js +4 -24
- package/test/media/manifest_parser_unit.js +0 -4
- package/test/media/media_source_engine_integration.js +1 -7
- package/test/media/media_source_engine_unit.js +5 -18
- package/test/media/mp4_segment_index_parser_unit.js +0 -4
- package/test/media/play_rate_controller_unit.js +0 -4
- package/test/media/playhead_unit.js +8 -16
- package/test/media/presentation_timeline_unit.js +4 -7
- package/test/media/quality_observer_unit.js +0 -4
- package/test/media/region_observer_unit.js +1 -6
- package/test/media/region_timeline_unit.js +0 -3
- package/test/media/segment_index_unit.js +0 -6
- package/test/media/segment_reference_unit.js +0 -3
- package/test/media/stall_detector_unit.js +0 -5
- package/test/media/streaming_engine_integration.js +11 -36
- package/test/media/streaming_engine_unit.js +11 -35
- package/test/media/time_ranges_utils_unit.js +0 -2
- package/test/media/transmuxer_integration.js +0 -6
- package/test/media/webm_segment_index_parser_unit.js +0 -4
- package/test/net/data_uri_plugin_unit.js +0 -7
- package/test/net/http_plugin_unit.js +0 -9
- package/test/net/networking_engine_unit.js +0 -11
- package/test/offline/download_progress_estimator_unit.js +0 -2
- package/test/offline/indexeddb_storage_unit.js +1 -7
- package/test/offline/manifest_convert_unit.js +0 -8
- package/test/offline/offline_integration.js +1 -10
- package/test/offline/offline_manifest_parser_unit.js +0 -6
- package/test/offline/offline_scheme_unit.js +0 -8
- package/test/offline/offline_uri_unit.js +0 -2
- package/test/offline/storage_compatibility_unit.js +2 -15
- package/test/offline/storage_integration.js +1 -27
- package/test/player_external.js +9 -11
- package/test/player_integration.js +28 -38
- package/test/player_load_graph_integration.js +1 -6
- package/test/player_src_equals_external.js +3 -9
- package/test/player_src_equals_integration.js +81 -90
- package/test/player_unit.js +150 -38
- package/test/routing/walker_unit.js +0 -8
- package/test/test/assets/large_file.mpd +1 -1
- package/test/test/boot.js +84 -22
- package/test/test/externs/filters.js +4 -0
- package/test/test/externs/jasmine.js +2 -2
- package/test/test/externs/karma.js +4 -0
- package/test/test/namespace.js +10 -0
- package/test/test/util/canned_idb.js +0 -8
- package/test/test/util/cea_utils.js +0 -6
- package/test/test/util/dash_parser_util.js +0 -13
- package/test/test/util/fake_ad.js +0 -3
- package/test/test/util/fake_ad_manager.js +0 -9
- package/test/test/util/fake_demo_main.js +0 -5
- package/test/test/util/fake_drm_engine.js +0 -6
- package/test/test/util/fake_media_source_engine.js +0 -7
- package/test/test/util/fake_networking_engine.js +0 -5
- package/test/test/util/fake_text_displayer.js +0 -5
- package/test/test/util/indexeddb_utils.js +1 -10
- package/test/test/util/jasmine_fetch.js +0 -1
- package/test/test/util/loader.js +0 -18
- package/test/test/util/manifest_generator.js +9 -14
- package/test/test/util/manifest_parser_util.js +0 -6
- package/test/test/util/offline_utils.js +0 -5
- package/test/test/util/simple_fakes.js +40 -28
- package/test/test/util/stream_generator.js +0 -14
- package/test/test/util/streaming_engine_util.js +0 -15
- package/test/test/util/test_scheme.js +1 -19
- package/test/test/util/ttml_utils.js +0 -2
- package/test/test/util/ui_utils.js +0 -9
- package/test/test/util/util.js +5 -19
- package/test/test/util/waiter.js +84 -43
- package/test/text/cue_integration.js +0 -4
- package/test/text/lrc_text_parser_unit.js +0 -4
- package/test/text/mp4_ttml_parser_unit.js +0 -6
- package/test/text/mp4_vtt_parser_unit.js +1 -7
- package/test/text/sbv_text_parser_unit.js +0 -4
- package/test/text/simple_text_displayer_unit.js +1 -8
- package/test/text/srt_text_parser_unit.js +0 -4
- package/test/text/ssa_text_parser_unit.js +0 -5
- package/test/text/text_engine_unit.js +2 -7
- package/test/text/text_track_integration.js +0 -2
- package/test/text/ttml_text_parser_unit.js +2 -11
- package/test/text/ui_text_displayer_unit.js +44 -41
- package/test/text/vtt_text_parser_unit.js +0 -9
- package/test/text/web_vtt_generator_unit.js +0 -3
- package/test/ui/ad_ui_unit.js +0 -11
- package/test/ui/localization_unit.js +0 -3
- package/test/ui/text_displayer_layout_unit.js +1 -12
- package/test/ui/ui_customization_unit.js +0 -6
- package/test/ui/ui_integration.js +0 -16
- package/test/ui/ui_unit.js +1 -17
- package/test/util/abortable_operation_unit.js +4 -9
- package/test/util/array_utils_unit.js +0 -2
- package/test/util/buffer_utils_unit.js +0 -2
- package/test/util/cmcd_manager_unit.js +0 -3
- package/test/util/data_view_reader_unit.js +0 -4
- package/test/util/ebml_parser_unit.js +0 -4
- package/test/util/event_manager_unit.js +0 -3
- package/test/util/fake_event_target_unit.js +0 -5
- package/test/util/functional_unit.js +1 -1
- package/test/util/iterables_unit.js +0 -64
- package/test/util/language_utils_unit.js +0 -3
- package/test/util/manifest_parser_utils_unit.js +0 -2
- package/test/util/mime_utils_unit.js +54 -0
- package/test/util/mp4_box_parsers_unit.js +0 -5
- package/test/util/mp4_parser_unit.js +0 -4
- package/test/util/multi_map_unit.js +0 -3
- package/test/util/object_utils_unit.js +0 -2
- package/test/util/periods_unit.js +93 -7
- package/test/util/pssh_unit.js +0 -5
- package/test/util/state_history_unit.js +0 -2
- package/test/util/stream_utils_unit.js +3 -8
- package/test/util/string_utils_unit.js +0 -6
- package/test/util/text_parser_unit.js +0 -2
- package/test/util/xml_utils_unit.js +0 -4
- package/ui/less/ad_controls.less +6 -6
- package/ui/less/buttons.less +6 -6
- package/ui/less/containers.less +13 -15
- package/ui/less/overflow_menu.less +4 -4
- package/ui/less/range_elements.less +7 -2
- package/ui/less/tooltip.less +4 -4
- package/ui/locales/sjn-translations.yaml +257 -0
- package/ui/locales/sjn.json +42 -0
- package/ui/seek_bar.js +2 -1
- package/.github/workflows/build_and_test.yaml +0 -73
- package/.github/workflows/release.yaml +0 -53
- package/docs/tutorials/gsoc-ideas-list.md +0 -3
- package/externs/svgelement.js +0 -18
- package/externs/webcrypto.js +0 -18
- package/lib/util/mutex.js +0 -52
|
@@ -4,13 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
goog.require('shaka.test.FakeVideo');
|
|
9
|
-
goog.require('shaka.text.Cue');
|
|
10
|
-
goog.require('shaka.text.SimpleTextDisplayer');
|
|
11
|
-
goog.require('shaka.util.Functional');
|
|
12
|
-
goog.requireType('shaka.test.FakeTextTrack');
|
|
13
|
-
|
|
14
7
|
describe('SimpleTextDisplayer', () => {
|
|
15
8
|
const originalVTTCue = window.VTTCue;
|
|
16
9
|
const Cue = shaka.text.Cue;
|
|
@@ -74,7 +67,7 @@ describe('SimpleTextDisplayer', () => {
|
|
|
74
67
|
});
|
|
75
68
|
|
|
76
69
|
it('appends equal time cues in reverse order', () => {
|
|
77
|
-
// Regression test for https://github.com/
|
|
70
|
+
// Regression test for https://github.com/shaka-project/shaka-player/issues/848
|
|
78
71
|
|
|
79
72
|
// When VTTCue is seen as the real thing (because of the presence of
|
|
80
73
|
// VTTCue.prototype.line), then the reverse-order behavior comes into
|
|
@@ -4,10 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.text.SrtTextParser');
|
|
8
|
-
goog.require('shaka.util.BufferUtils');
|
|
9
|
-
goog.require('shaka.util.StringUtils');
|
|
10
|
-
|
|
11
7
|
describe('SrtTextParser', () => {
|
|
12
8
|
it('supports no cues', () => {
|
|
13
9
|
verifyHelper([],
|
|
@@ -4,11 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.text.Cue');
|
|
8
|
-
goog.require('shaka.text.SsaTextParser');
|
|
9
|
-
goog.require('shaka.util.BufferUtils');
|
|
10
|
-
goog.require('shaka.util.StringUtils');
|
|
11
|
-
|
|
12
7
|
describe('SsaTextParser', () => {
|
|
13
8
|
const Cue = shaka.text.Cue;
|
|
14
9
|
|
|
@@ -4,11 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.test.FakeTextDisplayer');
|
|
8
|
-
goog.require('shaka.text.Cue');
|
|
9
|
-
goog.require('shaka.text.TextEngine');
|
|
10
|
-
goog.require('shaka.util.MimeUtils');
|
|
11
|
-
|
|
12
7
|
describe('TextEngine', () => {
|
|
13
8
|
const TextEngine = shaka.text.TextEngine;
|
|
14
9
|
|
|
@@ -336,7 +331,7 @@ describe('TextEngine', () => {
|
|
|
336
331
|
it('does not use timestamp offset', async () => {
|
|
337
332
|
// The start and end times passed to appendBuffer are now absolute, so
|
|
338
333
|
// they already account for timestampOffset and period offset.
|
|
339
|
-
// See https://github.com/
|
|
334
|
+
// See https://github.com/shaka-project/shaka-player/issues/1562
|
|
340
335
|
textEngine.setTimestampOffset(60);
|
|
341
336
|
await textEngine.appendBuffer(dummyData, 0, 3);
|
|
342
337
|
expect(textEngine.bufferStart()).toBe(0);
|
|
@@ -379,7 +374,7 @@ describe('TextEngine', () => {
|
|
|
379
374
|
it('does not use timestamp offset', async () => {
|
|
380
375
|
// The start and end times passed to appendBuffer are now absolute, so
|
|
381
376
|
// they already account for timestampOffset and period offset.
|
|
382
|
-
// See https://github.com/
|
|
377
|
+
// See https://github.com/shaka-project/shaka-player/issues/1562
|
|
383
378
|
textEngine.setTimestampOffset(60);
|
|
384
379
|
await textEngine.appendBuffer(dummyData, 3, 6);
|
|
385
380
|
expect(textEngine.bufferedAheadOf(4)).toBe(2);
|
|
@@ -4,8 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.test.UiUtils');
|
|
8
|
-
|
|
9
7
|
// This tests three assumptions we make about text tracks in Shaka Player:
|
|
10
8
|
// 1. If a non-null value for cues is stored, it will always be the
|
|
11
9
|
// non-null value for cues when cues returns a non-null value.
|
|
@@ -4,15 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.test.TtmlUtils');
|
|
8
|
-
goog.require('shaka.test.Util');
|
|
9
|
-
goog.require('shaka.text.Cue');
|
|
10
|
-
goog.require('shaka.text.CueRegion');
|
|
11
|
-
goog.require('shaka.text.TtmlTextParser');
|
|
12
|
-
goog.require('shaka.util.BufferUtils');
|
|
13
|
-
goog.require('shaka.util.Error');
|
|
14
|
-
goog.require('shaka.util.StringUtils');
|
|
15
|
-
|
|
16
7
|
describe('TtmlTextParser', () => {
|
|
17
8
|
const Cue = shaka.text.Cue;
|
|
18
9
|
const CueRegion = shaka.text.CueRegion;
|
|
@@ -1718,7 +1709,7 @@ describe('TtmlTextParser', () => {
|
|
|
1718
1709
|
{startTime: 1, endTime: 4});
|
|
1719
1710
|
});
|
|
1720
1711
|
|
|
1721
|
-
// Regression test for https://github.com/
|
|
1712
|
+
// Regression test for https://github.com/shaka-project/shaka-player/issues/2478
|
|
1722
1713
|
it('supports nested cues with only non-ASCII characters', () => {
|
|
1723
1714
|
verifyHelper(
|
|
1724
1715
|
[
|
|
@@ -1920,7 +1911,7 @@ describe('TtmlTextParser', () => {
|
|
|
1920
1911
|
);
|
|
1921
1912
|
});
|
|
1922
1913
|
|
|
1923
|
-
// Regression test for https://github.com/
|
|
1914
|
+
// Regression test for https://github.com/shaka-project/shaka-player/issues/3743
|
|
1924
1915
|
it('inherits styles from other styles on nestedCues', () => {
|
|
1925
1916
|
verifyHelper(
|
|
1926
1917
|
[
|
|
@@ -4,10 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.test.Util');
|
|
8
|
-
goog.require('shaka.text.Cue');
|
|
9
|
-
goog.require('shaka.text.UITextDisplayer');
|
|
10
|
-
|
|
11
7
|
describe('UITextDisplayer', () => {
|
|
12
8
|
/** @type {!HTMLElement} */
|
|
13
9
|
let videoContainer;
|
|
@@ -65,7 +61,18 @@ describe('UITextDisplayer', () => {
|
|
|
65
61
|
document.body.removeChild(videoContainer);
|
|
66
62
|
});
|
|
67
63
|
|
|
68
|
-
|
|
64
|
+
/**
|
|
65
|
+
* @suppress {visibility}
|
|
66
|
+
* "suppress visibility" has function scope, so this is a mini-function that
|
|
67
|
+
* exists solely to suppress visibility rules for these actions.
|
|
68
|
+
*/
|
|
69
|
+
function updateCaptions() {
|
|
70
|
+
// Rather than wait for a timer, which can be unreliable on Safari when the
|
|
71
|
+
// device is heavily loaded, trigger the update explicitly.
|
|
72
|
+
textDisplayer.updateCaptions_();
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
it('correctly displays styles for cues', () => {
|
|
69
76
|
/** @type {!shaka.text.Cue} */
|
|
70
77
|
const cue = new shaka.text.Cue(0, 100, 'Captain\'s log.');
|
|
71
78
|
cue.color = 'green';
|
|
@@ -81,8 +88,7 @@ describe('UITextDisplayer', () => {
|
|
|
81
88
|
|
|
82
89
|
textDisplayer.setTextVisibility(true);
|
|
83
90
|
textDisplayer.append([cue]);
|
|
84
|
-
|
|
85
|
-
await shaka.test.Util.delay(0.5);
|
|
91
|
+
updateCaptions();
|
|
86
92
|
|
|
87
93
|
const textContainer = videoContainer.querySelector('.shaka-text-container');
|
|
88
94
|
const captions = textContainer.querySelector('div');
|
|
@@ -114,7 +120,7 @@ describe('UITextDisplayer', () => {
|
|
|
114
120
|
.toEqual(jasmine.objectContaining({'background-color': 'black'}));
|
|
115
121
|
});
|
|
116
122
|
|
|
117
|
-
it('correctly displays styles for nested cues',
|
|
123
|
+
it('correctly displays styles for nested cues', () => {
|
|
118
124
|
/** @type {!shaka.text.Cue} */
|
|
119
125
|
const cue = new shaka.text.Cue(0, 100, '');
|
|
120
126
|
const nestedCue = new shaka.text.Cue(0, 100, 'Captain\'s log.');
|
|
@@ -131,8 +137,7 @@ describe('UITextDisplayer', () => {
|
|
|
131
137
|
|
|
132
138
|
textDisplayer.setTextVisibility(true);
|
|
133
139
|
textDisplayer.append([cue]);
|
|
134
|
-
|
|
135
|
-
await shaka.test.Util.delay(0.5);
|
|
140
|
+
updateCaptions();
|
|
136
141
|
|
|
137
142
|
// Verify styles applied to the nested cues.
|
|
138
143
|
const textContainer = videoContainer.querySelector('.shaka-text-container');
|
|
@@ -165,7 +170,7 @@ describe('UITextDisplayer', () => {
|
|
|
165
170
|
.toEqual(jasmine.objectContaining({'background-color': 'black'}));
|
|
166
171
|
});
|
|
167
172
|
|
|
168
|
-
it('correctly displays styles for cellResolution units',
|
|
173
|
+
it('correctly displays styles for cellResolution units', () => {
|
|
169
174
|
/** @type {!shaka.text.Cue} */
|
|
170
175
|
const cue = new shaka.text.Cue(0, 100, 'Captain\'s log.');
|
|
171
176
|
cue.fontSize = '0.80c';
|
|
@@ -177,8 +182,7 @@ describe('UITextDisplayer', () => {
|
|
|
177
182
|
|
|
178
183
|
textDisplayer.setTextVisibility(true);
|
|
179
184
|
textDisplayer.append([cue]);
|
|
180
|
-
|
|
181
|
-
await shaka.test.Util.delay(0.5);
|
|
185
|
+
updateCaptions();
|
|
182
186
|
|
|
183
187
|
// Expected value is calculated based on ttp:cellResolution="60 20"
|
|
184
188
|
// videoContainerHeight=450px and tts:fontSize="0.80c" on the default style.
|
|
@@ -200,7 +204,7 @@ describe('UITextDisplayer', () => {
|
|
|
200
204
|
}));
|
|
201
205
|
});
|
|
202
206
|
|
|
203
|
-
it('correctly displays styles for percentages units',
|
|
207
|
+
it('correctly displays styles for percentages units', () => {
|
|
204
208
|
/** @type {!shaka.text.Cue} */
|
|
205
209
|
const cue = new shaka.text.Cue(0, 100, 'Captain\'s log.');
|
|
206
210
|
cue.fontSize = '90%';
|
|
@@ -211,8 +215,7 @@ describe('UITextDisplayer', () => {
|
|
|
211
215
|
|
|
212
216
|
textDisplayer.setTextVisibility(true);
|
|
213
217
|
textDisplayer.append([cue]);
|
|
214
|
-
|
|
215
|
-
await shaka.test.Util.delay(0.5);
|
|
218
|
+
updateCaptions();
|
|
216
219
|
|
|
217
220
|
// Expected value is calculated based on ttp:cellResolution="32 15"
|
|
218
221
|
// videoContainerHeight=450px and tts:fontSize="90%" on the default style.
|
|
@@ -225,15 +228,15 @@ describe('UITextDisplayer', () => {
|
|
|
225
228
|
jasmine.objectContaining({'font-size': expectedFontSize}));
|
|
226
229
|
});
|
|
227
230
|
|
|
228
|
-
it('does not display duplicate cues',
|
|
231
|
+
it('does not display duplicate cues', () => {
|
|
229
232
|
// These are identical.
|
|
230
233
|
const cue1 = new shaka.text.Cue(0, 100, 'Captain\'s log.');
|
|
231
234
|
const cue2 = new shaka.text.Cue(0, 100, 'Captain\'s log.');
|
|
232
235
|
|
|
233
236
|
textDisplayer.setTextVisibility(true);
|
|
234
237
|
textDisplayer.append([cue1]);
|
|
235
|
-
|
|
236
|
-
|
|
238
|
+
updateCaptions();
|
|
239
|
+
|
|
237
240
|
/** @type {Element} */
|
|
238
241
|
const textContainer = videoContainer.querySelector('.shaka-text-container');
|
|
239
242
|
let captions = textContainer.querySelectorAll('div');
|
|
@@ -241,14 +244,14 @@ describe('UITextDisplayer', () => {
|
|
|
241
244
|
expect(captions.length).toBe(1);
|
|
242
245
|
|
|
243
246
|
textDisplayer.append([cue2]);
|
|
244
|
-
|
|
245
|
-
|
|
247
|
+
updateCaptions();
|
|
248
|
+
|
|
246
249
|
captions = textContainer.querySelectorAll('div');
|
|
247
250
|
// Expect textContainer to display one cue without duplication.
|
|
248
251
|
expect(captions.length).toBe(1);
|
|
249
252
|
});
|
|
250
253
|
|
|
251
|
-
it('does not mistake cues with nested cues as duplicates',
|
|
254
|
+
it('does not mistake cues with nested cues as duplicates', () => {
|
|
252
255
|
// These are not identical, but might look like it at the top level.
|
|
253
256
|
const cue1 = new shaka.text.Cue(0, 100, '');
|
|
254
257
|
cue1.nestedCues = [
|
|
@@ -265,8 +268,8 @@ describe('UITextDisplayer', () => {
|
|
|
265
268
|
|
|
266
269
|
textDisplayer.setTextVisibility(true);
|
|
267
270
|
textDisplayer.append([cue1]);
|
|
268
|
-
|
|
269
|
-
|
|
271
|
+
updateCaptions();
|
|
272
|
+
|
|
270
273
|
/** @type {Element} */
|
|
271
274
|
const textContainer = videoContainer.querySelector('.shaka-text-container');
|
|
272
275
|
let captions = textContainer.querySelectorAll('div');
|
|
@@ -274,15 +277,15 @@ describe('UITextDisplayer', () => {
|
|
|
274
277
|
expect(captions.length).toBe(1);
|
|
275
278
|
|
|
276
279
|
textDisplayer.append([cue2, cue3]);
|
|
277
|
-
|
|
278
|
-
|
|
280
|
+
updateCaptions();
|
|
281
|
+
|
|
279
282
|
captions = textContainer.querySelectorAll('div');
|
|
280
283
|
// Expect textContainer to display all three cues, since they are not truly
|
|
281
284
|
// duplicates.
|
|
282
285
|
expect(captions.length).toBe(3);
|
|
283
286
|
});
|
|
284
287
|
|
|
285
|
-
it('does not mistake cues with different styles duplicates',
|
|
288
|
+
it('does not mistake cues with different styles duplicates', () => {
|
|
286
289
|
// These all have the same text and timing, but different styles.
|
|
287
290
|
const cue1 = new shaka.text.Cue(0, 100, 'Hello!');
|
|
288
291
|
cue1.color = 'green';
|
|
@@ -296,8 +299,8 @@ describe('UITextDisplayer', () => {
|
|
|
296
299
|
|
|
297
300
|
textDisplayer.setTextVisibility(true);
|
|
298
301
|
textDisplayer.append([cue1]);
|
|
299
|
-
|
|
300
|
-
|
|
302
|
+
updateCaptions();
|
|
303
|
+
|
|
301
304
|
/** @type {Element} */
|
|
302
305
|
const textContainer = videoContainer.querySelector('.shaka-text-container');
|
|
303
306
|
let captions = textContainer.querySelectorAll('div');
|
|
@@ -305,20 +308,20 @@ describe('UITextDisplayer', () => {
|
|
|
305
308
|
expect(captions.length).toBe(1);
|
|
306
309
|
|
|
307
310
|
textDisplayer.append([cue2, cue3]);
|
|
308
|
-
|
|
309
|
-
|
|
311
|
+
updateCaptions();
|
|
312
|
+
|
|
310
313
|
captions = textContainer.querySelectorAll('div');
|
|
311
314
|
// Expect textContainer to display all three cues, since they are not truly
|
|
312
315
|
// duplicates.
|
|
313
316
|
expect(captions.length).toBe(3);
|
|
314
317
|
});
|
|
315
318
|
|
|
316
|
-
it('hides currently displayed cue when removed',
|
|
319
|
+
it('hides currently displayed cue when removed', () => {
|
|
317
320
|
const cue = new shaka.text.Cue(0, 50, 'One');
|
|
318
321
|
textDisplayer.setTextVisibility(true);
|
|
319
322
|
textDisplayer.append([cue]);
|
|
320
323
|
video.currentTime = 10;
|
|
321
|
-
|
|
324
|
+
updateCaptions();
|
|
322
325
|
const textContainer = videoContainer.querySelector('.shaka-text-container');
|
|
323
326
|
|
|
324
327
|
let cueElements = textContainer.querySelectorAll('div');
|
|
@@ -331,7 +334,7 @@ describe('UITextDisplayer', () => {
|
|
|
331
334
|
expect(cueElements.length).toBe(0);
|
|
332
335
|
});
|
|
333
336
|
|
|
334
|
-
it('hides and shows nested cues at appropriate times',
|
|
337
|
+
it('hides and shows nested cues at appropriate times', () => {
|
|
335
338
|
const parentCue1 = new shaka.text.Cue(0, 100, '');
|
|
336
339
|
const cue1 = new shaka.text.Cue(0, 50, 'One');
|
|
337
340
|
parentCue1.nestedCues.push(cue1);
|
|
@@ -348,7 +351,7 @@ describe('UITextDisplayer', () => {
|
|
|
348
351
|
textDisplayer.append([parentCue1, parentCue2]);
|
|
349
352
|
|
|
350
353
|
video.currentTime = 10;
|
|
351
|
-
|
|
354
|
+
updateCaptions();
|
|
352
355
|
/** @type {Element} */
|
|
353
356
|
const textContainer = videoContainer.querySelector('.shaka-text-container');
|
|
354
357
|
let parentCueElements = textContainer.querySelectorAll('div');
|
|
@@ -357,38 +360,38 @@ describe('UITextDisplayer', () => {
|
|
|
357
360
|
expect(parentCueElements[0].textContent).toBe('One');
|
|
358
361
|
|
|
359
362
|
video.currentTime = 35;
|
|
360
|
-
|
|
363
|
+
updateCaptions();
|
|
361
364
|
parentCueElements = textContainer.querySelectorAll('div');
|
|
362
365
|
expect(parentCueElements.length).toBe(1);
|
|
363
366
|
expect(parentCueElements[0].textContent).toBe('OneTwo');
|
|
364
367
|
|
|
365
368
|
video.currentTime = 60;
|
|
366
|
-
|
|
369
|
+
updateCaptions();
|
|
367
370
|
parentCueElements = textContainer.querySelectorAll('div');
|
|
368
371
|
expect(parentCueElements.length).toBe(1);
|
|
369
372
|
expect(parentCueElements[0].textContent).toBe('TwoThree');
|
|
370
373
|
|
|
371
374
|
video.currentTime = 85;
|
|
372
|
-
|
|
375
|
+
updateCaptions();
|
|
373
376
|
parentCueElements = textContainer.querySelectorAll('div');
|
|
374
377
|
expect(parentCueElements.length).toBe(1);
|
|
375
378
|
expect(parentCueElements[0].textContent).toBe('Three');
|
|
376
379
|
|
|
377
380
|
video.currentTime = 95;
|
|
378
|
-
|
|
381
|
+
updateCaptions();
|
|
379
382
|
parentCueElements = textContainer.querySelectorAll('div');
|
|
380
383
|
expect(parentCueElements.length).toBe(2);
|
|
381
384
|
expect(parentCueElements[0].textContent).toBe('Three');
|
|
382
385
|
expect(parentCueElements[1].textContent).toBe('Four');
|
|
383
386
|
|
|
384
387
|
video.currentTime = 105;
|
|
385
|
-
|
|
388
|
+
updateCaptions();
|
|
386
389
|
parentCueElements = textContainer.querySelectorAll('div');
|
|
387
390
|
expect(parentCueElements.length).toBe(1);
|
|
388
391
|
expect(parentCueElements[0].textContent).toBe('Four');
|
|
389
392
|
|
|
390
393
|
video.currentTime = 150;
|
|
391
|
-
|
|
394
|
+
updateCaptions();
|
|
392
395
|
parentCueElements = textContainer.querySelectorAll('div');
|
|
393
396
|
expect(parentCueElements.length).toBe(1);
|
|
394
397
|
expect(parentCueElements[0].textContent).toBe('');
|
|
@@ -4,15 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.log');
|
|
8
|
-
goog.require('shaka.test.Util');
|
|
9
|
-
goog.require('shaka.text.Cue');
|
|
10
|
-
goog.require('shaka.text.CueRegion');
|
|
11
|
-
goog.require('shaka.text.VttTextParser');
|
|
12
|
-
goog.require('shaka.util.BufferUtils');
|
|
13
|
-
goog.require('shaka.util.Error');
|
|
14
|
-
goog.require('shaka.util.StringUtils');
|
|
15
|
-
|
|
16
7
|
describe('VttTextParser', () => {
|
|
17
8
|
const Cue = shaka.text.Cue;
|
|
18
9
|
const CueRegion = shaka.text.CueRegion;
|
package/test/ui/ad_ui_unit.js
CHANGED
|
@@ -4,17 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.Player');
|
|
8
|
-
goog.require('shaka.ads.AdManager');
|
|
9
|
-
goog.require('shaka.test.FakeAd');
|
|
10
|
-
goog.require('shaka.test.FakeAdManager');
|
|
11
|
-
goog.require('shaka.test.UiUtils');
|
|
12
|
-
goog.require('shaka.test.Util');
|
|
13
|
-
goog.require('shaka.test.Waiter');
|
|
14
|
-
goog.require('shaka.ui.Locales');
|
|
15
|
-
goog.require('shaka.util.EventManager');
|
|
16
|
-
goog.requireType('shaka.ui.Localization');
|
|
17
|
-
|
|
18
7
|
describe('Ad UI', () => {
|
|
19
8
|
const UiUtils = shaka.test.UiUtils;
|
|
20
9
|
/** @type {!HTMLLinkElement} */
|
|
@@ -4,17 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.Player');
|
|
8
|
-
goog.require('shaka.test.FakeVideo');
|
|
9
|
-
goog.require('shaka.test.UiUtils');
|
|
10
|
-
goog.require('shaka.test.Util');
|
|
11
|
-
goog.require('shaka.test.Waiter');
|
|
12
|
-
goog.require('shaka.text.Cue');
|
|
13
|
-
goog.require('shaka.text.SimpleTextDisplayer');
|
|
14
|
-
goog.require('shaka.text.UITextDisplayer');
|
|
15
|
-
goog.require('shaka.ui.Overlay');
|
|
16
|
-
goog.require('shaka.util.EventManager');
|
|
17
|
-
|
|
18
7
|
// TODO: Move this suite to the text/ folder where it belongs
|
|
19
8
|
const supportsScreenshots = () => shaka.test.Util.supportsScreenshots();
|
|
20
9
|
filterDescribe('TextDisplayer layout', supportsScreenshots, () => {
|
|
@@ -416,7 +405,7 @@ filterDescribe('TextDisplayer layout', supportsScreenshots, () => {
|
|
|
416
405
|
await checkScreenshot(prefix, 'flat-cue-bg');
|
|
417
406
|
});
|
|
418
407
|
|
|
419
|
-
// https://github.com/
|
|
408
|
+
// https://github.com/shaka-project/shaka-player/issues/2761
|
|
420
409
|
it('deeply-nested cues', async () => {
|
|
421
410
|
const makeCue = (text, fg = '', bg = '', nestedCues = []) => {
|
|
422
411
|
const cue = new shaka.text.Cue(0, 1, text);
|
|
@@ -4,12 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('goog.asserts');
|
|
8
|
-
goog.require('shaka.test.UiUtils');
|
|
9
|
-
goog.require('shaka.test.Waiter');
|
|
10
|
-
goog.require('shaka.util.EventManager');
|
|
11
|
-
goog.requireType('shaka.ui.Overlay');
|
|
12
|
-
|
|
13
7
|
describe('UI Customization', () => {
|
|
14
8
|
const UiUtils = shaka.test.UiUtils;
|
|
15
9
|
/** @type {!HTMLLinkElement} */
|
|
@@ -4,22 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('goog.asserts');
|
|
8
|
-
goog.require('mozilla.LanguageMapping');
|
|
9
|
-
goog.require('shaka.test.Loader');
|
|
10
|
-
goog.require('shaka.test.TestScheme');
|
|
11
|
-
goog.require('shaka.test.UiUtils');
|
|
12
|
-
goog.require('shaka.test.Util');
|
|
13
|
-
goog.require('shaka.test.Waiter');
|
|
14
|
-
goog.require('shaka.ui.Element');
|
|
15
|
-
goog.require('shaka.util.Dom');
|
|
16
|
-
goog.require('shaka.util.EventManager');
|
|
17
|
-
goog.require('shaka.util.Iterables');
|
|
18
|
-
goog.requireType('shaka.Player');
|
|
19
|
-
goog.requireType('shaka.ui.Controls');
|
|
20
|
-
goog.requireType('shaka.ui.Overlay');
|
|
21
|
-
|
|
22
|
-
|
|
23
7
|
describe('UI', () => {
|
|
24
8
|
const Util = shaka.test.Util;
|
|
25
9
|
const UiUtils = shaka.test.UiUtils;
|
package/test/ui/ui_unit.js
CHANGED
|
@@ -4,21 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('goog.asserts');
|
|
8
|
-
goog.require('shaka.media.ManifestParser');
|
|
9
|
-
goog.require('shaka.test.FakeManifestParser');
|
|
10
|
-
goog.require('shaka.test.ManifestGenerator');
|
|
11
|
-
goog.require('shaka.test.UiUtils');
|
|
12
|
-
goog.require('shaka.test.Util');
|
|
13
|
-
goog.require('shaka.ui.OverflowMenu');
|
|
14
|
-
goog.require('shaka.ui.ResolutionSelection');
|
|
15
|
-
goog.require('shaka.util.Functional');
|
|
16
|
-
goog.require('shaka.util.Iterables');
|
|
17
|
-
goog.require('shaka.util.Platform');
|
|
18
|
-
goog.requireType('shaka.Player');
|
|
19
|
-
goog.requireType('shaka.ui.Controls');
|
|
20
|
-
goog.requireType('shaka.ui.Overlay');
|
|
21
|
-
|
|
22
7
|
describe('UI', () => {
|
|
23
8
|
const UiUtils = shaka.test.UiUtils;
|
|
24
9
|
const Util = shaka.test.Util;
|
|
@@ -137,8 +122,7 @@ describe('UI', () => {
|
|
|
137
122
|
// Four is just a random number I (ismena) came up with to test a
|
|
138
123
|
// multi-video use case. It could be replaces with any other
|
|
139
124
|
// (reasonable) number.
|
|
140
|
-
for (
|
|
141
|
-
shaka.util.Functional.ignored(_);
|
|
125
|
+
for (let i = 0; i < 4; i++) {
|
|
142
126
|
const video = /** @type {!HTMLVideoElement} */
|
|
143
127
|
(document.createElement('video'));
|
|
144
128
|
|
|
@@ -4,11 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.test.Util');
|
|
8
|
-
goog.require('shaka.util.AbortableOperation');
|
|
9
|
-
goog.require('shaka.util.Error');
|
|
10
|
-
goog.require('shaka.util.PublicPromise');
|
|
11
|
-
|
|
12
7
|
describe('AbortableOperation', () => {
|
|
13
8
|
const Util = shaka.test.Util;
|
|
14
9
|
|
|
@@ -392,10 +387,10 @@ describe('AbortableOperation', () => {
|
|
|
392
387
|
expect(value).toBe(500);
|
|
393
388
|
}).finally((ok) => {
|
|
394
389
|
expect(ok).toBe(true);
|
|
395
|
-
// The bug https://github.com/
|
|
396
|
-
// expectation fail because some stages were skipped.
|
|
397
|
-
// check, the test would pass, even though the bug shows
|
|
398
|
-
// basic functionality of 'chain'.
|
|
390
|
+
// The bug https://github.com/shaka-project/shaka-player/issues/1260
|
|
391
|
+
// makes this expectation fail because some stages were skipped.
|
|
392
|
+
// Without this check, the test would pass, even though the bug shows
|
|
393
|
+
// up first in the basic functionality of 'chain'.
|
|
399
394
|
expect(values).toEqual([100, 200, 300, 400, 500]);
|
|
400
395
|
});
|
|
401
396
|
await op.promise;
|
|
@@ -4,10 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.test.Util');
|
|
8
|
-
goog.require('shaka.util.EbmlParser');
|
|
9
|
-
goog.require('shaka.util.Error');
|
|
10
|
-
|
|
11
7
|
describe('EbmlParser', /** @suppress {accessControls} */ () => {
|
|
12
8
|
const Util = shaka.test.Util;
|
|
13
9
|
|
|
@@ -4,11 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.log');
|
|
8
|
-
goog.require('shaka.test.Util');
|
|
9
|
-
goog.require('shaka.util.FakeEvent');
|
|
10
|
-
goog.require('shaka.util.FakeEventTarget');
|
|
11
|
-
|
|
12
7
|
describe('FakeEventTarget', () => {
|
|
13
8
|
const Util = shaka.test.Util;
|
|
14
9
|
const originalLogError = shaka.log.error;
|
|
@@ -73,7 +73,7 @@ describe('Functional', () => {
|
|
|
73
73
|
expect(obj.val).toBe(1);
|
|
74
74
|
});
|
|
75
75
|
|
|
76
|
-
// Regression test for https://github.com/
|
|
76
|
+
// Regression test for https://github.com/shaka-project/shaka-player/issues/2958
|
|
77
77
|
it('supports ES6 classes', () => {
|
|
78
78
|
const obj = Functional.callFactory(Es6Class);
|
|
79
79
|
expect(obj.val).toBe(1);
|