Add test for javascript filter.
[Sone.git] / src / test / java / net / pterodactylus / sone / core / SoneParserTest.java
index 87f6600..19e5ae2 100644 (file)
@@ -18,10 +18,14 @@ import java.io.InputStream;
 import java.util.logging.Logger;
 
 import net.pterodactylus.sone.core.SoneParser.DuplicateField;
+import net.pterodactylus.sone.core.SoneParser.InvalidAvatarId;
+import net.pterodactylus.sone.core.SoneParser.InvalidParentAlbum;
 import net.pterodactylus.sone.core.SoneParser.InvalidProtocolVersion;
 import net.pterodactylus.sone.core.SoneParser.InvalidXml;
+import net.pterodactylus.sone.core.SoneParser.MalformedDimension;
 import net.pterodactylus.sone.core.SoneParser.MalformedTime;
 import net.pterodactylus.sone.core.SoneParser.MalformedXml;
+import net.pterodactylus.sone.core.SoneParser.SoneTooNew;
 import net.pterodactylus.sone.data.Client;
 import net.pterodactylus.sone.data.Image;
 import net.pterodactylus.sone.data.Post;
@@ -64,12 +68,17 @@ public class SoneParserTest {
                soneParser.parseSone(database, originalSone, getXml("invalid-xml"));
        }
 
+       @Test
+       public void verifyThatAMissingProtocolVersionDoesNotCauseAnError() {
+               soneParser.parseSone(database, originalSone, getXml("missing-protocol-version"));
+       }
+
        @Test(expected = InvalidProtocolVersion.class)
        public void verifyThatANegativeProtocolVersionCausesAnError() {
                soneParser.parseSone(database, originalSone, getXml("negative-protocol-version"));
        }
 
-       @Test(expected = InvalidProtocolVersion.class)
+       @Test(expected = SoneTooNew.class)
        public void verifyThatATooLargeProtocolVersionCausesAnError() {
                soneParser.parseSone(database, originalSone, getXml("too-large-protocol-version"));
        }
@@ -79,6 +88,11 @@ public class SoneParserTest {
                soneParser.parseSone(database, originalSone, getXml("missing-time"));
        }
 
+       @Test(expected = MalformedTime.class)
+       public void verifyThatAnInvalidTimeCausesAnError() {
+               soneParser.parseSone(database, originalSone, getXml("invalid-time"));
+       }
+
        @Test
        public void verifyThatAMissingClientCausesTheOriginalClientToBeUsed() {
                Sone sone = soneParser.parseSone(database, originalSone, getXml("missing-client"));
@@ -110,6 +124,11 @@ public class SoneParserTest {
                soneParser.parseSone(database, originalSone, getXml("duplicate-field"));
        }
 
+       @Test(expected = InvalidAvatarId.class)
+       public void verifyThatAnInvalidAvatarIdCausesAnError() {
+               soneParser.parseSone(database, originalSone, getXml("invalid-avatar"));
+       }
+
        @Test
        public void verifyThatMissingPostsDoNotCauseAnError() {
                soneParser.parseSone(database, originalSone, getXml("missing-posts"));
@@ -160,6 +179,21 @@ public class SoneParserTest {
                soneParser.parseSone(database, originalSone, getXml("invalid-album"));
        }
 
+       @Test(expected = InvalidParentAlbum.class)
+       public void verifyThatAnInvalidParentAlbumCausesAnError() {
+               soneParser.parseSone(database, originalSone, getXml("invalid-parent-album"));
+       }
+
+       @Test(expected = MalformedXml.class)
+       public void verifyThatAnInvalidImageCausesAnError() {
+               soneParser.parseSone(database, originalSone, getXml("invalid-image"));
+       }
+
+       @Test(expected = MalformedDimension.class)
+       public void verifyThatInvalidImageDimensionsCauseAnError() {
+               soneParser.parseSone(database, originalSone, getXml("invalid-image-dimensions"));
+       }
+
        @Test
        public void verifyThatAnEmptyProfileIsParsedWithoutError() {
                Sone sone = soneParser.parseSone(database, originalSone, getXml("empty-profile"));