public void testGetParameters() {
    MutableBodyDescriptor bd = null;

    bd = newBodyDescriptor();
    bd.addField(
        new TestField(
            "Content-Type ",
            "text/plain; charset=ISO-8859-1; "
                + "boundary=foo; param1=value1; param2=value2; param3=value3"));
    assertEquals(3, bd.getContentTypeParameters().size());
    assertEquals("value1", bd.getContentTypeParameters().get("param1"));
    assertEquals("value2", bd.getContentTypeParameters().get("param2"));
    assertEquals("value3", bd.getContentTypeParameters().get("param3"));

    bd = newBodyDescriptor();
    bd.addField(
        new TestField(
            "Content-Type ", "text/plain; param1=value1; param2=value2;" + " param3=value3"));
    assertEquals(3, bd.getContentTypeParameters().size());
    assertEquals("value1", bd.getContentTypeParameters().get("param1"));
    assertEquals("value2", bd.getContentTypeParameters().get("param2"));
    assertEquals("value3", bd.getContentTypeParameters().get("param3"));

    bd = newBodyDescriptor();
    bd.addField(
        new TestField(
            "Content-Type ",
            "text/plain; "
                + "param1= \" value with\tspaces \" ; "
                + "param2=\"\\\"value4 with escaped \\\" \\\"\";"));
    assertEquals(2, bd.getContentTypeParameters().size());
    assertEquals(" value with\tspaces ", bd.getContentTypeParameters().get("param1"));
    assertEquals("\"value4 with escaped \" \"", bd.getContentTypeParameters().get("param2"));

    /*
     * Make sure escaped characters (except ") are still escaped.
     * The parameter value should be \n\"
     */
    bd = newBodyDescriptor();
    bd.addField(new TestField("Content-Type ", "text/plain; param=\"\\n\\\\\\\"\""));
    assertEquals(1, bd.getContentTypeParameters().size());
    assertEquals("\\n\\\"", bd.getContentTypeParameters().get("param"));
  }