tests: fix NPE, add BasicSupportUtilities tests
[nikiroo-utils.git] / src / be / nikiroo / fanfix / supported / Cbz.java
index dfc1bbb86e90ea4705ca967bd319904484ac49f3..c7475fa775640e39f57aa8b1d218ab3cd51841b8 100644 (file)
@@ -1,7 +1,6 @@
 package be.nikiroo.fanfix.supported;
 
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.URL;
@@ -21,8 +20,8 @@ import be.nikiroo.fanfix.data.Paragraph.ParagraphType;
 import be.nikiroo.fanfix.data.Story;
 import be.nikiroo.utils.IOUtils;
 import be.nikiroo.utils.Image;
-import be.nikiroo.utils.streams.MarkableFileInputStream;
 import be.nikiroo.utils.Progress;
+import be.nikiroo.utils.streams.MarkableFileInputStream;
 
 /**
  * Support class for CBZ files (works better with CBZ created with this program,
@@ -86,7 +85,7 @@ class Cbz extends Epub {
                                                && entry.getName().startsWith(getDataPrefix())) {
                                        String entryLName = entry.getName().toLowerCase();
                                        boolean imageEntry = false;
-                                       for (String ext : BasicSupportImages.getImageExt(false)) {
+                                       for (String ext : bsImages.getImageExt(false)) {
                                                if (entryLName.endsWith(ext)) {
                                                        imageEntry = true;
                                                }
@@ -132,25 +131,27 @@ class Cbz extends Epub {
                        story.setChapters(new ArrayList<Chapter>());
 
                        // Check if we can find non-images chapters, for hybrid-cbz support
-                       for (Chapter chap : origStory) {
-                               Boolean isImages = null;
-                               for (Paragraph para : chap) {
-                                       ParagraphType t = para.getType();
-                                       if (isImages == null && !t.isText(true)) {
-                                               isImages = true;
-                                       }
-                                       if (t.isText(false)) {
-                                               String line = para.getContent();
-                                               // Images are saved in text mode as "[image-link]"
-                                               if (!(line.startsWith("[") && line.endsWith("]"))) {
-                                                       isImages = false;
+                       if (origStory != null) {
+                               for (Chapter chap : origStory) {
+                                       Boolean isImages = null;
+                                       for (Paragraph para : chap) {
+                                               ParagraphType t = para.getType();
+                                               if (isImages == null && !t.isText(true)) {
+                                                       isImages = true;
+                                               }
+                                               if (t.isText(false)) {
+                                                       String line = para.getContent();
+                                                       // Images are saved in text mode as "[image-link]"
+                                                       if (!(line.startsWith("[") && line.endsWith("]"))) {
+                                                               isImages = false;
+                                                       }
                                                }
                                        }
-                               }
 
-                               if (isImages != null && !isImages) {
-                                       story.getChapters().add(chap);
-                                       chap.setNumber(story.getChapters().size());
+                                       if (isImages != null && !isImages) {
+                                               story.getChapters().add(chap);
+                                               chap.setNumber(story.getChapters().size());
+                                       }
                                }
                        }