diff --git a/src/xmltv.test.ts b/src/xmltv.test.ts
index c324d9b..b9e8187 100644
--- a/src/xmltv.test.ts
+++ b/src/xmltv.test.ts
@@ -24,7 +24,7 @@ const mockData: GridApiResponse = {
endTime: "2025-07-18T20:00:00Z",
thumbnail: "p30687311_b_v13_aa",
channelNo: "4.1",
- filter: ["filter-news"],
+ filter: ["filter-news", "filter-sports"],
seriesId: "SH05918266",
rating: "TV-PG",
flag: ["New"],
@@ -85,6 +85,12 @@ describe("buildXmltv", () => {
);
});
+ it("should include category information", () => {
+ const result = buildXmltv(mockData);
+ expect(result).toContain('news');
+ expect(result).toContain('sports');
+ });
+
it("should include rating information", () => {
const result = buildXmltv(mockData);
expect(result).toContain(
@@ -173,7 +179,7 @@ describe("buildXmltv", () => {
expect(result).not.toContain("");
expect(result).not.toContain("");
expect(result).not.toContain("");
- expect(result).not.toContain("");
+ expect(result).not.toContain('');
expect(result).not.toContain(" {
expect(result).toContain(
"BIA performs; comic Zarna Garg; lifestyle contributor Lori Bergamotto; ABC News chief medical correspondent Dr. Tara Narula.",
);
+ expect(result).toContain('news');
+ expect(result).toContain('sports');
expect(result).toContain(
'TV-PG',
);
@@ -336,7 +344,7 @@ describe("buildProgramsXml", () => {
expect(result).not.toContain("");
expect(result).not.toContain("");
expect(result).not.toContain("");
- expect(result).not.toContain("");
+ expect(result).not.toContain('');
expect(result).not.toContain("${escapeXml(event.program.shortDesc)}\n`;
}
+ const filters = event.filter?.filter(item => item);
+ if (filters?.length) {
+ for (const filter of filters) {
+ const category = filter.match(/^(filter)-(.*?)$/);
+ if (category) {
+ xml += ` ${category[2]}`;
+ }
+ }
+ }
+
if (event.rating) {
xml += ` ${escapeXml(
event.rating,