mirror of
https://github.com/zoriya/libpgs-js.git
synced 2026-08-27 00:00:51 +00:00
32 lines
1013 B
TypeScript
32 lines
1013 B
TypeScript
import {PgsDecoder} from "../src/pgs/pgsDecoder";
|
|
import * as fs from "node:fs";
|
|
|
|
beforeEach(() => {
|
|
// This makes `ImageData` available in Jest.
|
|
global.ImageData = require('canvas').ImageData;
|
|
});
|
|
|
|
test('load pgs from file and check timestamps', async () => {
|
|
const decoder = new PgsDecoder();
|
|
const buffer = fs.readFileSync(`${__dirname}/files/pgs/subtitle.sup`);
|
|
await decoder.loadFromBuffer(buffer);
|
|
|
|
expect(decoder.updateTimestamps).toEqual([90000, 180000, 270000, 360000]);
|
|
});
|
|
|
|
test('load pgs from file and get first subtitle', async () => {
|
|
const decoder = new PgsDecoder();
|
|
const buffer = fs.readFileSync(`${__dirname}/files/pgs/subtitle.sup`);
|
|
await decoder.loadFromBuffer(buffer);
|
|
|
|
const subtitle = decoder.getSubtitleAtTimestamp(1.5);
|
|
expect(subtitle).toBeDefined();
|
|
|
|
expect(subtitle!.width).toBe(128);
|
|
expect(subtitle!.height).toBe(64);
|
|
|
|
expect(subtitle!.elements.length).toBe(1);
|
|
expect(subtitle!.elements[0].x).toBe(4);
|
|
expect(subtitle!.elements[0].y).toBe(32);
|
|
});
|