UNPKG

yt-dlx

Version:

Effortless Audio-Video Downloader And Streamer!

72 lines 3.56 kB
import VideoLowest from "../../../routes/Video/Lowest"; import { createWriteStream } from "fs"; import { Readable } from "stream"; import * as vitest from "vitest"; vitest.describe("VideoLowest", () => { const query = "https://youtu.be/dQw4w9WgXcQ"; vitest.it("should handle basic download", async () => { const result = await VideoLowest({ query }); vitest.expect(result).toHaveProperty("outputPath"); }); vitest.it("should handle download with output and filter", async () => { const result = await VideoLowest({ query, output: "output", filter: "grayscale" }); vitest.expect(result).toHaveProperty("outputPath"); }); vitest.it("should handle download with all options", async () => { const result = await VideoLowest({ query, output: "output", useTor: false, verbose: true, filter: "invert", showProgress: true }); vitest.expect(result).toHaveProperty("outputPath"); }); vitest.it("should fetch metadata only", async () => { const result = await VideoLowest({ query, metadata: true }); vitest.expect(result).toHaveProperty("metadata"); vitest.expect(result.metadata).toHaveProperty("filename"); }); vitest.it("should fetch metadata with Tor and verbose", async () => { const result = await VideoLowest({ query, metadata: true, useTor: false, verbose: true }); vitest.expect(result).toHaveProperty("metadata"); vitest.expect(result.metadata).toHaveProperty("filename"); }); vitest.it("should handle basic stream", async () => { const result = await VideoLowest({ query, stream: true }); vitest.expect(result).toHaveProperty("stream"); vitest.expect(result).toHaveProperty("filename"); vitest.expect(result.stream).toBeInstanceOf(Readable); if ("filename" in result) { vitest.expect(result.filename).toBeTypeOf("string"); } const outputStream = createWriteStream("basic_stream.mp4"); result.stream?.pipe(outputStream); await new Promise(resolve => { result.stream?.on("end", resolve); }); }); vitest.it("should handle stream with filter", async () => { const result = await VideoLowest({ query, stream: true, filter: "flipHorizontal" }); vitest.expect(result).toHaveProperty("stream"); vitest.expect(result).toHaveProperty("filename"); vitest.expect(result.stream).toBeInstanceOf(Readable); if ("filename" in result) { vitest.expect(result.filename).toBeTypeOf("string"); } const outputStream = createWriteStream("filtered_stream.mp4"); result.stream?.pipe(outputStream); await new Promise(resolve => { result.stream?.on("end", resolve); }); }); vitest.it("should handle stream with all options", async () => { const result = await VideoLowest({ query, stream: true, useTor: false, verbose: true, filter: "rotate90", showProgress: true }); vitest.expect(result).toHaveProperty("stream"); vitest.expect(result).toHaveProperty("filename"); vitest.expect(result.stream).toBeInstanceOf(Readable); if ("filename" in result) { vitest.expect(result.filename).toBeTypeOf("string"); } const outputStream = createWriteStream("full_stream.mp4"); result.stream?.pipe(outputStream); await new Promise(resolve => { result?.stream?.on("end", resolve); }); }); }); //# sourceMappingURL=Lowest.test.js.map