remotion 3.3.53 → 3.3.55
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/dist/cjs/AbsoluteFill.d.ts +2 -2
- package/dist/cjs/AbsoluteFill.js +2 -2
- package/dist/cjs/Composition.d.ts +4 -0
- package/dist/cjs/Composition.js +4 -0
- package/dist/cjs/Folder.d.ts +4 -0
- package/dist/cjs/Folder.js +4 -0
- package/dist/cjs/IFrame.d.ts +4 -0
- package/dist/cjs/IFrame.js +4 -0
- package/dist/cjs/Img.d.ts +4 -0
- package/dist/cjs/Img.js +4 -0
- package/dist/cjs/Sequence.d.ts +2 -10
- package/dist/cjs/Sequence.js +6 -6
- package/dist/cjs/SequenceContext.d.ts +9 -0
- package/dist/cjs/SequenceContext.js +5 -0
- package/dist/cjs/Still.d.ts +4 -0
- package/dist/cjs/Still.js +4 -0
- package/dist/cjs/audio/Audio.d.ts +4 -0
- package/dist/cjs/audio/Audio.js +6 -2
- package/dist/cjs/audio/AudioForDevelopment.js +2 -2
- package/dist/cjs/audio/AudioForRendering.js +2 -2
- package/dist/cjs/audio/use-audio-frame.js +2 -2
- package/dist/cjs/cancel-render.d.ts +4 -0
- package/dist/cjs/cancel-render.js +4 -0
- package/dist/cjs/delay-render.d.ts +4 -4
- package/dist/cjs/delay-render.js +4 -4
- package/dist/cjs/easing.d.ts +4 -0
- package/dist/cjs/easing.js +4 -0
- package/dist/cjs/freeze.d.ts +4 -0
- package/dist/cjs/freeze.js +6 -2
- package/dist/cjs/get-static-files.d.ts +4 -0
- package/dist/cjs/get-static-files.js +4 -0
- package/dist/cjs/index.d.ts +16 -8
- package/dist/cjs/index.js +18 -10
- package/dist/cjs/internals.d.ts +5 -5
- package/dist/cjs/internals.js +4 -4
- package/dist/cjs/interpolate-colors.d.ts +4 -0
- package/dist/cjs/interpolate-colors.js +4 -0
- package/dist/cjs/interpolate.js +4 -0
- package/dist/cjs/loop/index.d.ts +4 -0
- package/dist/cjs/loop/index.js +4 -0
- package/dist/cjs/prefetch.d.ts +4 -0
- package/dist/cjs/prefetch.js +4 -0
- package/dist/cjs/random.d.ts +2 -3
- package/dist/cjs/random.js +2 -3
- package/dist/cjs/register-root.d.ts +4 -0
- package/dist/cjs/register-root.js +4 -0
- package/dist/cjs/series/index.d.ts +4 -0
- package/dist/cjs/series/index.js +4 -0
- package/dist/cjs/spring/index.d.ts +2 -2
- package/dist/cjs/spring/index.js +2 -2
- package/dist/cjs/spring/measure-spring.d.ts +4 -0
- package/dist/cjs/spring/measure-spring.js +4 -0
- package/dist/cjs/static-file.d.ts +2 -2
- package/dist/cjs/static-file.js +2 -2
- package/dist/cjs/use-current-frame.d.ts +2 -3
- package/dist/cjs/use-current-frame.js +4 -5
- package/dist/cjs/use-media-in-timeline.js +2 -2
- package/dist/cjs/use-unsafe-video-config.js +2 -2
- package/dist/cjs/use-video-config.d.ts +4 -3
- package/dist/cjs/use-video-config.js +4 -3
- package/dist/cjs/validate-media-props.d.ts +2 -2
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/video/OffthreadVideo.d.ts +4 -0
- package/dist/cjs/video/OffthreadVideo.js +4 -0
- package/dist/cjs/video/OffthreadVideoForRendering.js +2 -2
- package/dist/cjs/video/Video.d.ts +4 -0
- package/dist/cjs/video/Video.js +6 -2
- package/dist/cjs/video/VideoForDevelopment.js +2 -2
- package/dist/cjs/video/VideoForRendering.js +2 -2
- package/dist/cjs/wrap-remotion-context.d.ts +1 -1
- package/dist/cjs/wrap-remotion-context.js +3 -3
- package/dist/esm/AbsoluteFill.js +2 -2
- package/dist/esm/Composition.js +4 -0
- package/dist/esm/Folder.js +4 -0
- package/dist/esm/IFrame.js +4 -0
- package/dist/esm/Img.js +4 -0
- package/dist/esm/Sequence.js +5 -5
- package/dist/esm/SequenceContext.js +2 -0
- package/dist/esm/Still.js +4 -0
- package/dist/esm/audio/Audio.js +5 -1
- package/dist/esm/audio/AudioForDevelopment.js +1 -1
- package/dist/esm/audio/AudioForRendering.js +1 -1
- package/dist/esm/audio/use-audio-frame.js +1 -1
- package/dist/esm/cancel-render.js +4 -0
- package/dist/esm/delay-render.js +4 -4
- package/dist/esm/easing.js +4 -0
- package/dist/esm/freeze.js +5 -1
- package/dist/esm/get-static-files.js +4 -0
- package/dist/esm/index.js +15 -7
- package/dist/esm/index.mjs +4070 -0
- package/dist/esm/internals.js +2 -2
- package/dist/esm/interpolate-colors.js +4 -0
- package/dist/esm/interpolate.js +4 -0
- package/dist/esm/loop/index.js +4 -0
- package/dist/esm/prefetch.js +4 -0
- package/dist/esm/random.js +2 -3
- package/dist/esm/register-root.js +4 -0
- package/dist/esm/series/index.js +4 -0
- package/dist/esm/spring/index.js +2 -2
- package/dist/esm/spring/measure-spring.js +4 -0
- package/dist/esm/static-file.js +2 -2
- package/dist/esm/test/audio.test.js +1 -1
- package/dist/esm/test/composition-validation.test.js +1 -1
- package/dist/esm/test/loop-validation.test.js +1 -1
- package/dist/esm/test/measure-spring.test.js +1 -1
- package/dist/esm/test/series.test.js +1 -1
- package/dist/esm/test/spring.test.js +1 -1
- package/dist/esm/test/use-audio-frame.test.js +1 -1
- package/dist/esm/test/video.test.js +1 -1
- package/dist/esm/use-current-frame.js +3 -4
- package/dist/esm/use-media-in-timeline.js +1 -1
- package/dist/esm/use-unsafe-video-config.js +1 -1
- package/dist/esm/use-video-config.js +4 -3
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.mjs +4 -0
- package/dist/esm/video/OffthreadVideo.js +4 -0
- package/dist/esm/video/OffthreadVideoForRendering.js +1 -1
- package/dist/esm/video/Video.js +5 -1
- package/dist/esm/video/VideoForDevelopment.js +1 -1
- package/dist/esm/video/VideoForRendering.js +1 -1
- package/dist/esm/wrap-remotion-context.js +2 -2
- package/package.json +11 -9
- package/version.js +2 -0
- package/.prettierrc.js +0 -14
- package/dist/cjs/test/Img.test.d.ts +0 -1
- package/dist/cjs/test/Img.test.js +0 -25
- package/dist/cjs/test/absolute-src.test.d.ts +0 -1
- package/dist/cjs/test/absolute-src.test.js +0 -18
- package/dist/cjs/test/audio-for-rendering.test.d.ts +0 -1
- package/dist/cjs/test/audio-for-rendering.test.js +0 -88
- package/dist/cjs/test/audio.test.d.ts +0 -1
- package/dist/cjs/test/audio.test.js +0 -76
- package/dist/cjs/test/bezier.test.d.ts +0 -1
- package/dist/cjs/test/bezier.test.js +0 -52
- package/dist/cjs/test/composition-rules.test.d.ts +0 -1
- package/dist/cjs/test/composition-rules.test.js +0 -30
- package/dist/cjs/test/composition-validation.test.d.ts +0 -1
- package/dist/cjs/test/composition-validation.test.js +0 -99
- package/dist/cjs/test/easing.test.d.ts +0 -1
- package/dist/cjs/test/easing.test.js +0 -191
- package/dist/cjs/test/expect-to-throw.d.ts +0 -1
- package/dist/cjs/test/expect-to-throw.js +0 -15
- package/dist/cjs/test/freeze.test.d.ts +0 -1
- package/dist/cjs/test/freeze.test.js +0 -65
- package/dist/cjs/test/get-asset-file-name.test.d.ts +0 -1
- package/dist/cjs/test/get-asset-file-name.test.js +0 -14
- package/dist/cjs/test/get-current-time.test.d.ts +0 -1
- package/dist/cjs/test/get-current-time.test.js +0 -74
- package/dist/cjs/test/input-props.test.d.ts +0 -1
- package/dist/cjs/test/input-props.test.js +0 -31
- package/dist/cjs/test/interpolate.test.d.ts +0 -1
- package/dist/cjs/test/interpolate.test.js +0 -138
- package/dist/cjs/test/interpolateColors.test.d.ts +0 -1
- package/dist/cjs/test/interpolateColors.test.js +0 -63
- package/dist/cjs/test/loop-validation.test.d.ts +0 -1
- package/dist/cjs/test/loop-validation.test.js +0 -93
- package/dist/cjs/test/measure-spring.test.d.ts +0 -1
- package/dist/cjs/test/measure-spring.test.js +0 -45
- package/dist/cjs/test/media-validation.test.d.ts +0 -1
- package/dist/cjs/test/media-validation.test.js +0 -47
- package/dist/cjs/test/nested-sequences.test.d.ts +0 -1
- package/dist/cjs/test/nested-sequences.test.js +0 -132
- package/dist/cjs/test/not-all-props-in-media-tags.test.d.ts +0 -1
- package/dist/cjs/test/not-all-props-in-media-tags.test.js +0 -33
- package/dist/cjs/test/random.test.d.ts +0 -1
- package/dist/cjs/test/random.test.js +0 -60
- package/dist/cjs/test/ready-manager.test.d.ts +0 -1
- package/dist/cjs/test/ready-manager.test.js +0 -29
- package/dist/cjs/test/render-hook.d.ts +0 -23
- package/dist/cjs/test/render-hook.js +0 -27
- package/dist/cjs/test/sequence-from-initial-offset.test.d.ts +0 -4
- package/dist/cjs/test/sequence-from-initial-offset.test.js +0 -35
- package/dist/cjs/test/sequence-validation.test.d.ts +0 -1
- package/dist/cjs/test/sequence-validation.test.js +0 -47
- package/dist/cjs/test/series.test.d.ts +0 -1
- package/dist/cjs/test/series.test.js +0 -115
- package/dist/cjs/test/spring.test.d.ts +0 -1
- package/dist/cjs/test/spring.test.js +0 -38
- package/dist/cjs/test/truthy.test.d.ts +0 -1
- package/dist/cjs/test/truthy.test.js +0 -24
- package/dist/cjs/test/use-audio-frame.test.d.ts +0 -1
- package/dist/cjs/test/use-audio-frame.test.js +0 -78
- package/dist/cjs/test/use-media-in-timeline.test.d.ts +0 -1
- package/dist/cjs/test/use-media-in-timeline.test.js +0 -74
- package/dist/cjs/test/use-media-tag-volume.test.d.ts +0 -1
- package/dist/cjs/test/use-media-tag-volume.test.js +0 -49
- package/dist/cjs/test/use-sync-volume-with-media-tag.test.d.ts +0 -1
- package/dist/cjs/test/use-sync-volume-with-media-tag.test.js +0 -55
- package/dist/cjs/test/validate-start-from-props.test.d.ts +0 -1
- package/dist/cjs/test/validate-start-from-props.test.js +0 -39
- package/dist/cjs/test/video.test.d.ts +0 -1
- package/dist/cjs/test/video.test.js +0 -80
- package/dist/cjs/test/volume-prop.test.d.ts +0 -1
- package/dist/cjs/test/volume-prop.test.js +0 -95
- package/dist/cjs/test/wrap-sequence-context.d.ts +0 -6
- package/dist/cjs/test/wrap-sequence-context.js +0 -41
- package/dist/esm/AbsoluteFill.d.ts +0 -6
- package/dist/esm/CanUseRemotionHooks.d.ts +0 -5
- package/dist/esm/Clipper.d.ts +0 -7
- package/dist/esm/Composition.d.ts +0 -23
- package/dist/esm/CompositionManager.d.ts +0 -82
- package/dist/esm/Folder.d.ts +0 -15
- package/dist/esm/IFrame.d.ts +0 -2
- package/dist/esm/Img.d.ts +0 -2
- package/dist/esm/NativeLayers.d.ts +0 -13
- package/dist/esm/Null.d.ts +0 -2
- package/dist/esm/RemotionRoot.d.ts +0 -5
- package/dist/esm/Sequence.d.ts +0 -29
- package/dist/esm/Still.d.ts +0 -3
- package/dist/esm/absolute-src.d.ts +0 -1
- package/dist/esm/asset-types.d.ts +0 -50
- package/dist/esm/audio/Audio.d.ts +0 -8
- package/dist/esm/audio/AudioForDevelopment.d.ts +0 -11
- package/dist/esm/audio/AudioForRendering.d.ts +0 -10
- package/dist/esm/audio/index.d.ts +0 -2
- package/dist/esm/audio/props.d.ts +0 -12
- package/dist/esm/audio/shared-audio-tags.d.ts +0 -37
- package/dist/esm/audio/use-audio-frame.d.ts +0 -6
- package/dist/esm/bezier.d.ts +0 -1
- package/dist/esm/cancel-render.d.ts +0 -1
- package/dist/esm/config/input-props.d.ts +0 -1
- package/dist/esm/config.d.ts +0 -285
- package/dist/esm/default-css.d.ts +0 -3
- package/dist/esm/delay-render.d.ts +0 -14
- package/dist/esm/easing.d.ts +0 -19
- package/dist/esm/freeze.d.ts +0 -7
- package/dist/esm/get-asset-file-name.d.ts +0 -1
- package/dist/esm/get-environment.d.ts +0 -3
- package/dist/esm/get-preview-dom-element.d.ts +0 -1
- package/dist/esm/get-static-files.d.ts +0 -17
- package/dist/esm/get-timeline-clip-name.d.ts +0 -1
- package/dist/esm/index.d.ts +0 -92
- package/dist/esm/internals.d.ts +0 -99
- package/dist/esm/interpolate-colors.d.ts +0 -5
- package/dist/esm/interpolate.d.ts +0 -18
- package/dist/esm/is-approximately-the-same.d.ts +0 -1
- package/dist/esm/is-player.d.ts +0 -3
- package/dist/esm/loading-indicator.d.ts +0 -2
- package/dist/esm/loop/index.d.ts +0 -9
- package/dist/esm/multiple-versions-warning.d.ts +0 -1
- package/dist/esm/nonce.d.ts +0 -7
- package/dist/esm/play-and-handle-not-allowed-error.d.ts +0 -2
- package/dist/esm/portal-node.d.ts +0 -1
- package/dist/esm/prefetch-state.d.ts +0 -8
- package/dist/esm/prefetch.d.ts +0 -9
- package/dist/esm/random.d.ts +0 -7
- package/dist/esm/register-root.d.ts +0 -4
- package/dist/esm/series/flatten-children.d.ts +0 -2
- package/dist/esm/series/index.d.ts +0 -13
- package/dist/esm/setup-env-variables.d.ts +0 -2
- package/dist/esm/spring/index.d.ts +0 -27
- package/dist/esm/spring/measure-spring.d.ts +0 -8
- package/dist/esm/spring/spring-utils.d.ts +0 -21
- package/dist/esm/static-file.d.ts +0 -5
- package/dist/esm/test/Img.test.d.ts +0 -1
- package/dist/esm/test/absolute-src.test.d.ts +0 -1
- package/dist/esm/test/audio-for-rendering.test.d.ts +0 -1
- package/dist/esm/test/audio.test.d.ts +0 -1
- package/dist/esm/test/bezier.test.d.ts +0 -1
- package/dist/esm/test/composition-rules.test.d.ts +0 -1
- package/dist/esm/test/composition-validation.test.d.ts +0 -1
- package/dist/esm/test/easing.test.d.ts +0 -1
- package/dist/esm/test/expect-to-throw.d.ts +0 -1
- package/dist/esm/test/freeze.test.d.ts +0 -1
- package/dist/esm/test/get-asset-file-name.test.d.ts +0 -1
- package/dist/esm/test/get-current-time.test.d.ts +0 -1
- package/dist/esm/test/input-props.test.d.ts +0 -1
- package/dist/esm/test/interpolate.test.d.ts +0 -1
- package/dist/esm/test/interpolateColors.test.d.ts +0 -1
- package/dist/esm/test/loop-validation.test.d.ts +0 -1
- package/dist/esm/test/measure-spring.test.d.ts +0 -1
- package/dist/esm/test/media-validation.test.d.ts +0 -1
- package/dist/esm/test/nested-sequences.test.d.ts +0 -1
- package/dist/esm/test/not-all-props-in-media-tags.test.d.ts +0 -1
- package/dist/esm/test/random.test.d.ts +0 -1
- package/dist/esm/test/ready-manager.test.d.ts +0 -1
- package/dist/esm/test/render-hook.d.ts +0 -23
- package/dist/esm/test/sequence-from-initial-offset.test.d.ts +0 -4
- package/dist/esm/test/sequence-validation.test.d.ts +0 -1
- package/dist/esm/test/series.test.d.ts +0 -1
- package/dist/esm/test/spring.test.d.ts +0 -1
- package/dist/esm/test/truthy.test.d.ts +0 -1
- package/dist/esm/test/use-audio-frame.test.d.ts +0 -1
- package/dist/esm/test/use-media-in-timeline.test.d.ts +0 -1
- package/dist/esm/test/use-media-tag-volume.test.d.ts +0 -1
- package/dist/esm/test/use-sync-volume-with-media-tag.test.d.ts +0 -1
- package/dist/esm/test/validate-start-from-props.test.d.ts +0 -1
- package/dist/esm/test/video.test.d.ts +0 -1
- package/dist/esm/test/volume-prop.test.d.ts +0 -1
- package/dist/esm/test/wrap-sequence-context.d.ts +0 -6
- package/dist/esm/timeline-position-state.d.ts +0 -29
- package/dist/esm/truthy.d.ts +0 -3
- package/dist/esm/use-current-frame.d.ts +0 -6
- package/dist/esm/use-lazy-component.d.ts +0 -7
- package/dist/esm/use-media-in-timeline.d.ts +0 -10
- package/dist/esm/use-media-playback.d.ts +0 -10
- package/dist/esm/use-media-tag-volume.d.ts +0 -2
- package/dist/esm/use-sync-volume-with-media-tag.d.ts +0 -10
- package/dist/esm/use-unsafe-video-config.d.ts +0 -2
- package/dist/esm/use-video-config.d.ts +0 -7
- package/dist/esm/use-video.d.ts +0 -13
- package/dist/esm/validate-frame.d.ts +0 -1
- package/dist/esm/validate-media-props.d.ts +0 -4
- package/dist/esm/validate-start-from-props.d.ts +0 -1
- package/dist/esm/validation/validate-composition-id.d.ts +0 -3
- package/dist/esm/validation/validate-dimensions.d.ts +0 -1
- package/dist/esm/validation/validate-duration-in-frames.d.ts +0 -1
- package/dist/esm/validation/validate-folder-name.d.ts +0 -3
- package/dist/esm/validation/validate-fps.d.ts +0 -1
- package/dist/esm/validation/validate-offthreadvideo-image-format.d.ts +0 -1
- package/dist/esm/validation/validation-spring-duration.d.ts +0 -1
- package/dist/esm/version.d.ts +0 -1
- package/dist/esm/video/OffthreadVideo.d.ts +0 -3
- package/dist/esm/video/OffthreadVideoForRendering.d.ts +0 -3
- package/dist/esm/video/Video.d.ts +0 -8
- package/dist/esm/video/VideoForDevelopment.d.ts +0 -11
- package/dist/esm/video/VideoForRendering.d.ts +0 -10
- package/dist/esm/video/duration-state.d.ts +0 -17
- package/dist/esm/video/get-current-time.d.ts +0 -13
- package/dist/esm/video/index.d.ts +0 -3
- package/dist/esm/video/props.d.ts +0 -25
- package/dist/esm/video/video-fragment.d.ts +0 -12
- package/dist/esm/video-config.d.ts +0 -8
- package/dist/esm/volume-position-state.d.ts +0 -19
- package/dist/esm/volume-prop.d.ts +0 -7
- package/dist/esm/warn-about-non-seekable-media.d.ts +0 -1
- package/dist/esm/wrap-remotion-context.d.ts +0 -18
- package/dist/tsconfig-cjs.tsbuildinfo +0 -1
- package/tsconfig-cjs.json +0 -11
- package/tsconfig.json +0 -12
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const vitest_1 = require("vitest");
|
|
4
|
-
const get_current_time_js_1 = require("../video/get-current-time.js");
|
|
5
|
-
(0, vitest_1.describe)('correctly calculate media time of video element', () => {
|
|
6
|
-
const mp4Precision = 0.04;
|
|
7
|
-
const webmPrecision = 0.02;
|
|
8
|
-
(0, vitest_1.describe)('src mp4', () => {
|
|
9
|
-
(0, vitest_1.test)('mp4 - Should correctly calculate the media time of a video element', () => {
|
|
10
|
-
(0, vitest_1.expect)((0, get_current_time_js_1.getMediaTime)({
|
|
11
|
-
fps: 30,
|
|
12
|
-
frame: 30,
|
|
13
|
-
playbackRate: 1,
|
|
14
|
-
src: 'video.mp4',
|
|
15
|
-
startFrom: 0,
|
|
16
|
-
mediaType: 'video',
|
|
17
|
-
})).toBeCloseTo(1, mp4Precision);
|
|
18
|
-
});
|
|
19
|
-
(0, vitest_1.test)('mp4 - Should correctly calculate the media time of a video element with faster framerate', () => {
|
|
20
|
-
(0, vitest_1.expect)((0, get_current_time_js_1.getMediaTime)({
|
|
21
|
-
fps: 30,
|
|
22
|
-
frame: 30,
|
|
23
|
-
playbackRate: 2,
|
|
24
|
-
src: 'video.mp4',
|
|
25
|
-
startFrom: 0,
|
|
26
|
-
mediaType: 'video',
|
|
27
|
-
})).toBeCloseTo(2, mp4Precision);
|
|
28
|
-
});
|
|
29
|
-
(0, vitest_1.test)('mp4 - Should correctly calculate the media time of a video element with faster framerate and a startFrom', () => {
|
|
30
|
-
// If playbackrate is 2, but the video only starts after 1 second, at 2sec, the video position should be 3sec
|
|
31
|
-
(0, vitest_1.expect)((0, get_current_time_js_1.getMediaTime)({
|
|
32
|
-
fps: 30,
|
|
33
|
-
frame: 60,
|
|
34
|
-
playbackRate: 2,
|
|
35
|
-
src: 'video.mp4',
|
|
36
|
-
startFrom: 30,
|
|
37
|
-
mediaType: 'video',
|
|
38
|
-
})).toBeCloseTo(3, mp4Precision);
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
(0, vitest_1.describe)('src webm', () => {
|
|
42
|
-
(0, vitest_1.test)('webm - Should correctly calculate the media time of a video element', () => {
|
|
43
|
-
(0, vitest_1.expect)((0, get_current_time_js_1.getMediaTime)({
|
|
44
|
-
fps: 30,
|
|
45
|
-
frame: 30,
|
|
46
|
-
playbackRate: 1,
|
|
47
|
-
src: 'video.webm',
|
|
48
|
-
startFrom: 0,
|
|
49
|
-
mediaType: 'video',
|
|
50
|
-
})).toBeCloseTo(1, webmPrecision);
|
|
51
|
-
});
|
|
52
|
-
(0, vitest_1.test)('webm - Should correctly calculate the media time of a video element with faster framerate', () => {
|
|
53
|
-
(0, vitest_1.expect)((0, get_current_time_js_1.getMediaTime)({
|
|
54
|
-
fps: 30,
|
|
55
|
-
frame: 30,
|
|
56
|
-
playbackRate: 2,
|
|
57
|
-
src: 'video.webm',
|
|
58
|
-
startFrom: 0,
|
|
59
|
-
mediaType: 'video',
|
|
60
|
-
})).toBeCloseTo(2, webmPrecision);
|
|
61
|
-
});
|
|
62
|
-
(0, vitest_1.test)('webm - Should correctly calculate the media time of a video element with faster framerate and a startFrom', () => {
|
|
63
|
-
// If playbackrate is 2, but the video only starts after 1 second, at 2sec, the video position should be 3sec
|
|
64
|
-
(0, vitest_1.expect)((0, get_current_time_js_1.getMediaTime)({
|
|
65
|
-
fps: 30,
|
|
66
|
-
frame: 60,
|
|
67
|
-
playbackRate: 2,
|
|
68
|
-
src: 'video.webm',
|
|
69
|
-
startFrom: 30,
|
|
70
|
-
mediaType: 'video',
|
|
71
|
-
})).toBeCloseTo(3, webmPrecision);
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
/**
|
|
4
|
-
* @vitest-environment jsdom
|
|
5
|
-
*/
|
|
6
|
-
const vitest_1 = require("vitest");
|
|
7
|
-
const input_props_js_1 = require("../config/input-props.js");
|
|
8
|
-
(0, vitest_1.describe)('input props', () => {
|
|
9
|
-
const OLD_ENV = process.env;
|
|
10
|
-
(0, vitest_1.beforeEach)(() => {
|
|
11
|
-
vitest_1.vitest.resetModules(); // Most important - it clears the cache
|
|
12
|
-
process.env = { ...OLD_ENV }; // Make a copy
|
|
13
|
-
});
|
|
14
|
-
(0, vitest_1.afterAll)(() => {
|
|
15
|
-
process.env = OLD_ENV; // Restore old environment
|
|
16
|
-
});
|
|
17
|
-
(0, vitest_1.test)('input props in non production env', () => {
|
|
18
|
-
process.env.NODE_ENV = 'development';
|
|
19
|
-
const inputProps = {
|
|
20
|
-
firstProperty: 'firstProperty',
|
|
21
|
-
secondProperty: 'secondProperty',
|
|
22
|
-
};
|
|
23
|
-
window.remotion_inputProps = JSON.stringify(JSON.stringify(inputProps));
|
|
24
|
-
(0, vitest_1.expect)((0, input_props_js_1.getInputProps)()).toEqual(JSON.stringify(inputProps));
|
|
25
|
-
});
|
|
26
|
-
(0, vitest_1.test)('input props in production env', () => {
|
|
27
|
-
process.env.NODE_ENV = 'production';
|
|
28
|
-
window.remotion_inputProps = JSON.stringify({});
|
|
29
|
-
(0, vitest_1.expect)((0, input_props_js_1.getInputProps)()).toEqual({});
|
|
30
|
-
});
|
|
31
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const vitest_1 = require("vitest");
|
|
4
|
-
const easing_js_1 = require("../easing.js");
|
|
5
|
-
const interpolate_js_1 = require("../interpolate.js");
|
|
6
|
-
const expect_to_throw_js_1 = require("./expect-to-throw.js");
|
|
7
|
-
(0, vitest_1.describe)('Basic interpolations', () => {
|
|
8
|
-
(0, vitest_1.test)('Input and output range strictly monotonically increasing', () => {
|
|
9
|
-
(0, vitest_1.expect)((0, interpolate_js_1.interpolate)(1, [0, 1], [0, 2])).toEqual(2);
|
|
10
|
-
});
|
|
11
|
-
(0, vitest_1.test)('Input range strictly monotonically increasing, Output range non-increasing', () => {
|
|
12
|
-
(0, vitest_1.expect)((0, interpolate_js_1.interpolate)(1, [0, 1], [2, 2])).toEqual(2);
|
|
13
|
-
});
|
|
14
|
-
(0, vitest_1.test)('Interpolate with 4 values, output non-increasing', () => {
|
|
15
|
-
(0, vitest_1.expect)((0, interpolate_js_1.interpolate)(Math.PI, [0, 1, 4, 9], [0, 2, 1000, -1000])).toEqual(714.4364894275378);
|
|
16
|
-
});
|
|
17
|
-
(0, vitest_1.test)('Interpolate Infinity: output range increasing', () => {
|
|
18
|
-
(0, vitest_1.expect)((0, interpolate_js_1.interpolate)(Infinity, [0, 1], [0, 2])).toEqual(Infinity);
|
|
19
|
-
});
|
|
20
|
-
(0, vitest_1.test)('Interpolate Infinity: output range decreasing', () => {
|
|
21
|
-
(0, vitest_1.expect)((0, interpolate_js_1.interpolate)(Infinity, [0, 1], [1, 0])).toEqual(-Infinity);
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
(0, vitest_1.test)('Must be the same length', () => {
|
|
25
|
-
(0, expect_to_throw_js_1.expectToThrow)(() => {
|
|
26
|
-
(0, interpolate_js_1.interpolate)(1, [0, 2], [0, 1, 2]);
|
|
27
|
-
}, /inputRange \(2\) and outputRange \(3\) must have the same length/);
|
|
28
|
-
});
|
|
29
|
-
(0, vitest_1.test)('Must pass at least 2 elements for input range', () => {
|
|
30
|
-
(0, expect_to_throw_js_1.expectToThrow)(() => {
|
|
31
|
-
(0, interpolate_js_1.interpolate)(1, [0], [9]);
|
|
32
|
-
}, /inputRange must have at least 2 elements/);
|
|
33
|
-
});
|
|
34
|
-
(0, vitest_1.test)('Input range must be strictly monotonically non-decreasing', () => {
|
|
35
|
-
(0, expect_to_throw_js_1.expectToThrow)(() => {
|
|
36
|
-
(0, interpolate_js_1.interpolate)(1, [0, 1, 0.5], [0, 2, 0.2]);
|
|
37
|
-
}, /inputRange must be strictly monotonically non-decreasing/);
|
|
38
|
-
(0, expect_to_throw_js_1.expectToThrow)(() => {
|
|
39
|
-
(0, interpolate_js_1.interpolate)(0.75, [0, 1, 1], [0, 2, 0]);
|
|
40
|
-
}, /inputRange must be strictly monotonically non-decreasing/);
|
|
41
|
-
});
|
|
42
|
-
(0, vitest_1.test)('Output range can be non-monotonic', () => {
|
|
43
|
-
(0, vitest_1.expect)((0, interpolate_js_1.interpolate)(0.75, [0, 0.5, 1], [0, 2, 0])).toEqual(1);
|
|
44
|
-
});
|
|
45
|
-
(0, vitest_1.test)('Output range monotonically decreasing', () => {
|
|
46
|
-
(0, vitest_1.expect)((0, interpolate_js_1.interpolate)(0.75, [0, 0.5, 1], [0, 2, 2])).toEqual(2);
|
|
47
|
-
});
|
|
48
|
-
(0, vitest_1.test)('Cannot have Infinity in input range', () => {
|
|
49
|
-
(0, expect_to_throw_js_1.expectToThrow)(() => {
|
|
50
|
-
(0, interpolate_js_1.interpolate)(1, [-Infinity, 0], [0, 2]);
|
|
51
|
-
}, /inputRange must contain only finite numbers, but got \[-Infinity,0\]/);
|
|
52
|
-
});
|
|
53
|
-
(0, vitest_1.test)('Cannot have Infinity in output Range', () => {
|
|
54
|
-
(0, expect_to_throw_js_1.expectToThrow)(() => (0, interpolate_js_1.interpolate)(1, [0, 1], [Infinity, 2]), /outputRange must contain only finite numbers, but got \[Infinity,2\]/);
|
|
55
|
-
});
|
|
56
|
-
(0, vitest_1.test)('Should throw if passing 2x infinity input range', () => {
|
|
57
|
-
(0, expect_to_throw_js_1.expectToThrow)(() => (0, interpolate_js_1.interpolate)(1, [Infinity, Infinity], [0, 2]), /inputRange must contain only finite numbers, but got \[Infinity,Infinity\]/);
|
|
58
|
-
});
|
|
59
|
-
(0, vitest_1.test)('Should throw if passing 2x infinity output range', () => {
|
|
60
|
-
(0, expect_to_throw_js_1.expectToThrow)(() => (0, interpolate_js_1.interpolate)(1, [0, 1], [-Infinity, Infinity]), /outputRange must contain only finite numbers, but got \[-Infinity,Infinity\]/);
|
|
61
|
-
});
|
|
62
|
-
(0, vitest_1.test)('Should throw on Infinity as third argument', () => {
|
|
63
|
-
(0, expect_to_throw_js_1.expectToThrow)(() => (0, interpolate_js_1.interpolate)(1, [0, 1, Infinity], [0, 2, 3]), /inputRange must contain only finite numbers, but got \[0,1,Infinity\]/);
|
|
64
|
-
});
|
|
65
|
-
(0, vitest_1.test)('Should throw on Infinity as third argument', () => {
|
|
66
|
-
(0, expect_to_throw_js_1.expectToThrow)(() => (0, interpolate_js_1.interpolate)(1, [0, 1, Infinity], [0, 2, 3]), /inputRange must contain only finite numbers, but got \[0,1,Infinity\]/);
|
|
67
|
-
});
|
|
68
|
-
(0, vitest_1.test)('Easing test', () => {
|
|
69
|
-
(0, vitest_1.expect)((0, interpolate_js_1.interpolate)(0.5, [0, 1], [0, 1], {
|
|
70
|
-
easing: easing_js_1.Easing.sin,
|
|
71
|
-
})).toEqual(1 - Math.cos((0.5 * Math.PI) / 2));
|
|
72
|
-
});
|
|
73
|
-
(0, vitest_1.test)('Extrapolation left test', () => {
|
|
74
|
-
const testValues = ['extend', undefined];
|
|
75
|
-
testValues.forEach((entry) => {
|
|
76
|
-
(0, vitest_1.expect)((0, interpolate_js_1.interpolate)(-3, [0, 1, 2], [0, 0.5, 1], {
|
|
77
|
-
extrapolateRight: entry,
|
|
78
|
-
})).toEqual(-1.5);
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
(0, vitest_1.test)('Extrapolation right test', () => {
|
|
82
|
-
const testValues = ['extend', undefined];
|
|
83
|
-
testValues.forEach((entry) => {
|
|
84
|
-
(0, vitest_1.expect)((0, interpolate_js_1.interpolate)(3, [0, 1, 2], [0, 0.5, 1], {
|
|
85
|
-
extrapolateRight: entry,
|
|
86
|
-
})).toEqual(1.5);
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
(0, vitest_1.test)('Extrapolation identity', () => {
|
|
90
|
-
const testValues = [
|
|
91
|
-
[1000, { extrapolateRight: 'identity' }],
|
|
92
|
-
[-1000, { extrapolateLeft: 'identity' }],
|
|
93
|
-
];
|
|
94
|
-
testValues.forEach((entry) => {
|
|
95
|
-
(0, vitest_1.expect)((0, interpolate_js_1.interpolate)(entry[0], [0, 1, 2], [0, 2, 4], entry[1])).toBe(entry[0]);
|
|
96
|
-
});
|
|
97
|
-
});
|
|
98
|
-
(0, vitest_1.test)('Clamp right test', () => {
|
|
99
|
-
(0, vitest_1.expect)((0, interpolate_js_1.interpolate)(2000, [0, 1, 1000], [0, 1, -1000], {
|
|
100
|
-
extrapolateRight: 'clamp',
|
|
101
|
-
})).toEqual(-1000);
|
|
102
|
-
});
|
|
103
|
-
(0, vitest_1.test)('Clamp left test', () => {
|
|
104
|
-
(0, vitest_1.expect)((0, interpolate_js_1.interpolate)(-2000, [0, 1, 1000], [Math.PI, 1, -1000], {
|
|
105
|
-
extrapolateLeft: 'clamp',
|
|
106
|
-
})).toEqual(Math.PI);
|
|
107
|
-
});
|
|
108
|
-
(0, vitest_1.test)('Zig-zag test', () => {
|
|
109
|
-
const testValues = [
|
|
110
|
-
[3.5, -500],
|
|
111
|
-
[4, -1000],
|
|
112
|
-
[6, 3000],
|
|
113
|
-
[-0.1, -1100],
|
|
114
|
-
];
|
|
115
|
-
testValues.forEach((entry) => {
|
|
116
|
-
(0, vitest_1.expect)((0, interpolate_js_1.interpolate)(entry[0], [1, 2, 3, 4, 5], [0, 1000, 0, -1000, 1000])).toBe(entry[1]);
|
|
117
|
-
});
|
|
118
|
-
});
|
|
119
|
-
(0, vitest_1.test)('Handle bad types', () => {
|
|
120
|
-
// @ts-expect-error
|
|
121
|
-
(0, vitest_1.expect)(() => (0, interpolate_js_1.interpolate)(undefined, [0, 1], [1, 0])).toThrowError(/input can not be undefined/);
|
|
122
|
-
// @ts-expect-error
|
|
123
|
-
(0, vitest_1.expect)(() => (0, interpolate_js_1.interpolate)(1, undefined, [1, 0])).toThrowError(/inputRange can not be undefined/);
|
|
124
|
-
// @ts-expect-error
|
|
125
|
-
(0, vitest_1.expect)(() => (0, interpolate_js_1.interpolate)(1, [1, 0], undefined)).toThrowError(/outputRange can not be undefined/);
|
|
126
|
-
// @ts-expect-error
|
|
127
|
-
(0, vitest_1.expect)(() => (0, interpolate_js_1.interpolate)(1)).toThrowError(/inputRange can not be undefined/);
|
|
128
|
-
// @ts-expect-error
|
|
129
|
-
(0, vitest_1.expect)(() => (0, interpolate_js_1.interpolate)('1', [0, 1], [1, 0])).toThrowError(/Cannot interpolate an input which is not a number/);
|
|
130
|
-
// @ts-expect-error
|
|
131
|
-
(0, vitest_1.expect)(() => (0, interpolate_js_1.interpolate)(1, 'string', 'string')).toThrowError(/inputRange must contain only numbers/);
|
|
132
|
-
// @ts-expect-error
|
|
133
|
-
(0, vitest_1.expect)(() => (0, interpolate_js_1.interpolate)(1, [1, 2, 3], 'str')).toThrowError(/outputRange must contain only numbers/);
|
|
134
|
-
// @ts-expect-error
|
|
135
|
-
(0, vitest_1.expect)(() => (0, interpolate_js_1.interpolate)(1, undefined, 'string')).toThrowError(/inputRange can not be undefined/);
|
|
136
|
-
// @ts-expect-error
|
|
137
|
-
(0, vitest_1.expect)(() => (0, interpolate_js_1.interpolate)([1, 2], undefined, 'string')).toThrowError(/inputRange can not be undefined/);
|
|
138
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const vitest_1 = require("vitest");
|
|
4
|
-
const interpolate_colors_js_1 = require("../interpolate-colors.js");
|
|
5
|
-
const expect_to_throw_js_1 = require("./expect-to-throw.js");
|
|
6
|
-
(0, vitest_1.test)('Throws if color string is not right', () => {
|
|
7
|
-
(0, expect_to_throw_js_1.expectToThrow)(() => {
|
|
8
|
-
(0, interpolate_colors_js_1.interpolateColors)(1, [0, 1], ['#fabgdf', '#ffaabb']);
|
|
9
|
-
}, /invalid color string #fabgdf provided/);
|
|
10
|
-
});
|
|
11
|
-
(0, vitest_1.describe)('Throws error for undefined parameters', () => {
|
|
12
|
-
(0, vitest_1.test)('Undefined input', () => {
|
|
13
|
-
(0, expect_to_throw_js_1.expectToThrow)(() => {
|
|
14
|
-
// @ts-expect-error
|
|
15
|
-
(0, interpolate_colors_js_1.interpolateColors)(undefined, ['#aaa', '#bbb'], ['#fff', '#000']);
|
|
16
|
-
}, /input can not be undefined/);
|
|
17
|
-
});
|
|
18
|
-
(0, vitest_1.test)('Undefined inputRange', () => {
|
|
19
|
-
(0, expect_to_throw_js_1.expectToThrow)(() => {
|
|
20
|
-
// @ts-expect-error
|
|
21
|
-
(0, interpolate_colors_js_1.interpolateColors)(1, undefined, ['#fff', '#000']);
|
|
22
|
-
}, /inputRange can not be undefined/);
|
|
23
|
-
});
|
|
24
|
-
(0, vitest_1.test)('Undefined outputRange', () => {
|
|
25
|
-
(0, expect_to_throw_js_1.expectToThrow)(() => {
|
|
26
|
-
// @ts-expect-error
|
|
27
|
-
(0, interpolate_colors_js_1.interpolateColors)(1, ['#fff', '#000'], undefined);
|
|
28
|
-
}, /outputRange can not be undefined/);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
(0, vitest_1.test)('inputRange and outputRange must be of same length', () => {
|
|
32
|
-
(0, expect_to_throw_js_1.expectToThrow)(() => {
|
|
33
|
-
(0, interpolate_colors_js_1.interpolateColors)(1, [1, 2, 3], ['#ffffff', '#aaaaaa']);
|
|
34
|
-
}, /inputRange \(3 values provided\) and outputRange \(2 values provided\) must have the same length/);
|
|
35
|
-
});
|
|
36
|
-
(0, vitest_1.test)('Basic interpolate Colors', () => {
|
|
37
|
-
(0, vitest_1.expect)((0, interpolate_colors_js_1.interpolateColors)(1, [0, 1], ['#ffaadd', '#fabfdf'])).toBe('rgba(250, 191, 223, 1)');
|
|
38
|
-
});
|
|
39
|
-
(0, vitest_1.test)('Clamp Right', () => {
|
|
40
|
-
(0, vitest_1.expect)((0, interpolate_colors_js_1.interpolateColors)(2, [0, 1], ['#ffaadd', '#fabfdf'])).toBe('rgba(250, 191, 223, 1)');
|
|
41
|
-
});
|
|
42
|
-
(0, vitest_1.test)('Clamp Left', () => {
|
|
43
|
-
(0, vitest_1.expect)((0, interpolate_colors_js_1.interpolateColors)(-1, [0, 1], ['#ffaadd', '#fabfdf'])).toBe('rgba(255, 170, 221, 1)');
|
|
44
|
-
});
|
|
45
|
-
(0, vitest_1.test)('Color shorthands', () => {
|
|
46
|
-
(0, vitest_1.expect)((0, interpolate_colors_js_1.interpolateColors)(1, [0, 1], ['#fad', '#fabfdf'])).toBe('rgba(250, 191, 223, 1)');
|
|
47
|
-
});
|
|
48
|
-
(0, vitest_1.test)('Color names', () => {
|
|
49
|
-
(0, vitest_1.expect)((0, interpolate_colors_js_1.interpolateColors)(1, [0, 1], ['red', 'blue'])).toBe('rgba(0, 0, 255, 1)');
|
|
50
|
-
});
|
|
51
|
-
(0, vitest_1.test)('Mix transparency', () => {
|
|
52
|
-
(0, vitest_1.expect)((0, interpolate_colors_js_1.interpolateColors)(0.5, [0, 1], ['transparent', 'blue'])).toBe('rgba(0, 0, 128, 0.5)');
|
|
53
|
-
});
|
|
54
|
-
(0, vitest_1.test)('HSV', () => {
|
|
55
|
-
(0, vitest_1.expect)((0, interpolate_colors_js_1.interpolateColors)(0.5, [0, 1], ['hsla(120, 100%, 25%, 0)', 'blue'])).toBe('rgba(0, 64, 128, 0.5)');
|
|
56
|
-
(0, vitest_1.expect)((0, interpolate_colors_js_1.interpolateColors)(0.5, [0, 1], ['hsl(120, 50%, 50%)', 'blue'])).toBe('rgba(32, 96, 160, 1)');
|
|
57
|
-
});
|
|
58
|
-
(0, vitest_1.describe)('RGB', () => {
|
|
59
|
-
(0, vitest_1.test)('standard rgb interpolation', () => (0, vitest_1.expect)((0, interpolate_colors_js_1.interpolateColors)(0.5, [0, 1], ['rgb(0,0,0)', 'rgb(255,255,255)'])).toBe('rgba(128, 128, 128, 1)'));
|
|
60
|
-
(0, vitest_1.test)('rgb clamping', () => {
|
|
61
|
-
(0, vitest_1.expect)((0, interpolate_colors_js_1.interpolateColors)(0.5, [0, 1], ['rgb(-1,0,0)', 'rgb(256,255,255)'])).toBe('rgba(128, 128, 128, 1)');
|
|
62
|
-
});
|
|
63
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
27
|
-
/**
|
|
28
|
-
* @vitest-environment jsdom
|
|
29
|
-
*/
|
|
30
|
-
const react_1 = require("@testing-library/react");
|
|
31
|
-
const react_2 = __importStar(require("react"));
|
|
32
|
-
const vitest_1 = require("vitest");
|
|
33
|
-
const CanUseRemotionHooks_js_1 = require("../CanUseRemotionHooks.js");
|
|
34
|
-
const CompositionManager_js_1 = require("../CompositionManager.js");
|
|
35
|
-
const loop_1 = require("../loop");
|
|
36
|
-
const RemotionRoot_js_1 = require("../RemotionRoot.js");
|
|
37
|
-
const expect_to_throw_js_1 = require("./expect-to-throw.js");
|
|
38
|
-
const Wrapper = ({ children }) => {
|
|
39
|
-
const compositions = (0, react_2.useContext)(CompositionManager_js_1.CompositionManager);
|
|
40
|
-
return ((0, jsx_runtime_1.jsx)(CanUseRemotionHooks_js_1.CanUseRemotionHooksProvider, { children: (0, jsx_runtime_1.jsx)(RemotionRoot_js_1.RemotionRoot, { numberOfAudioTags: 0, children: (0, jsx_runtime_1.jsx)(CompositionManager_js_1.CompositionManager.Provider
|
|
41
|
-
// eslint-disable-next-line react/jsx-no-constructed-context-values
|
|
42
|
-
, {
|
|
43
|
-
// eslint-disable-next-line react/jsx-no-constructed-context-values
|
|
44
|
-
value: {
|
|
45
|
-
...compositions,
|
|
46
|
-
compositions: [
|
|
47
|
-
{
|
|
48
|
-
height: 1080,
|
|
49
|
-
width: 1080,
|
|
50
|
-
fps: 30,
|
|
51
|
-
durationInFrames: 30,
|
|
52
|
-
id: 'markup',
|
|
53
|
-
nonce: 0,
|
|
54
|
-
component: react_2.default.lazy(() => Promise.resolve({
|
|
55
|
-
default: (() => null),
|
|
56
|
-
})),
|
|
57
|
-
defaultProps: undefined,
|
|
58
|
-
folderName: null,
|
|
59
|
-
parentFolderName: null,
|
|
60
|
-
},
|
|
61
|
-
],
|
|
62
|
-
currentComposition: 'markup',
|
|
63
|
-
}, children: children }) }) }));
|
|
64
|
-
};
|
|
65
|
-
(0, vitest_1.describe)('Loop-validation render should throw with invalid props', () => {
|
|
66
|
-
(0, vitest_1.describe)('Throw with invalid durationInFrames prop', () => {
|
|
67
|
-
(0, vitest_1.test)('It should throw if Loop has non-number durationInFrames', () => {
|
|
68
|
-
(0, expect_to_throw_js_1.expectToThrow)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(Wrapper, { children: (0, jsx_runtime_1.jsx)(loop_1.Loop, { durationInFrames: '1', children: "hi" }) })), /The "durationInFrames" prop of the <Loop \/> component must be a number, but you passed a value of type string/);
|
|
69
|
-
});
|
|
70
|
-
(0, vitest_1.test)('It should throw if Loop has non-integer durationInFrames', () => {
|
|
71
|
-
(0, expect_to_throw_js_1.expectToThrow)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(Wrapper, { children: (0, jsx_runtime_1.jsx)(loop_1.Loop, { durationInFrames: 1.1, children: "hi" }) })), /The "durationInFrames" prop of the <Loop \/> component must be an integer, but got 1.1./);
|
|
72
|
-
});
|
|
73
|
-
(0, vitest_1.test)('It should throw if Loop has a negative duration', () => {
|
|
74
|
-
(0, expect_to_throw_js_1.expectToThrow)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(Wrapper, { children: (0, jsx_runtime_1.jsx)(loop_1.Loop, { durationInFrames: -1, children: "hi" }) })), /The "durationInFrames" prop of the <Loop \/> component must be positive, but got -1./);
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
(0, vitest_1.describe)('Throw with invalid times prop', () => {
|
|
78
|
-
(0, vitest_1.test)('It should throw if Loop has non-number times', () => {
|
|
79
|
-
(0, expect_to_throw_js_1.expectToThrow)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(Wrapper, { children: (0, jsx_runtime_1.jsx)(loop_1.Loop, { durationInFrames: 50, times: "1", children: "hi" }) })), /You passed to "times" an argument of type string, but it must be a number./);
|
|
80
|
-
});
|
|
81
|
-
(0, vitest_1.test)('It should throw if Loop has non-integer times', () => {
|
|
82
|
-
(0, expect_to_throw_js_1.expectToThrow)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(Wrapper, { children: (0, jsx_runtime_1.jsx)(loop_1.Loop, { durationInFrames: 50, times: 1.1, children: "hi" }) })), /The "times" prop of a loop must be an integer, but got 1.1./);
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
});
|
|
86
|
-
(0, vitest_1.describe)('Should NOT throw with valid props', () => {
|
|
87
|
-
(0, vitest_1.test)('It should allow null as children', () => {
|
|
88
|
-
(0, vitest_1.expect)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(Wrapper, { children: (0, jsx_runtime_1.jsx)(loop_1.Loop, { durationInFrames: 50, children: null }) }))).not.toThrow();
|
|
89
|
-
});
|
|
90
|
-
(0, vitest_1.test)('It should allow undefined as children', () => {
|
|
91
|
-
(0, vitest_1.expect)(() => (0, react_1.render)((0, jsx_runtime_1.jsx)(Wrapper, { children: (0, jsx_runtime_1.jsx)(loop_1.Loop, { durationInFrames: 50, children: undefined }) }))).not.toThrow();
|
|
92
|
-
});
|
|
93
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const vitest_1 = require("vitest");
|
|
4
|
-
const spring_1 = require("../spring");
|
|
5
|
-
const expect_to_throw_js_1 = require("./expect-to-throw.js");
|
|
6
|
-
(0, vitest_1.describe)('Measure spring should work', () => {
|
|
7
|
-
const duration = (0, spring_1.measureSpring)({
|
|
8
|
-
fps: 30,
|
|
9
|
-
});
|
|
10
|
-
(0, vitest_1.test)('test measureSpring()', () => (0, vitest_1.expect)(duration).toBe(28));
|
|
11
|
-
(0, vitest_1.test)('spring should be close to 1', () => (0, vitest_1.expect)((0, spring_1.spring)({
|
|
12
|
-
fps: 30,
|
|
13
|
-
frame: duration,
|
|
14
|
-
})).toBeCloseTo(1));
|
|
15
|
-
(0, vitest_1.test)('spring should not be 1', () => (0, vitest_1.expect)((0, spring_1.spring)({
|
|
16
|
-
fps: 30,
|
|
17
|
-
frame: duration - 1,
|
|
18
|
-
})).not.toBe(1));
|
|
19
|
-
});
|
|
20
|
-
(0, vitest_1.test)('Higher threshold should lead to faster spring', () => {
|
|
21
|
-
(0, vitest_1.expect)((0, spring_1.measureSpring)({ fps: 30, threshold: 0.05 })).toBeLessThan((0, spring_1.measureSpring)({ fps: 30, threshold: 0.01 }));
|
|
22
|
-
});
|
|
23
|
-
(0, vitest_1.test)('Lower threshold should lead to slower spring', () => {
|
|
24
|
-
(0, vitest_1.expect)((0, spring_1.measureSpring)({ fps: 30, threshold: 0.001 })).toBeGreaterThan((0, spring_1.measureSpring)({ fps: 30, threshold: 0.01 }));
|
|
25
|
-
});
|
|
26
|
-
(0, vitest_1.describe)('Threshold edge cases', () => {
|
|
27
|
-
// threshold, expected
|
|
28
|
-
const validEdgeCases = [
|
|
29
|
-
[0, Infinity],
|
|
30
|
-
[1, 0],
|
|
31
|
-
];
|
|
32
|
-
validEdgeCases.forEach((entry) => (0, vitest_1.test)('', () => (0, vitest_1.expect)((0, spring_1.measureSpring)({ fps: 30, threshold: entry[0] })).toBe(entry[1])));
|
|
33
|
-
// threshold, errMsg
|
|
34
|
-
const errorEdgeCases = [
|
|
35
|
-
[NaN, /Threshold is NaN/],
|
|
36
|
-
[Infinity, /Threshold is not finite/],
|
|
37
|
-
[null, /threshold must be a number, got null of type object/],
|
|
38
|
-
];
|
|
39
|
-
errorEdgeCases.forEach((entry) => (0, expect_to_throw_js_1.expectToThrow)(
|
|
40
|
-
// @ts-expect-error
|
|
41
|
-
() => (0, spring_1.measureSpring)({ fps: 30, threshold: entry[0] }), entry[1]));
|
|
42
|
-
});
|
|
43
|
-
(0, vitest_1.test)('Should throw on invalid FPS', () => {
|
|
44
|
-
(0, expect_to_throw_js_1.expectToThrow)(() => (0, spring_1.measureSpring)({ fps: 0 }), /"fps" must be positive, but got 0./);
|
|
45
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const vitest_1 = require("vitest");
|
|
4
|
-
const validate_media_props_js_1 = require("../validate-media-props.js");
|
|
5
|
-
const expect_to_throw_js_1 = require("./expect-to-throw.js");
|
|
6
|
-
(0, vitest_1.describe)('ValidateMediaProps should throw with invalid volume inputs', () => {
|
|
7
|
-
const testComponents = ['Audio', 'Video'];
|
|
8
|
-
testComponents.forEach((component) => {
|
|
9
|
-
(0, vitest_1.test)(`It should not allow an ${component} element to have a negative volume `, () => {
|
|
10
|
-
(0, expect_to_throw_js_1.expectToThrow)(
|
|
11
|
-
// @ts-expect-error
|
|
12
|
-
() => (0, validate_media_props_js_1.validateMediaProps)({ volume: -1 }, component), new RegExp(`You have passed a volume below 0 to your <${component} /> component. Volume must be between 0 and 1`));
|
|
13
|
-
});
|
|
14
|
-
(0, vitest_1.test)(`It should not allow an ${component} element to have an invalid type`, () => {
|
|
15
|
-
(0, expect_to_throw_js_1.expectToThrow)(
|
|
16
|
-
// @ts-expect-error
|
|
17
|
-
() => (0, validate_media_props_js_1.validateMediaProps)({ volume: 'invalidType' }, component), new RegExp(`You have passed a volume of type string to your <${component} /> component.`));
|
|
18
|
-
});
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
(0, vitest_1.describe)('ValidateMediaProps should not throw with valid volume inputs', () => {
|
|
22
|
-
const validInputs = [
|
|
23
|
-
0,
|
|
24
|
-
1,
|
|
25
|
-
undefined,
|
|
26
|
-
() => 1,
|
|
27
|
-
(x) => x,
|
|
28
|
-
];
|
|
29
|
-
validInputs.forEach((vol) => (0, vitest_1.test)(`valid volume ${vol} shold not throw`, () => {
|
|
30
|
-
// @ts-expect-error
|
|
31
|
-
(0, vitest_1.expect)(() => (0, validate_media_props_js_1.validateMediaProps)({ volume: vol }, 'Video')).not.toThrow();
|
|
32
|
-
}));
|
|
33
|
-
});
|
|
34
|
-
(0, vitest_1.describe)('ValidateMediaProps should throw with invalid playbackRate', () => {
|
|
35
|
-
(0, vitest_1.test)(`It should not allow playbackRate of 0 or below.`, () => {
|
|
36
|
-
(0, expect_to_throw_js_1.expectToThrow)(() => (0, validate_media_props_js_1.validateMediaProps)({ playbackRate: -1 }, 'Audio'), /You have passed a playbackRate of -1 to your <Audio \/> component. Playback rate must be a real number above 0./);
|
|
37
|
-
});
|
|
38
|
-
(0, vitest_1.test)(`It should not allow non-finite playbackRate.`, () => {
|
|
39
|
-
(0, expect_to_throw_js_1.expectToThrow)(() => (0, validate_media_props_js_1.validateMediaProps)({ playbackRate: Infinity }, 'Audio'), /You have passed a playbackRate of Infinity to your <Audio \/> component. Playback rate must be a real number above 0./);
|
|
40
|
-
});
|
|
41
|
-
(0, vitest_1.test)(`It should not allow NaN playbackRate.`, () => {
|
|
42
|
-
(0, expect_to_throw_js_1.expectToThrow)(() => (0, validate_media_props_js_1.validateMediaProps)({ playbackRate: NaN }, 'Audio'), /You have passed a playbackRate of NaN to your <Audio \/> component. Playback rate must be a real number above 0./);
|
|
43
|
-
});
|
|
44
|
-
(0, vitest_1.test)(`It should not allow regular playbackrate.`, () => {
|
|
45
|
-
(0, vitest_1.expect)(() => (0, validate_media_props_js_1.validateMediaProps)({ playbackRate: 1 }, 'Audio')).not.toThrow();
|
|
46
|
-
});
|
|
47
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
-
/**
|
|
5
|
-
* @vitest-environment jsdom
|
|
6
|
-
*/
|
|
7
|
-
/* eslint-disable react/jsx-no-constructed-context-values */
|
|
8
|
-
const react_1 = require("@testing-library/react");
|
|
9
|
-
const vitest_1 = require("vitest");
|
|
10
|
-
const CanUseRemotionHooks_js_1 = require("../CanUseRemotionHooks.js");
|
|
11
|
-
const Sequence_js_1 = require("../Sequence.js");
|
|
12
|
-
const timeline_position_state_js_1 = require("../timeline-position-state.js");
|
|
13
|
-
const use_current_frame_js_1 = require("../use-current-frame.js");
|
|
14
|
-
const wrap_sequence_context_js_1 = require("./wrap-sequence-context.js");
|
|
15
|
-
(0, vitest_1.test)('It should calculate the correct offset in nested sequences', () => {
|
|
16
|
-
const NestedChild = () => {
|
|
17
|
-
const frame = (0, use_current_frame_js_1.useCurrentFrame)();
|
|
18
|
-
return (0, jsx_runtime_1.jsx)("div", { children: 'frame' + frame });
|
|
19
|
-
};
|
|
20
|
-
const Child = () => {
|
|
21
|
-
return ((0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { from: 10, durationInFrames: 50, children: (0, jsx_runtime_1.jsx)(Child2, {}) }));
|
|
22
|
-
};
|
|
23
|
-
const Child2 = () => {
|
|
24
|
-
return ((0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { from: 1, durationInFrames: 50, children: (0, jsx_runtime_1.jsx)(NestedChild, {}) }));
|
|
25
|
-
};
|
|
26
|
-
const { queryByText } = (0, react_1.render)((0, jsx_runtime_1.jsx)(wrap_sequence_context_js_1.WrapSequenceContext, { children: (0, jsx_runtime_1.jsx)(timeline_position_state_js_1.TimelineContext.Provider, { value: {
|
|
27
|
-
rootId: 'hi',
|
|
28
|
-
frame: 40,
|
|
29
|
-
playing: false,
|
|
30
|
-
imperativePlaying: {
|
|
31
|
-
current: false,
|
|
32
|
-
},
|
|
33
|
-
playbackRate: 1,
|
|
34
|
-
setPlaybackRate: () => {
|
|
35
|
-
throw new Error('playback rate');
|
|
36
|
-
},
|
|
37
|
-
audioAndVideoTags: {
|
|
38
|
-
current: [],
|
|
39
|
-
},
|
|
40
|
-
}, children: (0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { from: 20, durationInFrames: 100, children: (0, jsx_runtime_1.jsx)(Child, {}) }) }) }));
|
|
41
|
-
(0, vitest_1.expect)(queryByText(/^frame9$/i)).not.toBe(null);
|
|
42
|
-
});
|
|
43
|
-
(0, vitest_1.test)('Negative offset test', () => {
|
|
44
|
-
const NestedChild = () => {
|
|
45
|
-
const frame = (0, use_current_frame_js_1.useCurrentFrame)();
|
|
46
|
-
return (0, jsx_runtime_1.jsx)("div", { children: 'frame' + frame });
|
|
47
|
-
};
|
|
48
|
-
const { queryByText } = (0, react_1.render)((0, jsx_runtime_1.jsx)(wrap_sequence_context_js_1.WrapSequenceContext, { children: (0, jsx_runtime_1.jsx)(timeline_position_state_js_1.TimelineContext.Provider, { value: {
|
|
49
|
-
frame: 40,
|
|
50
|
-
playing: false,
|
|
51
|
-
rootId: 'hi',
|
|
52
|
-
imperativePlaying: {
|
|
53
|
-
current: false,
|
|
54
|
-
},
|
|
55
|
-
playbackRate: 1,
|
|
56
|
-
setPlaybackRate: () => {
|
|
57
|
-
throw new Error('playback rate');
|
|
58
|
-
},
|
|
59
|
-
audioAndVideoTags: {
|
|
60
|
-
current: [],
|
|
61
|
-
},
|
|
62
|
-
}, children: (0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { from: -200, durationInFrames: 300, children: (0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { from: 10, durationInFrames: 300, children: (0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { from: 10, durationInFrames: 300, children: (0, jsx_runtime_1.jsx)(NestedChild, {}) }) }) }) }) }));
|
|
63
|
-
const result = queryByText(/^frame220/i);
|
|
64
|
-
(0, vitest_1.expect)(result).not.toBe(null);
|
|
65
|
-
});
|
|
66
|
-
(0, vitest_1.test)('Nested negative offset test', () => {
|
|
67
|
-
const NestedChild = () => {
|
|
68
|
-
const frame = (0, use_current_frame_js_1.useCurrentFrame)();
|
|
69
|
-
return (0, jsx_runtime_1.jsx)("div", { children: 'frame' + frame });
|
|
70
|
-
};
|
|
71
|
-
const startFrom = 40;
|
|
72
|
-
const endAt = 90;
|
|
73
|
-
const content = ((0, jsx_runtime_1.jsx)(wrap_sequence_context_js_1.WrapSequenceContext, { children: (0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { from: 0 - startFrom, durationInFrames: endAt, children: (0, jsx_runtime_1.jsx)(NestedChild, {}) }) }));
|
|
74
|
-
const getForFrame = (frame) => {
|
|
75
|
-
const { queryByText } = (0, react_1.render)((0, jsx_runtime_1.jsx)(wrap_sequence_context_js_1.WrapSequenceContext, { children: (0, jsx_runtime_1.jsx)(timeline_position_state_js_1.TimelineContext.Provider, { value: {
|
|
76
|
-
frame,
|
|
77
|
-
playing: false,
|
|
78
|
-
rootId: 'hi',
|
|
79
|
-
imperativePlaying: {
|
|
80
|
-
current: false,
|
|
81
|
-
},
|
|
82
|
-
playbackRate: 1,
|
|
83
|
-
setPlaybackRate: () => {
|
|
84
|
-
throw new Error('playback rate');
|
|
85
|
-
},
|
|
86
|
-
audioAndVideoTags: {
|
|
87
|
-
current: [],
|
|
88
|
-
},
|
|
89
|
-
}, children: content }) }));
|
|
90
|
-
return queryByText;
|
|
91
|
-
};
|
|
92
|
-
const frame0 = getForFrame(0);
|
|
93
|
-
(0, vitest_1.expect)(frame0(/^frame40$/i)).not.toBe(null);
|
|
94
|
-
const frame39 = getForFrame(39);
|
|
95
|
-
(0, vitest_1.expect)(frame39(/^frame79$/i)).not.toBe(null);
|
|
96
|
-
const frame50 = getForFrame(50);
|
|
97
|
-
(0, vitest_1.expect)(frame50(/^frame90$/i)).toBe(null);
|
|
98
|
-
});
|
|
99
|
-
vitest_1.test.skip('Negative offset edge case', () => {
|
|
100
|
-
const NestedChild = () => {
|
|
101
|
-
const frame = (0, use_current_frame_js_1.useCurrentFrame)();
|
|
102
|
-
return (0, jsx_runtime_1.jsx)("div", { children: 'frame' + frame });
|
|
103
|
-
};
|
|
104
|
-
const startFrom = 40;
|
|
105
|
-
const endAt = 90;
|
|
106
|
-
const content = ((0, jsx_runtime_1.jsx)(wrap_sequence_context_js_1.WrapSequenceContext, { children: (0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { from: 40, children: (0, jsx_runtime_1.jsx)(Sequence_js_1.Sequence, { from: 0 - startFrom, durationInFrames: endAt, children: (0, jsx_runtime_1.jsx)(NestedChild, {}) }) }) }));
|
|
107
|
-
const getForFrame = (frame) => {
|
|
108
|
-
const { queryByText } = (0, react_1.render)((0, jsx_runtime_1.jsx)(CanUseRemotionHooks_js_1.CanUseRemotionHooksProvider, { children: (0, jsx_runtime_1.jsx)(timeline_position_state_js_1.TimelineContext.Provider, { value: {
|
|
109
|
-
frame,
|
|
110
|
-
playing: false,
|
|
111
|
-
rootId: 'hi',
|
|
112
|
-
imperativePlaying: {
|
|
113
|
-
current: false,
|
|
114
|
-
},
|
|
115
|
-
playbackRate: 1,
|
|
116
|
-
setPlaybackRate: () => {
|
|
117
|
-
throw new Error('playback rate');
|
|
118
|
-
},
|
|
119
|
-
audioAndVideoTags: {
|
|
120
|
-
current: [],
|
|
121
|
-
},
|
|
122
|
-
}, children: content }) }));
|
|
123
|
-
return queryByText;
|
|
124
|
-
};
|
|
125
|
-
(0, vitest_1.expect)(getForFrame(0)(/^frame0/i)).toBe(null);
|
|
126
|
-
(0, vitest_1.expect)(getForFrame(10)(/^frame10/i)).toBe(null);
|
|
127
|
-
(0, vitest_1.expect)(getForFrame(40)(/^frame40$/i)).not.toBe(null);
|
|
128
|
-
const atFrame80 = getForFrame(80)(/^frame80$/i);
|
|
129
|
-
(0, vitest_1.expect)(atFrame80).not.toBe(null);
|
|
130
|
-
const atFrame90 = getForFrame(90)(/^frame90$/i);
|
|
131
|
-
(0, vitest_1.expect)(atFrame90).toBe(null);
|
|
132
|
-
});
|