@Test
public void owsTrimming() {

    final CombinedHttpHeaders headers = newCombinedHttpHeaders();
    headers.set(HEADER_NAME, Arrays.asList("\ta", "   ", "  b ", "\t \t"));
    headers.add(HEADER_NAME, " c, d \t");
    assertEquals(Arrays.asList("a", "", "b", "", "c, d"), headers.getAll(HEADER_NAME));
    assertEquals("a,,b,,\"c, d\"", headers.get(HEADER_NAME));
    assertTrue(headers.containsValue(HEADER_NAME, "a", true));
    assertTrue(headers.containsValue(HEADER_NAME, " a ", true));
    assertTrue(headers.containsValue(HEADER_NAME, "a", true));
    assertFalse(headers.containsValue(HEADER_NAME, "a,b", true));
    assertFalse(headers.containsValue(HEADER_NAME, " c, d ", true));
    assertFalse(headers.containsValue(HEADER_NAME, "c, d", true));
    assertTrue(headers.containsValue(HEADER_NAME, " c ", true));
    assertTrue(headers.containsValue(HEADER_NAME, "d", true));
    assertTrue(headers.containsValue(HEADER_NAME, "\t", true));
    assertTrue(headers.containsValue(HEADER_NAME, "", true));
    assertFalse(headers.containsValue(HEADER_NAME, "e", true));
    HttpHeaders copiedHeaders = newCombinedHttpHeaders().add(headers);
    assertEquals(Arrays.asList("a", "", "b", "", "c, d"), copiedHeaders.getAll(HEADER_NAME));
}