SPR-9021 Correct issue in comparing Accept header media types.

When checking for an exact match of Accept header media types
additional parameters such as quality need to be excluded.
For example "*/*" matches "*/*;q=0.9".
This commit is contained in:
Rossen Stoyanchev
2012-01-12 17:13:11 -05:00
parent 6da6acbe54
commit be4e698483
2 changed files with 18 additions and 2 deletions

View File

@@ -218,6 +218,20 @@ public class ProducesRequestConditionTests {
assertTrue(condition2.compareTo(condition1, request) > 0);
}
// SPR-9021
@Test
public void compareToMediaTypeAllWithParameter() {
MockHttpServletRequest request = new MockHttpServletRequest();
request.addHeader("Accept", "*/*;q=0.9");
ProducesRequestCondition condition1 = new ProducesRequestCondition();
ProducesRequestCondition condition2 = new ProducesRequestCondition("application/json");
assertTrue(condition1.compareTo(condition2, request) < 0);
assertTrue(condition2.compareTo(condition1, request) > 0);
}
@Test
public void compareToEqualMatch() {
MockHttpServletRequest request = new MockHttpServletRequest();