@Test public void testParseList() { Stream<MediaType> mediaTypes = MediaType.parseList("text/html, image/png,*/*"); Iterator<MediaType> mediaTypeIterator = mediaTypes.iterator(); assertEquals(MediaType.TEXT_HTML, mediaTypeIterator.next()); assertEquals(MediaType.IMAGE_PNG, mediaTypeIterator.next()); assertEquals(MediaType.MATCH_ALL, mediaTypeIterator.next()); assertFalse(mediaTypeIterator.hasNext()); }
@Test public void testNegotiations() { Stream<MediaType> mediaTypes = MediaType.parseList("text/html; q=0.8,*/*;q=0.2,application/json"); Iterator<MediaType> iterator = mediaTypes.iterator(); MediaType preferred = iterator.next(); MediaType secondChoice = iterator.next(); MediaType everythingElse = iterator.next(); assertEquals(MediaType.APPLICATION_JSON, preferred); assertEquals("text/html", secondChoice.getTypeSubtype()); assertEquals("*/*", everythingElse.getTypeSubtype()); }
@Test public void testParseBrowserRequest() { Stream<MediaType> list = MediaType.parseList("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); Iterator<MediaType> iterator = list.iterator(); assertEquals("text/html", iterator.next().getTypeSubtype()); assertEquals("application/xhtml+xml", iterator.next().getTypeSubtype()); assertEquals("application/xml", iterator.next().getTypeSubtype()); assertEquals("*/*", iterator.next().getTypeSubtype()); }
@Test public void testParseSingleAsterix() { Stream<MediaType> list = MediaType.parseList("text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2"); Iterator<MediaType> iterator = list.iterator(); assertEquals("text/html", iterator.next().getTypeSubtype()); assertEquals("image/gif", iterator.next().getTypeSubtype()); assertEquals("image/jpeg", iterator.next().getTypeSubtype()); assertEquals("*/*", iterator.next().getTypeSubtype()); }