web-renderer-test

द्वारा remotion-dev

We need to translate the given English text to Hindi. The text is about visual snapshot testing for web renderer components using vitest fixtures. It describes steps: create test fixtures, register fixtures, write test cases, run tests, update documentation. The name "web-renderer-test" is not in the text, so we don't include it. We preserve technical terms like "vitest", "React component", "renderStillOnWeb()", "testImage()", "bunx vitest", file paths, etc. We translate the rest naturally into Hindi. Let me translate: "Visual snapshot testing for web renderer components using vitest fixtures." -> "vitest फिक्स्चर का उपयोग करके वेब रेंडरर घटकों के लिए विज़ुअल स्नैपशॉट परीक्षण।" "Create test fixtures in packages/web-renderer/src/test/fixtures that define a React component, dimensions, frame rate, and duration" -> "packages/web-render

npx skills add https://github.com/remotion-dev/remotion --skill web-renderer-test

The web renderer is in packages/web-renderer and the test suite is in packages/web-renderer/src/test.

It uses visual snapshot testing using vitest. A test file can for example be executed using:

bunx vitest src/test/video.test.tsx

Example

Each test is powered by a fixture in packages/web-renderer/src/test/fixtures. A fixture looks like this for example:

import {AbsoluteFill} from 'remotion';

const Component: React.FC = () => {
  return (
    <AbsoluteFill
      style={{
        justifyContent: 'center',
        alignItems: 'center',
      }}
    >
      <div
        style={{
          backgroundColor: 'red',
          width: 100,
          height: 100,
          borderRadius: 20,
        }}
      />
    </AbsoluteFill>
  );
};

export const backgroundColor = {
  component: Component,
  id: 'background-color',
  width: 200,
  height: 200,
  fps: 25,
  durationInFrames: 1,
} as const;

The corresponding test looks like this:

import {test} from 'vitest';
import {renderStillOnWeb} from '../render-still-on-web';
import {backgroundColor} from './fixtures/background-color';
import {testImage} from './utils';

test('should render background-color', async () => {
  const blob = await renderStillOnWeb({
    licenseKey: 'free-license',
    composition: backgroundColor,
    frame: 0,
    inputProps: {},
    imageFormat: 'png',
  });

  await testImage({blob, testId: 'background-color'});
});

Adding a new test

  1. Add a new fixture in packages/web-renderer/src/test/fixtures.
  2. Important: Add the fixture to packages/web-renderer/src/test/Root.tsx to add a way to preview it.
  3. Add a new test in packages/web-renderer/src/test.
  4. Run bunx vitest src/test/video.test.tsx to execute the test.
  5. Important: Update packages/docs/docs/client-side-rendering/limitations.mdx to reflect the newly supported property.

remotion-dev की और Skills

pr-name
remotion-dev
PR के लिए सही नामकरण
official
pr-ready
remotion-dev
CI विफलताओं, मर्ज विरोधों, या स्थानीय शाखा परिवर्तनों को हल करके PR को तैयार करें
official
release
remotion-dev
Remotion का नया संस्करण जारी करें
official
remotion-captions
remotion-dev
Remotion में कैप्शन के साथ काम करना
official
remotion-create
remotion-dev
एक नया Remotion वीडियो बनाना
official
video-report
remotion-dev
एक वीडियो के बारे में रिपोर्ट तैयार करें
official
add-bug
remotion-dev
पैकेज/बग्स/एपीआई/[v].ts में एक नया रेमोशन बग प्रविष्टि जोड़ें। इसका उपयोग तब करें जब उपयोगकर्ता किसी बग और प्रभावित रेमोशन संस्करणों का वर्णन करता है जिन्हें…
official
add-cli-option
remotion-dev
एक नया Remotion CLI या कॉन्फ़िग विकल्प जोड़ें, AnyRemotionOption बनाकर, CLI पार्सिंग रजिस्टर करके, कॉन्फ़िग सेटर को वायर करके और दस्तावेज़ीकरण अपडेट करके। इसका उपयोग तब करें जब...
official