fix(deps): update dependency react-responsive to v9.0.2 #16112
GitHub Actions / Test report for scratch-gui
succeeded
Oct 9, 2025 in 0s
All 390 tests pass, 8 skipped in 9m 16s
Annotations
Check notice on line 0 in .github
github-actions / Test report for scratch-gui
8 skipped tests found
There are 8 skipped tests, see "Raw output" for the full list of skipped tests.
Raw output
Audio Effects manager process starts the offline rendering context and returns a promise ‑ Audio Effects manager process starts the offline rendering context and returns a promise
Loading scratch gui Loading projects by ID Creating new project resets active tab to Code tab ‑ Loading scratch gui Loading projects by ID Creating new project resets active tab to Code tab
Loading scratch gui Loading projects by ID Load a project by ID (fullscreen) ‑ Loading scratch gui Loading projects by ID Load a project by ID (fullscreen)
Loading scratch gui Loading projects by ID Load a project by ID directly through url ‑ Loading scratch gui Loading projects by ID Load a project by ID directly through url
Loading scratch gui Loading projects by ID Not logged in->made a change to project->create new project should show alert ‑ Loading scratch gui Loading projects by ID Not logged in->made a change to project->create new project should show alert
blocks example Blocks: load a project by ID ‑ blocks example Blocks: load a project by ID
blocks example Change categories ‑ blocks example Change categories
player example Player: load a project by ID ‑ player example Player: load a project by ID
Check notice on line 0 in .github
github-actions / Test report for scratch-gui
398 tests found
There are 398 tests, see "Raw output" for the full list of tests.
Raw output
add several standard alerts ‑ add several standard alerts
addMonitorRect ‑ addMonitorRect
addMonitorRectWithSavedPosition ‑ addMonitorRectWithSavedPosition
autoUpdateProject should prepare to update ‑ autoUpdateProject should prepare to update
calling setProjectId, using different id from project already showing, results in state FETCHING_WITH_ID ‑ calling setProjectId, using different id from project already showing, results in state FETCHING_WITH_ID
calling setProjectId, using with same id as already showing, results in state SHOWING_WITH_ID ‑ calling setProjectId, using with same id as already showing, results in state SHOWING_WITH_ID
can close a single alert by id ‑ can close a single alert by id
can close alerts by index ‑ can close alerts by index
create one inline alert message ‑ create one inline alert message
create one standard alert ‑ create one standard alert
doneCreatingProject for new project with projectId type number shows project with id of type number ‑ doneCreatingProject for new project with projectId type number shows project with id of type number
doneCreatingProject for new project with projectId type string shows project with that id ‑ doneCreatingProject for new project with projectId type string shows project with that id
doneCreatingProject for remix shows project with that id ‑ doneCreatingProject for remix shows project with that id
doneCreatingProject for save as copy shows project with that id ‑ doneCreatingProject for save as copy shows project with that id
doneUpdatingProject with id results in state SHOWING_WITH_ID ‑ doneUpdatingProject with id results in state SHOWING_WITH_ID
doneUpdatingProject with id, before copy occurs, results in state CREATING_COPY ‑ doneUpdatingProject with id, before copy occurs, results in state CREATING_COPY
doneUpdatingProject with id, before new, results in state FETCHING_NEW_DEFAULT ‑ doneUpdatingProject with id, before new, results in state FETCHING_NEW_DEFAULT
fatal projectError should show error state ‑ fatal projectError should show error state
filterInlineAlerts only returns inline type alerts ‑ filterInlineAlerts only returns inline type alerts
filterPopupAlerts returns standard and extension type alerts ‑ filterPopupAlerts returns standard and extension type alerts
getInitialPosition_lineUpLeft ‑ getInitialPosition_lineUpLeft
getInitialPosition_lineUpTop ‑ getInitialPosition_lineUpTop
getInitialPosition_lineUpTopLeft ‑ getInitialPosition_lineUpTopLeft
getInitialPosition_noRoom ‑ getInitialPosition_noRoom
getInitialPosition_savedPosition ‑ getInitialPosition_savedPosition
initialState ‑ initialState
invalidAddMonitorRect ‑ invalidAddMonitorRect
invalidMoveMonitorRect ‑ invalidMoveMonitorRect
invalidRect ‑ invalidRect
invalidRemoveMonitorRect ‑ invalidRemoveMonitorRect
invalidResizeMonitorRect ‑ invalidResizeMonitorRect
manualUpdateProject should prepare to update ‑ manualUpdateProject should prepare to update
moveMonitorRect ‑ moveMonitorRect
non-fatal projectError should show normal state ‑ non-fatal projectError should show normal state
onFetchedProjectData new loads project data into vm ‑ onFetchedProjectData new loads project data into vm
onFetchedProjectData with id loads project data into vm ‑ onFetchedProjectData with id loads project data into vm
onLoadedProject(LOADING_VM_FILE_UPLOAD, false, false), when we don't know project id, results in state SHOWING_WITHOUT_ID ‑ onLoadedProject(LOADING_VM_FILE_UPLOAD, false, false), when we don't know project id, results in state SHOWING_WITHOUT_ID
onLoadedProject(LOADING_VM_FILE_UPLOAD, false, false), when we know project id, results in state SHOWING_WITH_ID ‑ onLoadedProject(LOADING_VM_FILE_UPLOAD, false, false), when we know project id, results in state SHOWING_WITH_ID
onLoadedProject(LOADING_VM_FILE_UPLOAD, false, true) results in state SHOWING_WITHOUT_ID ‑ onLoadedProject(LOADING_VM_FILE_UPLOAD, false, true) results in state SHOWING_WITHOUT_ID
onLoadedProject(LOADING_VM_FILE_UPLOAD, true, true) prepares to save ‑ onLoadedProject(LOADING_VM_FILE_UPLOAD, true, true) prepares to save
onLoadedProject(LOADING_VM_NEW_DEFAULT, false, false) results in ERROR state ‑ onLoadedProject(LOADING_VM_NEW_DEFAULT, false, false) results in ERROR state
onLoadedProject(LOADING_VM_NEW_DEFAULT, false, true) results in state SHOWING_WITHOUT_ID ‑ onLoadedProject(LOADING_VM_NEW_DEFAULT, false, true) results in state SHOWING_WITHOUT_ID
onLoadedProject(LOADING_VM_NEW_DEFAULT, true, true) results in state SHOWING_WITHOUT_ID ‑ onLoadedProject(LOADING_VM_NEW_DEFAULT, true, true) results in state SHOWING_WITHOUT_ID
onLoadedProject(LOADING_VM_WITH_ID, false, false), with no project id, results in state SHOWING_WITHOUT_ID ‑ onLoadedProject(LOADING_VM_WITH_ID, false, false), with no project id, results in state SHOWING_WITHOUT_ID
onLoadedProject(LOADING_VM_WITH_ID, false, false), with project id, results in state SHOWING_WITH_ID ‑ onLoadedProject(LOADING_VM_WITH_ID, false, false), with project id, results in state SHOWING_WITH_ID
onLoadedProject(LOADING_VM_WITH_ID, false, true) results in state SHOWING_WITH_ID ‑ onLoadedProject(LOADING_VM_WITH_ID, false, true) results in state SHOWING_WITH_ID
onLoadedProject(LOADING_VM_WITH_ID, true, true) results in state SHOWING_WITH_ID ‑ onLoadedProject(LOADING_VM_WITH_ID, true, true) results in state SHOWING_WITH_ID
projectError encountered while in state FETCHING_WITH_ID results in ERROR state ‑ projectError encountered while in state FETCHING_WITH_ID results in ERROR state
projectError from various states should show error ‑ projectError from various states should show error
projectError when creating new while logged out, looking at default project should go back to state SHOWING_WITHOUT_ID ‑ projectError when creating new while logged out, looking at default project should go back to state SHOWING_WITHOUT_ID
projectError when creating new while viewing project with id should go back to state SHOWING_WITH_ID ‑ projectError when creating new while viewing project with id should go back to state SHOWING_WITH_ID
related alerts can clear each other ‑ related alerts can clear each other
remixProject should prepare to remix ‑ remixProject should prepare to remix
removeMonitorRect ‑ removeMonitorRect
requestNewProject, when can create/save, results in UPDATING_BEFORE_NEW (in order to save before fetching default project) ‑ requestNewProject, when can create/save, results in UPDATING_BEFORE_NEW (in order to save before fetching default project)
requestNewProject, when can't create/save, results in FETCHING_NEW_DEFAULT ‑ requestNewProject, when can't create/save, results in FETCHING_NEW_DEFAULT
requestProjectUpload when project not loaded results in state LOADING_VM_FILE_UPLOAD ‑ requestProjectUpload when project not loaded results in state LOADING_VM_FILE_UPLOAD
requestProjectUpload when showing project with id results in state LOADING_VM_FILE_UPLOAD ‑ requestProjectUpload when showing project with id results in state LOADING_VM_FILE_UPLOAD
requestProjectUpload when showing project without id results in state LOADING_VM_FILE_UPLOAD ‑ requestProjectUpload when showing project without id results in state LOADING_VM_FILE_UPLOAD
resizeMonitorRect ‑ resizeMonitorRect
returns all for the tutorial library shortcut ‑ returns all for the tutorial library shortcut
returns null if empty template ‑ returns null if empty template
returns null if no matching urlId ‑ returns null if no matching urlId
returns null if no query param ‑ returns null if no query param
returns null if unrecognized template ‑ returns null if unrecognized template
returns the tutorial ID if the urlId matches ‑ returns the tutorial ID if the urlId matches
saveProjectAsCopy should save, before preparing to save as a copy ‑ saveProjectAsCopy should save, before preparing to save as a copy
set full screen mode ‑ set full screen mode
set player mode ‑ set player mode
setProjectId, with same id as before, but not same type, results in FETCHING_WITH_ID because the two projectIds are not strictly equal ‑ setProjectId, with same id as before, but not same type, results in FETCHING_WITH_ID because the two projectIds are not strictly equal
several related alerts can be cleared at once ‑ several related alerts can be cleared at once
takes the first of multiple ‑ takes the first of multiple
updateMetrics action creator ‑ updateMetrics action creator
Audio Effects manager changes buffer length and playback rate for slower effect ‑ Audio Effects manager changes buffer length and playback rate for slower effect
Audio Effects manager changes buffer length and playback rate for faster effect ‑ Audio Effects manager changes buffer length and playback rate for faster effect
Audio Effects manager changes buffer length for echo effect ‑ Audio Effects manager changes buffer length for echo effect
Audio Effects manager process starts the offline rendering context and returns a promise ‑ Audio Effects manager process starts the offline rendering context and returns a promise
Audio Effects manager reverse effect strictly reverses the samples ‑ Audio Effects manager reverse effect strictly reverses the samples
Audio Effects manager updates the trim positions after an effect has changed the length of selection ‑ Audio Effects manager updates the trim positions after an effect has changed the length of selection
ButtonComponent does not trigger callback when not clicked ‑ ButtonComponent does not trigger callback when not clicked
ButtonComponent matches snapshot ‑ ButtonComponent matches snapshot
ButtonComponent triggers callback when clicked ‑ ButtonComponent triggers callback when clicked
Cards component showVideos=false shows the title image/name instead of video step ‑ Cards component showVideos=false shows the title image/name instead of video step
Cards component showVideos=true shows the video step ‑ Cards component showVideos=true shows the video step
CloudManagerHOC Entering editor mode and can't save project should disconnect cloud provider ‑ CloudManagerHOC Entering editor mode and can't save project should disconnect cloud provider
CloudManagerHOC if the isShowingWithId prop becomes true, it sets the cloud provider on the vm ‑ CloudManagerHOC if the isShowingWithId prop becomes true, it sets the cloud provider on the vm
CloudManagerHOC project without cloud data should not trigger cloud connection ‑ CloudManagerHOC project without cloud data should not trigger cloud connection
CloudManagerHOC projectHasCloudData becoming true should trigger a cloud connection ‑ CloudManagerHOC projectHasCloudData becoming true should trigger a cloud connection
CloudManagerHOC projectHasCloudDataUpdate becoming false should trigger cloudProvider disconnection ‑ CloudManagerHOC projectHasCloudDataUpdate becoming false should trigger cloudProvider disconnection
CloudManagerHOC projectId change should not trigger cloudProvider connection unless isShowingWithId becomes true ‑ CloudManagerHOC projectId change should not trigger cloudProvider connection unless isShowingWithId becomes true
CloudManagerHOC projectId changing should trigger cloudProvider disconnection ‑ CloudManagerHOC projectId changing should trigger cloudProvider disconnection
CloudManagerHOC username changing should trigger cloudProvider disconnection ‑ CloudManagerHOC username changing should trigger cloudProvider disconnection
CloudManagerHOC when cloudHost is missing, the cloud provider is not set on the vm ‑ CloudManagerHOC when cloudHost is missing, the cloud provider is not set on the vm
CloudManagerHOC when faceSensing extension is active, the cloud provider is not set on the vm ‑ CloudManagerHOC when faceSensing extension is active, the cloud provider is not set on the vm
CloudManagerHOC when hasCloudPermission is false, the cloud provider is not set on the vm ‑ CloudManagerHOC when hasCloudPermission is false, the cloud provider is not set on the vm
CloudManagerHOC when it mounts, the cloud provider is set on the vm ‑ CloudManagerHOC when it mounts, the cloud provider is set on the vm
CloudManagerHOC when it unmounts, the cloud provider is reset to null on the vm ‑ CloudManagerHOC when it unmounts, the cloud provider is reset to null on the vm
CloudManagerHOC when project is not showingWithId, the cloud provider is not set on the vm ‑ CloudManagerHOC when project is not showingWithId, the cloud provider is not set on the vm
CloudManagerHOC when projectID is missing, the cloud provider is not set on the vm ‑ CloudManagerHOC when projectID is missing, the cloud provider is not set on the vm
CloudManagerHOC when videoSensing extension is active, the cloud provider is not set on the vm ‑ CloudManagerHOC when videoSensing extension is active, the cloud provider is not set on the vm
CloudProvider close after connection is opened waits 1s before reconnecting ‑ CloudProvider close after connection is opened waits 1s before reconnecting
CloudProvider connnection attempts set back to 1 when socket is opened ‑ CloudProvider connnection attempts set back to 1 when socket is opened
CloudProvider createVariable ‑ CloudProvider createVariable
CloudProvider deleteVariable ‑ CloudProvider deleteVariable
CloudProvider disconnect waits for a period equal to 2^k-1 before trying again ‑ CloudProvider disconnect waits for a period equal to 2^k-1 before trying again
CloudProvider exponentialTimeout caps connection attempt number ‑ CloudProvider exponentialTimeout caps connection attempt number
CloudProvider onMessage set ‑ CloudProvider onMessage set
CloudProvider onMessage with multiple commands ‑ CloudProvider onMessage with multiple commands
CloudProvider onMessage with newline at the end ‑ CloudProvider onMessage with newline at the end
CloudProvider renameVariable ‑ CloudProvider renameVariable
CloudProvider requestCloseConnection does not try to reconnect ‑ CloudProvider requestCloseConnection does not try to reconnect
CloudProvider updateVariable with falsey value ‑ CloudProvider updateVariable with falsey value
CloudProvider updateVariable ‑ CloudProvider updateVariable
Controls component does not show turbo mode when not in turbo mode ‑ Controls component does not show turbo mode when not in turbo mode
Controls component shows turbo mode when in turbo mode ‑ Controls component shows turbo mode when in turbo mode
Controls component triggers the right callbacks when clicked when green flag button clicked triggers the right callback ‑ Controls component triggers the right callbacks when clicked when green flag button clicked triggers the right callback
Controls component triggers the right callbacks when clicked when stop all button clicked triggers the right callback ‑ Controls component triggers the right callbacks when clicked when stop all button clicked triggers the right callback
DragRecognizer after starting a scroll, it cannot become a drag ‑ DragRecognizer after starting a scroll, it cannot become a drag
DragRecognizer confirmed drags have preventDefault called on them ‑ DragRecognizer confirmed drags have preventDefault called on them
DragRecognizer multiple horizontal drag angles ‑ DragRecognizer multiple horizontal drag angles
DragRecognizer scrolls do not call prevent default ‑ DragRecognizer scrolls do not call prevent default
DragRecognizer start -> end calls dragEnd callback after resetting internal state ‑ DragRecognizer start -> end calls dragEnd callback after resetting internal state
DragRecognizer start -> end unbinds ‑ DragRecognizer start -> end unbinds
DragRecognizer start -> large horizontal touch move -> drag ‑ DragRecognizer start -> large horizontal touch move -> drag
DragRecognizer start -> large vertical mouse move -> mouse moves always drag) ‑ DragRecognizer start -> large vertical mouse move -> mouse moves always drag)
DragRecognizer start -> large vertical touch move -> scroll, not drag ‑ DragRecognizer start -> large vertical touch move -> scroll, not drag
DragRecognizer start -> reset unbinds ‑ DragRecognizer start -> reset unbinds
DragRecognizer start -> small drag ‑ DragRecognizer start -> small drag
Effects all effects provide an input and output that are connected ‑ Effects all effects provide an input and output that are connected
ErrorBoundary ErrorBoundary shows children before error and CrashMessageComponent after ‑ ErrorBoundary ErrorBoundary shows children before error and CrashMessageComponent after
Hardware extension connection modal Message saying Scratch Link is unavailable (BLE) ‑ Hardware extension connection modal Message saying Scratch Link is unavailable (BLE)
Hardware extension connection modal Message saying Scratch Link is unavailable (BT) ‑ Hardware extension connection modal Message saying Scratch Link is unavailable (BT)
HashParserHOC when hash change happens, the projectId state is changed ‑ HashParserHOC when hash change happens, the projectId state is changed
HashParserHOC when the hash is not a number, it passes 0 as projectId ‑ HashParserHOC when the hash is not a number, it passes 0 as projectId
HashParserHOC when there is a hash, it passes the hash as projectId ‑ HashParserHOC when there is a hash, it passes the hash as projectId
HashParserHOC when there is no hash, it passes 0 as the projectId ‑ HashParserHOC when there is no hash, it passes 0 as the projectId
IconButtonComponent does not trigger callback when not clicked ‑ IconButtonComponent does not trigger callback when not clicked
IconButtonComponent renders with all props correctly ‑ IconButtonComponent renders with all props correctly
IconButtonComponent triggers callback when clicked ‑ IconButtonComponent triggers callback when clicked
Loading scratch gui Load sb2 project with a missing svg costume ‑ Loading scratch gui Load sb2 project with a missing svg costume
Loading scratch gui Load sb2 project with an invalid svg costume ‑ Loading scratch gui Load sb2 project with an invalid svg costume
Loading scratch gui Load sb3 project with a missing bmp costume ‑ Loading scratch gui Load sb3 project with a missing bmp costume
Loading scratch gui Load sb3 project with a missing svg costume ‑ Loading scratch gui Load sb3 project with a missing svg costume
Loading scratch gui Load sb3 project with an invalid bmp costume ‑ Loading scratch gui Load sb3 project with an invalid bmp costume
Loading scratch gui Load sb3 project with an invalid svg costume ‑ Loading scratch gui Load sb3 project with an invalid svg costume
Loading scratch gui Loading project file from computer gives project the filename from file ‑ Loading scratch gui Loading project file from computer gives project the filename from file
Loading scratch gui Loading project file from computer succeeds, without opening failure alert ‑ Loading scratch gui Loading project file from computer succeeds, without opening failure alert
Loading scratch gui Loading projects by ID Creating new project resets active tab to Code tab ‑ Loading scratch gui Loading projects by ID Creating new project resets active tab to Code tab
Loading scratch gui Loading projects by ID Load a project by ID (fullscreen) ‑ Loading scratch gui Loading projects by ID Load a project by ID (fullscreen)
Loading scratch gui Loading projects by ID Load a project by ID directly through url ‑ Loading scratch gui Loading projects by ID Load a project by ID directly through url
Loading scratch gui Loading projects by ID Nonexistent projects show error screen ‑ Loading scratch gui Loading projects by ID Nonexistent projects show error screen
Loading scratch gui Loading projects by ID Not logged in->made a change to project->create new project should show alert ‑ Loading scratch gui Loading projects by ID Not logged in->made a change to project->create new project should show alert
Loading scratch gui Loading projects by ID Not logged in->made no changes to project->create new project should not show alert ‑ Loading scratch gui Loading projects by ID Not logged in->made no changes to project->create new project should not show alert
Loading scratch gui Switching small/large stage after highlighting and deleting sprite ‑ Loading scratch gui Switching small/large stage after highlighting and deleting sprite
Localization Loading with locale shows correct blocks ‑ Localization Loading with locale shows correct blocks
Localization Loading with locale shows correct translation for string length block parameter ‑ Localization Loading with locale shows correct translation for string length block parameter
Localization Monitor labels update on locale change ‑ Localization Monitor labels update on locale change
Localization Switching languages ‑ Localization Switching languages
Menu Bar HOC Logged OUT user who HAS changed project WILL be prompted to save ‑ Menu Bar HOC Logged OUT user who HAS changed project WILL be prompted to save
Menu Bar HOC Logged OUT user who has NOT changed project WILL NOT be prompted to save ‑ Menu Bar HOC Logged OUT user who has NOT changed project WILL NOT be prompted to save
Menu Bar HOC Logged in user who IS owner and HAS changed project SHOULD save before transition to project page ‑ Menu Bar HOC Logged in user who IS owner and HAS changed project SHOULD save before transition to project page
Menu Bar HOC Logged in user who IS owner and HAS changed project will NOT be prompted to save ‑ Menu Bar HOC Logged in user who IS owner and HAS changed project will NOT be prompted to save
Menu Bar HOC Logged in user who IS owner and has NOT changed project should NOT save before transition ‑ Menu Bar HOC Logged in user who IS owner and has NOT changed project should NOT save before transition
Menu Bar HOC Logged in user who IS owner and has NOT changed project will NOT be prompted to save ‑ Menu Bar HOC Logged in user who IS owner and has NOT changed project will NOT be prompted to save
Menu Bar HOC Logged in user who is NOT owner and HAS changed project should NOT save before transition ‑ Menu Bar HOC Logged in user who is NOT owner and HAS changed project should NOT save before transition
Menu Bar HOC Logged in user who is NOT owner and HAS changed project will NOT be prompted to save ‑ Menu Bar HOC Logged in user who is NOT owner and HAS changed project will NOT be prompted to save
Menu Bar HOC Logged in user who is NOT owner and has NOT changed project should NOT save before transition ‑ Menu Bar HOC Logged in user who is NOT owner and has NOT changed project should NOT save before transition
Menu bar settings (GH#4064) Project name should be editable ‑ Menu bar settings (GH#4064) Project name should be editable
Menu bar settings File->Load should be enabled ‑ Menu bar settings File->Load should be enabled
Menu bar settings File->New should be enabled ‑ Menu bar settings File->New should be enabled
Menu bar settings File->Save should be enabled ‑ Menu bar settings File->Save should be enabled
Menu bar settings Logo should be clickable ‑ Menu bar settings Logo should be clickable
Menu bar settings Menu labels hidden when width is equal to 1024 ‑ Menu bar settings Menu labels hidden when width is equal to 1024
Menu bar settings Menu labels shown when width is greater than 1024 ‑ Menu bar settings Menu labels shown when width is greater than 1024
Menu bar settings Settings menu switches between submenus ‑ Menu bar settings Settings menu switches between submenus
Menu bar settings Share button should NOT be enabled ‑ Menu bar settings Share button should NOT be enabled
Menu bar settings Theme picker shows themes ‑ Menu bar settings Theme picker shows themes
Menu bar settings Theme picker switches to high contrast ‑ Menu bar settings Theme picker switches to high contrast
Menu bar settings User is not warned before uploading project file over a fresh project ‑ Menu bar settings User is not warned before uploading project file over a fresh project
Menu bar settings User is warned before uploading project file over an edited project ‑ Menu bar settings User is warned before uploading project file over an edited project
MenuBar Component menu bar with an About handler has an About button ‑ MenuBar Component menu bar with an About handler has an About button
MenuBar Component menu bar with no About handler has no About button ‑ MenuBar Component menu bar with no About handler has no About button
MenuBar Component triggering About button handler clicking on About button calls the handler ‑ MenuBar Component triggering About button handler clicking on About button calls the handler
MenuBar Component triggering About button handler not clicking on About button does not call the handler ‑ MenuBar Component triggering About button handler not clicking on About button does not call the handler
Monitor Component it selects the correct colors based on dark mode theme ‑ Monitor Component it selects the correct colors based on dark mode theme
Monitor Component it selects the correct colors based on default theme ‑ Monitor Component it selects the correct colors based on default theme
MonitorListComponent it renders the correct step size for discrete sliders ‑ MonitorListComponent it renders the correct step size for discrete sliders
MonitorListComponent it renders the correct step size for non-discrete sliders ‑ MonitorListComponent it renders the correct step size for non-discrete sliders
Opcode Labels day of week label ‑ Opcode Labels day of week label
Opcode Labels unspecified opcodes default to extension category and opcode as label ‑ Opcode Labels unspecified opcodes default to extension category and opcode as label
Project state File->New resets project title ‑ Project state File->New resets project title
ProjectFetcherHOC when there is a reduxProjectId and isFetchingWithProjectId is true, it loads the project ‑ ProjectFetcherHOC when there is a reduxProjectId and isFetchingWithProjectId is true, it loads the project
ProjectFetcherHOC when there is an id, it tries to update the store with that id ‑ ProjectFetcherHOC when there is an id, it tries to update the store with that id
SBFileUploaderHOC if isLoadingUpload becomes true, without fileToUpload set, will call cancelFileUpload ‑ SBFileUploaderHOC if isLoadingUpload becomes true, without fileToUpload set, will call cancelFileUpload
SVG Font Parsing Has font regexp works ‑ SVG Font Parsing Has font regexp works
SaveStatus container if there are inline messages, they are shown instead of save now ‑ SaveStatus container if there are inline messages, they are shown instead of save now
SaveStatus container neither is shown if there are no project changes or inline messages ‑ SaveStatus container neither is shown if there are no project changes or inline messages
SaveStatus container save now is shown if there are project changes and no inline messages ‑ SaveStatus container save now is shown if there are project changes and no inline messages
Shared Audio Context returns AudioContext when mousedown is triggered ‑ Shared Audio Context returns AudioContext when mousedown is triggered
Shared Audio Context returns AudioContext when touchstart is triggered ‑ Shared Audio Context returns AudioContext when touchstart is triggered
Shared Audio Context returns empty object without user gesture ‑ Shared Audio Context returns empty object without user gesture
Slider Prompt Container calls onCancel when cancel button is clicked ‑ Slider Prompt Container calls onCancel when cancel button is clicked
Slider Prompt Container calls onOk when confirm button is clicked ‑ Slider Prompt Container calls onOk when confirm button is clicked
Slider Prompt Container matches snapshot ‑ Slider Prompt Container matches snapshot
Sound Editor Component delete button appears when selection is not null ‑ Sound Editor Component delete button appears when selection is not null
Sound Editor Component disbaling undo/redo button redo button can be disabled when canRedo equals false ‑ Sound Editor Component disbaling undo/redo button redo button can be disabled when canRedo equals false
Sound Editor Component disbaling undo/redo button undo button can be disabled when canUndo equals false ‑ Sound Editor Component disbaling undo/redo button undo button can be disabled when canUndo equals false
Sound Editor Component effect buttons call the correct callbacks clicking faster button calls correct callback ‑ Sound Editor Component effect buttons call the correct callbacks clicking faster button calls correct callback
Sound Editor Component effect buttons call the correct callbacks clicking louder button calls correct callback ‑ Sound Editor Component effect buttons call the correct callbacks clicking louder button calls correct callback
Sound Editor Component effect buttons call the correct callbacks clicking reverse button calls correct callback ‑ Sound Editor Component effect buttons call the correct callbacks clicking reverse button calls correct callback
Sound Editor Component effect buttons call the correct callbacks clicking robot button calls correct callback ‑ Sound Editor Component effect buttons call the correct callbacks clicking robot button calls correct callback
Sound Editor Component effect buttons call the correct callbacks clicking slower button calls correct callback ‑ Sound Editor Component effect buttons call the correct callbacks clicking slower button calls correct callback
Sound Editor Component effect buttons call the correct callbacks clicking softer button calls correct callback ‑ Sound Editor Component effect buttons call the correct callbacks clicking softer button calls correct callback
Sound Editor Component matches snapshot ‑ Sound Editor Component matches snapshot
Sound Editor Component play button appears when playhead is null ‑ Sound Editor Component play button appears when playhead is null
Sound Editor Component stop button appears when playhead is not null ‑ Sound Editor Component stop button appears when playhead is not null
Sound Editor Component submitting name calls the callback ‑ Sound Editor Component submitting name calls the callback
Sound Editor Component undo/redo buttons call the correct callbacks when redo button is clicked it calls the correct callback ‑ Sound Editor Component undo/redo buttons call the correct callbacks when redo button is clicked it calls the correct callback
Sound Editor Component undo/redo buttons call the correct callbacks when undo button is clicked it calls the correct callback ‑ Sound Editor Component undo/redo buttons call the correct callbacks when undo button is clicked it calls the correct callback
Sound Editor Container it handles an effect by submitting the result and playing ‑ Sound Editor Container it handles an effect by submitting the result and playing
Sound Editor Container it handles faster effect correctly ‑ Sound Editor Container it handles faster effect correctly
Sound Editor Container it handles louder effect correctly ‑ Sound Editor Container it handles louder effect correctly
Sound Editor Container it handles reverse effect correctly ‑ Sound Editor Container it handles reverse effect correctly
Sound Editor Container it handles robot effect correctly ‑ Sound Editor Container it handles robot effect correctly
Sound Editor Container it handles slower effect correctly ‑ Sound Editor Container it handles slower effect correctly
Sound Editor Container it handles softer effect correctly ‑ Sound Editor Container it handles softer effect correctly
Sound Editor Container it plays when clicked and stops when clicked again ‑ Sound Editor Container it plays when clicked and stops when clicked again
Sound Editor Container it submits name changes to the vm ‑ Sound Editor Container it submits name changes to the vm
Sound Editor Container should pass the correct data to the component from the store ‑ Sound Editor Container should pass the correct data to the component from the store
Sound Editor Container undo and redo submit new samples and play the sound ‑ Sound Editor Container undo and redo submit new samples and play the sound
Sound Editor Container undo/redo stack state ‑ Sound Editor Container undo/redo stack state
SpriteSelectorItem Container should delete the sprite, when called without `withDeleteConfirmation` ‑ SpriteSelectorItem Container should delete the sprite, when called without `withDeleteConfirmation`
SpriteSelectorItem Container should initiate sprite deletion, when called `withDeleteConfirmation` ‑ SpriteSelectorItem Container should initiate sprite deletion, when called `withDeleteConfirmation`
SpriteSelectorItemComponent does not have a close box when not selected ‑ SpriteSelectorItemComponent does not have a close box when not selected
SpriteSelectorItemComponent it has a context menu with delete menu item and callback ‑ SpriteSelectorItemComponent it has a context menu with delete menu item and callback
SpriteSelectorItemComponent matches snapshot when given a number and details to show ‑ SpriteSelectorItemComponent matches snapshot when given a number and details to show
SpriteSelectorItemComponent matches snapshot when selected ‑ SpriteSelectorItemComponent matches snapshot when selected
SpriteSelectorItemComponent triggers callback when Box component is clicked ‑ SpriteSelectorItemComponent triggers callback when Box component is clicked
SpriteSelectorItemComponent triggers callback when CloseButton component is clicked ‑ SpriteSelectorItemComponent triggers callback when CloseButton component is clicked
ToggleButtons calls correct click handler ‑ ToggleButtons calls correct click handler
ToggleButtons renders multiple buttons ‑ ToggleButtons renders multiple buttons
VMListenerHOC PROJECT_CHANGED does dispatch if the sound recorder is visible ‑ VMListenerHOC PROJECT_CHANGED does dispatch if the sound recorder is visible
VMListenerHOC PROJECT_CHANGED does not dispatch if in fullscreen mode ‑ VMListenerHOC PROJECT_CHANGED does not dispatch if in fullscreen mode
VMListenerHOC it does not rerender if throttled prop is updated too soon ‑ VMListenerHOC it does not rerender if throttled prop is updated too soon
VMListenerHOC it does rerender if a non-throttled prop is changed ‑ VMListenerHOC it does rerender if a non-throttled prop is changed
VMListenerHOC it does rerender if throttled prop is updated after throttle timeout ‑ VMListenerHOC it does rerender if throttled prop is updated after throttle timeout
VMListenerHOC it passes the props on initial render ‑ VMListenerHOC it passes the props on initial render
VMListenerHOC keypresses go to the vm ‑ VMListenerHOC keypresses go to the vm
VMListenerHOC onGreenFlag is not passed to the children ‑ VMListenerHOC onGreenFlag is not passed to the children
VMListenerHOC targetsUpdate does not dispatch if the sound recorder is visible ‑ VMListenerHOC targetsUpdate does not dispatch if the sound recorder is visible
VMListenerHOC targetsUpdate event from vm triggers targets update action ‑ VMListenerHOC targetsUpdate event from vm triggers targets update action
VMListenerHOC vm green flag event is bound to the passed in prop callback ‑ VMListenerHOC vm green flag event is bound to the passed in prop callback
VMManagerHOC if it mounts with an initialized and started VM, it does not start again ‑ VMManagerHOC if it mounts with an initialized and started VM, it does not start again
VMManagerHOC if it mounts with an initialized vm, it does not reinitialize the vm but will start it ‑ VMManagerHOC if it mounts with an initialized vm, it does not reinitialize the vm but will start it
VMManagerHOC if it mounts without starting the VM, it can be started by switching to editor mode ‑ VMManagerHOC if it mounts without starting the VM, it can be started by switching to editor mode
VMManagerHOC if the fontsLoaded prop becomes true, it loads project data into the vm ‑ VMManagerHOC if the fontsLoaded prop becomes true, it loads project data into the vm
VMManagerHOC if the fontsLoaded prop is false, project data is never loaded ‑ VMManagerHOC if the fontsLoaded prop is false, project data is never loaded
VMManagerHOC if the isLoadingWithId prop becomes true, it loads project data into the vm ‑ VMManagerHOC if the isLoadingWithId prop becomes true, it loads project data into the vm
VMManagerHOC when it mounts in editor mode, the vm is initialized and started ‑ VMManagerHOC when it mounts in editor mode, the vm is initialized and started
VMManagerHOC when it mounts in player mode, the vm is initialized but not started ‑ VMManagerHOC when it mounts in player mode, the vm is initialized but not started
Working with backdrops Adding a backdrop from the library should not switch to stage ‑ Working with backdrops Adding a backdrop from the library should not switch to stage
Working with backdrops Adding backdrop via paint should switch to stage ‑ Working with backdrops Adding backdrop via paint should switch to stage
Working with backdrops Adding backdrop via surprise should not switch to stage ‑ Working with backdrops Adding backdrop via surprise should not switch to stage
Working with backdrops Adding multiple backdrops from file should switch to stage ‑ Working with backdrops Adding multiple backdrops from file should switch to stage
Working with costumes Adding a bmp from file ‑ Working with costumes Adding a bmp from file
Working with costumes Adding a costume by paint button ‑ Working with costumes Adding a costume by paint button
Working with costumes Adding a costume by surprise button ‑ Working with costumes Adding a costume by surprise button
Working with costumes Adding a costume through the library ‑ Working with costumes Adding a costume through the library
Working with costumes Adding a letter costume through the Letters filter in the library ‑ Working with costumes Adding a letter costume through the Letters filter in the library
Working with costumes Adding a png from file (gh-3582) ‑ Working with costumes Adding a png from file (gh-3582)
Working with costumes Adding an svg from file ‑ Working with costumes Adding an svg from file
Working with costumes Adding multiple costumes at the same time ‑ Working with costumes Adding multiple costumes at the same time
Working with costumes Adding several costumes with a gif ‑ Working with costumes Adding several costumes with a gif
Working with costumes Converting bitmap/vector in paint editor ‑ Working with costumes Converting bitmap/vector in paint editor
Working with costumes Duplicating a costume ‑ Working with costumes Duplicating a costume
Working with costumes Load an invalid svg from scratch2 as costume ‑ Working with costumes Load an invalid svg from scratch2 as costume
Working with costumes Load an invalid svg from scratch3 as costume ‑ Working with costumes Load an invalid svg from scratch3 as costume
Working with costumes Undo/redo in the paint editor ‑ Working with costumes Undo/redo in the paint editor
Working with shortcut to Tutorials library can open hidden tutorials ‑ Working with shortcut to Tutorials library can open hidden tutorials
Working with shortcut to Tutorials library opens with the Tutorial Library showing ‑ Working with shortcut to Tutorials library opens with the Tutorial Library showing
Working with sounds Adding a sound by surprise button ‑ Working with sounds Adding a sound by surprise button
Working with sounds Adding a sound through the library ‑ Working with sounds Adding a sound through the library
Working with sounds Adding multiple sounds at the same time ‑ Working with sounds Adding multiple sounds at the same time
Working with sounds Can copy a sound from a sprite and paste into a sound on the stage ‑ Working with sounds Can copy a sound from a sprite and paste into a sound on the stage
Working with sounds Copy and pasting within a sound changes its duration ‑ Working with sounds Copy and pasting within a sound changes its duration
Working with sounds Copy to new button adds a new sound ‑ Working with sounds Copy to new button adds a new sound
Working with sounds Duplicating a sound ‑ Working with sounds Duplicating a sound
Working with sounds Keyboard shortcuts ‑ Working with sounds Keyboard shortcuts
Working with sounds Switching sprites with different numbers of sounds ‑ Working with sounds Switching sprites with different numbers of sounds
Working with sprites Adding a letter sprite through the Letters filter in the library ‑ Working with sprites Adding a letter sprite through the Letters filter in the library
Working with sprites Adding a sprite by paint button ‑ Working with sprites Adding a sprite by paint button
Working with sprites Adding a sprite by surprise button ‑ Working with sprites Adding a sprite by surprise button
Working with sprites Adding a sprite by uploading a gif ‑ Working with sprites Adding a sprite by uploading a gif
Working with sprites Adding a sprite by uploading a png ‑ Working with sprites Adding a sprite by uploading a png
Working with sprites Adding a sprite by uploading an svg (gh-3608) ‑ Working with sprites Adding a sprite by uploading an svg (gh-3608)
Working with sprites Adding a sprite through the library ‑ Working with sprites Adding a sprite through the library
Working with sprites Adding multiple sprites at the same time ‑ Working with sprites Adding multiple sprites at the same time
Working with sprites Deleting by x button on sprite tile ‑ Working with sprites Deleting by x button on sprite tile
Working with sprites Deleting only sprite does not crash with changed name ‑ Working with sprites Deleting only sprite does not crash with changed name
Working with sprites Load a corrupt scratch2 svg as a sprite ‑ Working with sprites Load a corrupt scratch2 svg as a sprite
Working with sprites Load a scratch3 corrupt svg as a sprite ‑ Working with sprites Load a scratch3 corrupt svg as a sprite
Working with sprites Load a sprite2 with a currupt svg costume ‑ Working with sprites Load a sprite2 with a currupt svg costume
Working with sprites Load a sprite2 with a missing svg costume ‑ Working with sprites Load a sprite2 with a missing svg costume
Working with sprites Load a sprite3 with a currupt bmp costume ‑ Working with sprites Load a sprite3 with a currupt bmp costume
Working with sprites Load a sprite3 with a currupt svg costume ‑ Working with sprites Load a sprite3 with a currupt svg costume
Working with sprites Load a sprite3 with a missing bmp costume ‑ Working with sprites Load a sprite3 with a missing bmp costume
Working with sprites Load a sprite3 with a missing svg costume ‑ Working with sprites Load a sprite3 with a missing svg costume
Working with sprites Use browser back button to close library ‑ Working with sprites Use browser back button to close library
Working with the blocks "See inside" after being on project page re-initializing variables ‑ Working with the blocks "See inside" after being on project page re-initializing variables
Working with the blocks Adding a sound DOES update the default sound name in the toolbox ‑ Working with the blocks Adding a sound DOES update the default sound name in the toolbox
Working with the blocks Adding an extension ‑ Working with the blocks Adding an extension
Working with the blocks Adding costumes DOES update the default costume name in the toolbox ‑ Working with the blocks Adding costumes DOES update the default costume name in the toolbox
Working with the blocks Blocks report when clicked in the toolbox ‑ Working with the blocks Blocks report when clicked in the toolbox
Working with the blocks Creating a list ‑ Working with the blocks Creating a list
Working with the blocks Creating variables after adding extensions updates the toolbox ‑ Working with the blocks Creating variables after adding extensions updates the toolbox
Working with the blocks Creating variables ‑ Working with the blocks Creating variables
Working with the blocks Custom procedures ‑ Working with the blocks Custom procedures
Working with the blocks Record option from sound block menu opens sound recorder ‑ Working with the blocks Record option from sound block menu opens sound recorder
Working with the blocks Renaming costume changes the default costume name in the toolbox ‑ Working with the blocks Renaming costume changes the default costume name in the toolbox
Working with the blocks Renaming costume with a special character should not break toolbox ‑ Working with the blocks Renaming costume with a special character should not break toolbox
Working with the blocks Switching sprites updates the block menus ‑ Working with the blocks Switching sprites updates the block menus
Working with the blocks Use variable blocks after switching languages ‑ Working with the blocks Use variable blocks after switching languages
Working with the how-to library Backpack can be expanded with backpack host param ‑ Working with the how-to library Backpack can be expanded with backpack host param
Working with the how-to library Backpack is "Coming Soon" without backpack host param ‑ Working with the how-to library Backpack is "Coming Soon" without backpack host param
Working with the how-to library Choosing a how-to ‑ Working with the how-to library Choosing a how-to
blocks example Blocks: load a project by ID ‑ blocks example Blocks: load a project by ID
blocks example Change categories ‑ blocks example Change categories
codePayload base64 encodes the blocks as json ‑ codePayload base64 encodes the blocks as json
computeChunkedRMS chunk size as multiple is handled correctly ‑ computeChunkedRMS chunk size as multiple is handled correctly
computeChunkedRMS chunk size larger than sample size creates single chunk ‑ computeChunkedRMS chunk size larger than sample size creates single chunk
computeChunkedRMS computes the rms for each chunk based on chunk size ‑ computeChunkedRMS computes the rms for each chunk based on chunk size
computeRMS returns 0 when given no samples ‑ computeRMS returns 0 when given no samples
computeRMS returns the RMS scaled by the given unity value and square rooted ‑ computeRMS returns the RMS scaled by the given unity value and square rooted
computeRMS uses a default unity value of 0.55 ‑ computeRMS uses a default unity value of 0.55
defaultProject assets referenced by the project are included ‑ defaultProject assets referenced by the project are included
defineDynamicBlock can define a Boolean ‑ defineDynamicBlock can define a Boolean
defineDynamicBlock can define a command block with an icon ‑ defineDynamicBlock can define a command block with an icon
defineDynamicBlock can define a command block without an icon ‑ defineDynamicBlock can define a command block without an icon
defineDynamicBlock can define a hat ‑ defineDynamicBlock can define a hat
defineDynamicBlock can define a reporter ‑ defineDynamicBlock can define a reporter
defineDynamicBlock can define a terminal command ‑ defineDynamicBlock can define a terminal command
defineDynamicBlock is a function ‑ defineDynamicBlock is a function
detectLocale also accepts lang from the URL when present ‑ detectLocale also accepts lang from the URL when present
detectLocale if multiple, uses the first locale ‑ detectLocale if multiple, uses the first locale
detectLocale ignores navigator language property if unsupported ‑ detectLocale ignores navigator language property if unsupported
detectLocale ignores other parameters ‑ detectLocale ignores other parameters
detectLocale ignores unsupported locales ‑ detectLocale ignores unsupported locales
detectLocale is case insensitive ‑ detectLocale is case insensitive
detectLocale uses locale from the URL when present ‑ detectLocale uses locale from the URL when present
detectLocale uses navigator language property for default if supported ‑ detectLocale uses navigator language property for default if supported
detectLocale works with an empty locale ‑ detectLocale works with an empty locale
downsampleIfNeeded downsamples to 22050 if that puts it under the limit ‑ downsampleIfNeeded downsamples to 22050 if that puts it under the limit
downsampleIfNeeded fails if resampling would not put it under the limit ‑ downsampleIfNeeded fails if resampling would not put it under the limit
downsampleIfNeeded returns given data when no downsampling needed ‑ downsampleIfNeeded returns given data when no downsampling needed
dropEveryOtherSample result contains only even-index items ‑ dropEveryOtherSample result contains only even-index items
dropEveryOtherSample result is half the length ‑ dropEveryOtherSample result is half the length
dropEveryOtherSample result sampleRate is given sampleRate / 2 ‑ dropEveryOtherSample result sampleRate is given sampleRate / 2
getProjectTitleFromFilename correctly sets title with .sb filename ‑ getProjectTitleFromFilename correctly sets title with .sb filename
getProjectTitleFromFilename correctly sets title with .sb2 filename ‑ getProjectTitleFromFilename correctly sets title with .sb2 filename
getProjectTitleFromFilename correctly sets title with .sb3 filename ‑ getProjectTitleFromFilename correctly sets title with .sb3 filename
getProjectTitleFromFilename sets blank title with filename with no extension ‑ getProjectTitleFromFilename sets blank title with filename with no extension
indexForPositionOnList returns null when not given any boxes ‑ indexForPositionOnList returns null when not given any boxes
indexForPositionOnList wrapped list with incomplete last row LTR ‑ indexForPositionOnList wrapped list with incomplete last row LTR
indexForPositionOnList wrapped list with incomplete last row RTL ‑ indexForPositionOnList wrapped list with incomplete last row RTL
player example Player: load a project by ID ‑ player example Player: load a project by ID
projectSaverHOC if canCreateNew becomes true when showing a project without an id, project will be created ‑ projectSaverHOC if canCreateNew becomes true when showing a project without an id, project will be created
projectSaverHOC if canCreateNew is true and we transition to showing new project, project will be created ‑ projectSaverHOC if canCreateNew is true and we transition to showing new project, project will be created
projectSaverHOC if canSave becomes true when showing a project with an id, project will be saved ‑ projectSaverHOC if canSave becomes true when showing a project with an id, project will be saved
projectSaverHOC if canSave is already true and we show a project with an id, project will NOT be saved ‑ projectSaverHOC if canSave is already true and we show a project with an id, project will NOT be saved
projectSaverHOC if canSave is false when showing a project without an id, project will NOT be created ‑ projectSaverHOC if canSave is false when showing a project without an id, project will NOT be created
projectSaverHOC if project is changed several times in a row, it should only autosave once ‑ projectSaverHOC if project is changed several times in a row, it should only autosave once
projectSaverHOC if project is changed, it should autosave after interval ‑ projectSaverHOC if project is changed, it should autosave after interval
projectSaverHOC if project is not changed, it should not autosave after interval ‑ projectSaverHOC if project is not changed, it should not autosave after interval
projectSaverHOC if user saves, inline saving alert should show ‑ projectSaverHOC if user saves, inline saving alert should show
projectSaverHOC if we are already in updating/saving state, vm project should NOT requested, alert should NOT show ‑ projectSaverHOC if we are already in updating/saving state, vm project should NOT requested, alert should NOT show
projectSaverHOC if we enter creating copy state, vm project should be requested, and alert should show ‑ projectSaverHOC if we enter creating copy state, vm project should be requested, and alert should show
projectSaverHOC if we enter creating new state, vm project should be requested ‑ projectSaverHOC if we enter creating new state, vm project should be requested
projectSaverHOC if we enter remixing state, vm project should be requested, and alert should show ‑ projectSaverHOC if we enter remixing state, vm project should be requested, and alert should show
projectSaverHOC if we enter updating/saving state, vm project should be requested ‑ projectSaverHOC if we enter updating/saving state, vm project should be requested
projectSaverHOC uses onSetProjectSaver on mount/unmount ‑ projectSaverHOC uses onSetProjectSaver on mount/unmount
projectSaverHOC uses onSetProjectThumbnailer on mount/unmount ‑ projectSaverHOC uses onSetProjectThumbnailer on mount/unmount
projectSaverHOC when starting to remix, onRemixing should be called with param false ‑ projectSaverHOC when starting to remix, onRemixing should be called with param false
projectSaverHOC when starting to remix, onRemixing should be called with param true ‑ projectSaverHOC when starting to remix, onRemixing should be called with param true
themes block helpers bypasses updates if using the default theme ‑ themes block helpers bypasses updates if using the default theme
themes block helpers updates extension block colors based on theme ‑ themes block helpers updates extension block colors based on theme
themes block helpers updates extension block icon based on theme ‑ themes block helpers updates extension block icon based on theme
themes block helpers updates extension category based on theme ‑ themes block helpers updates extension category based on theme
themes core functionality provides the default theme colors ‑ themes core functionality provides the default theme colors
themes core functionality returns the dark mode ‑ themes core functionality returns the dark mode
themes core functionality uses default theme colors when not specified ‑ themes core functionality uses default theme colors when not specified
themes theme persistance clears theme when matching system preferences ‑ themes theme persistance clears theme when matching system preferences
themes theme persistance persists theme to cookie ‑ themes theme persistance persists theme to cookie
themes theme persistance returns the system theme when no cookie ‑ themes theme persistance returns the system theme when no cookie
themes theme persistance returns the theme stored in a cookie ‑ themes theme persistance returns the theme stored in a cookie
translateVideo returns the English id for non-existent locales ‑ translateVideo returns the English id for non-existent locales
translateVideo returns the expected id for English ‑ translateVideo returns the expected id for English
translateVideo returns the expected id for Japanese ‑ translateVideo returns the expected id for Japanese
translateVideo returns the id if it is not found ‑ translateVideo returns the id if it is not found
Loading