diff --git a/apps/readest-app/src/__tests__/document/series-metadata.test.ts b/apps/readest-app/src/__tests__/document/series-metadata.test.ts index e0e61628..b3308d43 100644 --- a/apps/readest-app/src/__tests__/document/series-metadata.test.ts +++ b/apps/readest-app/src/__tests__/document/series-metadata.test.ts @@ -77,6 +77,25 @@ describe('Calibre series metadata', () => { }); }); + describe('FB2 (title-info sequence)', () => { + let book: BookDoc; + + beforeAll(async () => { + book = await loadFixture('sample-metadata.fb2', 'application/x-fictionbook+xml', 'FB2'); + }); + + it('extracts series name and position from the sequence element', () => { + const series = getSeries(book); + expect(series).toBeTruthy(); + expect(series!.name).toBe('Metadata Series'); + expect(series!.position).toBe('3'); + }); + + it('preserves the title', () => { + expect(book.metadata.title).toBe('FB2 Metadata'); + }); + }); + describe('CBZ (ComicInfo.xml + ComicBookInfo)', () => { let book: BookDoc; diff --git a/apps/readest-app/src/__tests__/fixtures/data/sample-metadata.fb2 b/apps/readest-app/src/__tests__/fixtures/data/sample-metadata.fb2 new file mode 100644 index 00000000..d139f8de --- /dev/null +++ b/apps/readest-app/src/__tests__/fixtures/data/sample-metadata.fb2 @@ -0,0 +1,38 @@ + + + + + sf_fantasy + + Jane + Doe + + FB2 Metadata + +

A short annotation.

+
+ en + +
+ + + + + + 18 October 2023 + 43AC9A08-92D4-432C-B908-FCE4992205CC + 1.0 + +
+ + + <p>FB2 Metadata</p> + +
+ + <p>Chapter 1</p> + +

Hello world.

+
+ +
diff --git a/packages/foliate-js b/packages/foliate-js index f5180159..d5e197c3 160000 --- a/packages/foliate-js +++ b/packages/foliate-js @@ -1 +1 @@ -Subproject commit f518015950087e07692d9a11188db308403f943b +Subproject commit d5e197c3de5f457ddc0e6b93b7932ebabdcb825b