test: add expectation on conversion

This commit is contained in:
Antoine Aflalo
2024-08-27 10:54:26 -04:00
parent f4d89d5da9
commit 49fa1d3a7f
3 changed files with 46 additions and 16 deletions

View File

@@ -17,6 +17,10 @@ func WriteChapterToCBZ(chapter *packer.Chapter, outputFilePath string) error {
// Create a new ZIP writer
zipWriter := zip.NewWriter(zipFile)
err = zipWriter.SetComment("Created by CBZOptimizer")
if err != nil {
return err
}
defer zipWriter.Close()
// Write each page to the ZIP archive

View File

@@ -6,25 +6,51 @@ import (
)
func TestLoadChapter(t *testing.T) {
// Define the path to the .cbz file
chapterFilePath := "../testdata/Chapter 1.cbz"
// Load the chapter
chapter, err := LoadChapter(chapterFilePath)
if err != nil {
t.Fatalf("Failed to load chapter: %v", err)
type testCase struct {
name string
filePath string
expectedPages int
expectedSeries string
expectedConversion bool
}
// Check the number of pages
expectedPages := 16
actualPages := len(chapter.Pages)
if actualPages != expectedPages {
t.Errorf("Expected %d pages, but got %d", expectedPages, actualPages)
testCases := []testCase{
{
name: "Original Chapter",
filePath: "../testdata/Chapter 1.cbz",
expectedPages: 16,
expectedSeries: "<Series>Boundless Necromancer</Series>",
expectedConversion: false,
},
{
name: "Converted Chapter",
filePath: "../testdata/Chapter 1_converted.cbz",
expectedPages: 107,
expectedSeries: "<Series>Boundless Necromancer</Series>",
expectedConversion: true,
},
// Add more test cases as needed
}
// Check if ComicInfoXml contains the expected series name
expectedSeries := "<Series>Boundless Necromancer</Series>"
if !strings.Contains(chapter.ComicInfoXml, expectedSeries) {
t.Errorf("ComicInfoXml does not contain the expected series: %s", expectedSeries)
for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) {
chapter, err := LoadChapter(tc.filePath)
if err != nil {
t.Fatalf("Failed to load chapter: %v", err)
}
actualPages := len(chapter.Pages)
if actualPages != tc.expectedPages {
t.Errorf("Expected %d pages, but got %d", tc.expectedPages, actualPages)
}
if !strings.Contains(chapter.ComicInfoXml, tc.expectedSeries) {
t.Errorf("ComicInfoXml does not contain the expected series: %s", tc.expectedSeries)
}
if chapter.IsConverted != tc.expectedConversion {
t.Errorf("Expected chapter to be converted: %t, but got %t", tc.expectedConversion, chapter.IsConverted)
}
})
}
}

BIN
testdata/Chapter 1_converted.cbz vendored Normal file

Binary file not shown.