UNPKG

itch-dl

Version:

Bulk download games from itch.io - TypeScript implementation

24 lines (23 loc) 1.27 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const node_test_1 = __importDefault(require("node:test")); const node_assert_1 = __importDefault(require("node:assert")); const cheerio_1 = require("cheerio"); const infobox_1 = require("../src/infobox"); (0, node_test_1.default)('parseInfobox extracts metadata blocks', () => { const html = `<div class="game_info_panel_widget"><table> <tr><td>Author</td><td><a href="https://a.test">Alice</a></td></tr> <tr><td>Updated</td><td><abbr title="01 January 2024 @ 12:34 UTC"></abbr></td></tr> <tr><td>Platforms</td><td><a>Windows</a><a>Linux</a></td></tr> <tr><td>Status</td><td><a>Released</a></td></tr> </table></div>`; const $ = (0, cheerio_1.load)(html); const meta = (0, infobox_1.parseInfobox)($.root()); node_assert_1.default.deepStrictEqual(meta.author, { author: 'Alice', author_url: 'https://a.test' }); node_assert_1.default.ok(meta.updated_at instanceof Date); node_assert_1.default.deepStrictEqual(meta.platforms, ['Windows', 'Linux']); node_assert_1.default.strictEqual(meta.status, 'Released'); });