Skip to content

YouTube Player — Casos de Borda

Gerado pelo Writer (Reversa) em 2026-05-11

EC-01 — Player minimizado ao navegar para outra tela

Descrição: Usuário minimiza o player e navega para outra tela. useStopYoutubeVideo deve parar a reprodução.

Comportamento esperado: 🟢 setPlaying(false) chamado ao desmontar. Vídeo pausado.


EC-02 — videoHeight maior que 25% da tela em dispositivos pequenos

Descrição: screenWidth × 9/16 pode ser maior que windowHeight / 4 em dispositivos com tela pequena.

Comportamento esperado: 🟢 Math.min garante que videoHeight nunca excede 25% da tela.


EC-03 — Loop com end não definido na inicialização

Descrição: useLoopControl inicializa com loopState.end indefinido. Quando duration fica disponível pela primeira vez, end é definido como duration.

Comportamento esperado: 🟡 Loop inativo até duration disponível. Sem loop acidental antes da inicialização.


EC-04 — Drag do mini player além dos limites de tela

Descrição: Usuário tenta arrastar o mini player para fora da janela.

Comportamento esperado: 🟢 DragLimits impede translação além das bordas calculadas.


EC-05 — Web: react-native-youtube-iframe com import CJS

Descrição: Em ambiente web (Vite), a biblioteca usa CJS por padrão, causando erros de bundle.

Comportamento esperado: 🟡 Workaround documentado em /memories/repo/react-native-youtube-iframe-web-cjs-gotcha.md — necessário configurar Vite para transpilar.