itch-dl
Version:
Bulk download games from itch.io - TypeScript implementation
24 lines (23 loc) • 1.27 kB
JavaScript
;
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');
});