MediaType throws dedicated InvalidMediaTypeException instead of generic IllegalArgumentException

Issue: SPR-10226
This commit is contained in:
Juergen Hoeller
2013-01-30 14:58:36 +01:00
parent 6a98b40e1c
commit 58f59d6851
3 changed files with 87 additions and 27 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2012 the original author or authors.
* Copyright 2002-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -97,12 +97,12 @@ public class MediaTypeTests {
assertEquals("Invalid toString() returned", "text/plain;q=0.7", result);
}
@Test(expected= IllegalArgumentException.class)
@Test(expected = IllegalArgumentException.class)
public void slashInType() {
new MediaType("text/plain");
}
@Test(expected= IllegalArgumentException.class)
@Test(expected = IllegalArgumentException.class)
public void slashInSubtype() {
new MediaType("text", "/");
}
@@ -122,57 +122,57 @@ public class MediaTypeTests {
assertEquals("Invalid quality factor", 0.2D, mediaType.getQualityValue(), 0D);
}
@Test(expected = IllegalArgumentException.class)
@Test(expected = InvalidMediaTypeException.class)
public void parseMediaTypeNoSubtype() {
MediaType.parseMediaType("audio");
}
@Test(expected = IllegalArgumentException.class)
@Test(expected = InvalidMediaTypeException.class)
public void parseMediaTypeNoSubtypeSlash() {
MediaType.parseMediaType("audio/");
}
@Test(expected = IllegalArgumentException.class)
@Test(expected = InvalidMediaTypeException.class)
public void parseMediaTypeTypeRange() {
MediaType.parseMediaType("*/json");
}
@Test(expected = IllegalArgumentException.class)
@Test(expected = InvalidMediaTypeException.class)
public void parseMediaTypeIllegalType() {
MediaType.parseMediaType("audio(/basic");
}
@Test(expected = IllegalArgumentException.class)
@Test(expected = InvalidMediaTypeException.class)
public void parseMediaTypeIllegalSubtype() {
MediaType.parseMediaType("audio/basic)");
}
@Test(expected = IllegalArgumentException.class)
@Test(expected = InvalidMediaTypeException.class)
public void parseMediaTypeEmptyParameterAttribute() {
MediaType.parseMediaType("audio/*;=value");
}
@Test(expected = IllegalArgumentException.class)
@Test(expected = InvalidMediaTypeException.class)
public void parseMediaTypeEmptyParameterValue() {
MediaType.parseMediaType("audio/*;attr=");
}
@Test(expected = IllegalArgumentException.class)
@Test(expected = InvalidMediaTypeException.class)
public void parseMediaTypeIllegalParameterAttribute() {
MediaType.parseMediaType("audio/*;attr<=value");
}
@Test(expected = IllegalArgumentException.class)
@Test(expected = InvalidMediaTypeException.class)
public void parseMediaTypeIllegalParameterValue() {
MediaType.parseMediaType("audio/*;attr=v>alue");
}
@Test(expected = IllegalArgumentException.class)
@Test(expected = InvalidMediaTypeException.class)
public void parseMediaTypeIllegalQualityFactor() {
MediaType.parseMediaType("audio/basic;q=1.1");
}
@Test(expected = IllegalArgumentException.class)
@Test(expected = InvalidMediaTypeException.class)
public void parseMediaTypeIllegalCharset() {
MediaType.parseMediaType("text/html; charset=foo-bar");
}
@@ -193,7 +193,7 @@ public class MediaTypeTests {
assertEquals("'v>alue'", mediaType.getParameter("attr"));
}
@Test(expected = IllegalArgumentException.class)
@Test(expected = InvalidMediaTypeException.class)
public void parseMediaTypeIllegalQuotedParameterValue() {
MediaType.parseMediaType("audio/*;attr=\"");
}