Home / Class/ QueryStringDecoderTest Class — netty Architecture

QueryStringDecoderTest Class — netty Architecture

Architecture documentation for the QueryStringDecoderTest class in QueryStringDecoderTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  eb06d5ec_240d_301a_c763_6ea4da90a16b["QueryStringDecoderTest"]
  0fa2bd68_7eef_289a_48dd_b9f1aa3c9e27["QueryStringDecoderTest.java"]
  eb06d5ec_240d_301a_c763_6ea4da90a16b -->|defined in| 0fa2bd68_7eef_289a_48dd_b9f1aa3c9e27
  c959b7e7_a1d5_d737_aad5_e3088db2f954["testBasicUris()"]
  eb06d5ec_240d_301a_c763_6ea4da90a16b -->|method| c959b7e7_a1d5_d737_aad5_e3088db2f954
  f3dc6e01_bf50_de60_b39b_83452085d15e["testBasic()"]
  eb06d5ec_240d_301a_c763_6ea4da90a16b -->|method| f3dc6e01_bf50_de60_b39b_83452085d15e
  96e0c0ec_865a_c11f_73e1_1d3c2c9dd643["testNonHtmlQuery()"]
  eb06d5ec_240d_301a_c763_6ea4da90a16b -->|method| 96e0c0ec_865a_c11f_73e1_1d3c2c9dd643
  1a6ec00e_777b_f925_3a08_d424190899eb["testExotic()"]
  eb06d5ec_240d_301a_c763_6ea4da90a16b -->|method| 1a6ec00e_777b_f925_3a08_d424190899eb
  211e1b85_30a1_2219_abcf_8748ab7fb66f["testSemicolon()"]
  eb06d5ec_240d_301a_c763_6ea4da90a16b -->|method| 211e1b85_30a1_2219_abcf_8748ab7fb66f
  f20ead15_1a07_3d93_daad_ab13145a3250["testPathSpecific()"]
  eb06d5ec_240d_301a_c763_6ea4da90a16b -->|method| f20ead15_1a07_3d93_daad_ab13145a3250
  3da077a2_ac5e_9135_9f1b_64e249d2ed67["testExcludeFragment()"]
  eb06d5ec_240d_301a_c763_6ea4da90a16b -->|method| 3da077a2_ac5e_9135_9f1b_64e249d2ed67
  428698e0_50d8_e6bb_b2a0_5f86503bf434["testHashDos()"]
  eb06d5ec_240d_301a_c763_6ea4da90a16b -->|method| 428698e0_50d8_e6bb_b2a0_5f86503bf434
  4560a71f_d086_6811_e901_582c68c07241["testHasPath()"]
  eb06d5ec_240d_301a_c763_6ea4da90a16b -->|method| 4560a71f_d086_6811_e901_582c68c07241
  0d179d47_c29d_e6af_20c8_b8b269a72c12["testUrlDecoding()"]
  eb06d5ec_240d_301a_c763_6ea4da90a16b -->|method| 0d179d47_c29d_e6af_20c8_b8b269a72c12
  60891ef7_4c7d_a252_fcde_3d0ff6f47034["assertQueryString()"]
  eb06d5ec_240d_301a_c763_6ea4da90a16b -->|method| 60891ef7_4c7d_a252_fcde_3d0ff6f47034
  fc4cb6fb_3493_a7a3_7b3c_d8939f1a52b3["testURI()"]
  eb06d5ec_240d_301a_c763_6ea4da90a16b -->|method| fc4cb6fb_3493_a7a3_7b3c_d8939f1a52b3
  8363b151_bd18_263f_8e93_d13f57714a3a["testURISlashPath()"]
  eb06d5ec_240d_301a_c763_6ea4da90a16b -->|method| 8363b151_bd18_263f_8e93_d13f57714a3a

Relationship Graph

Source Code

codec-http/src/test/java/io/netty/handler/codec/http/QueryStringDecoderTest.java lines 34–394

public class QueryStringDecoderTest {

    @Test
    public void testBasicUris() throws URISyntaxException {
        QueryStringDecoder d = new QueryStringDecoder(new URI("http://localhost/path"));
        assertEquals(0, d.parameters().size());
    }

    @Test
    public void testBasic() {
        QueryStringDecoder d;

        d = new QueryStringDecoder("/foo");
        assertEquals("/foo", d.path());
        assertEquals(0, d.parameters().size());

        d = new QueryStringDecoder("/foo%20bar");
        assertEquals("/foo bar", d.path());
        assertEquals(0, d.parameters().size());

        d = new QueryStringDecoder("/foo?a=b=c");
        assertEquals("/foo", d.path());
        assertEquals(1, d.parameters().size());
        assertEquals(1, d.parameters().get("a").size());
        assertEquals("b=c", d.parameters().get("a").get(0));

        d = new QueryStringDecoder("/foo?a=1&a=2");
        assertEquals("/foo", d.path());
        assertEquals(1, d.parameters().size());
        assertEquals(2, d.parameters().get("a").size());
        assertEquals("1", d.parameters().get("a").get(0));
        assertEquals("2", d.parameters().get("a").get(1));

        d = new QueryStringDecoder("/foo%20bar?a=1&a=2");
        assertEquals("/foo bar", d.path());
        assertEquals(1, d.parameters().size());
        assertEquals(2, d.parameters().get("a").size());
        assertEquals("1", d.parameters().get("a").get(0));
        assertEquals("2", d.parameters().get("a").get(1));

        d = new QueryStringDecoder("/foo?a=&a=2");
        assertEquals("/foo", d.path());
        assertEquals(1, d.parameters().size());
        assertEquals(2, d.parameters().get("a").size());
        assertEquals("", d.parameters().get("a").get(0));
        assertEquals("2", d.parameters().get("a").get(1));

        d = new QueryStringDecoder("/foo?a=1&a=");
        assertEquals("/foo", d.path());
        assertEquals(1, d.parameters().size());
        assertEquals(2, d.parameters().get("a").size());
        assertEquals("1", d.parameters().get("a").get(0));
        assertEquals("", d.parameters().get("a").get(1));

        d = new QueryStringDecoder("/foo?a=1&a=&a=");
        assertEquals("/foo", d.path());
        assertEquals(1, d.parameters().size());
        assertEquals(3, d.parameters().get("a").size());
        assertEquals("1", d.parameters().get("a").get(0));
        assertEquals("", d.parameters().get("a").get(1));
        assertEquals("", d.parameters().get("a").get(2));

        d = new QueryStringDecoder("/foo?a=1=&a==2");
        assertEquals("/foo", d.path());
        assertEquals(1, d.parameters().size());
        assertEquals(2, d.parameters().get("a").size());
        assertEquals("1=", d.parameters().get("a").get(0));
        assertEquals("=2", d.parameters().get("a").get(1));

        d = new QueryStringDecoder("/foo?abc=1%2023&abc=124%20");
        assertEquals("/foo", d.path());
        assertEquals(1, d.parameters().size());
        assertEquals(2, d.parameters().get("abc").size());
        assertEquals("1 23", d.parameters().get("abc").get(0));
        assertEquals("124 ", d.parameters().get("abc").get(1));

        d = new QueryStringDecoder("/foo?abc=%7E");
        assertEquals("~", d.parameters().get("abc").get(0));
    }

    @Test

Frequently Asked Questions

What is the QueryStringDecoderTest class?
QueryStringDecoderTest is a class in the netty codebase, defined in codec-http/src/test/java/io/netty/handler/codec/http/QueryStringDecoderTest.java.
Where is QueryStringDecoderTest defined?
QueryStringDecoderTest is defined in codec-http/src/test/java/io/netty/handler/codec/http/QueryStringDecoderTest.java at line 34.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free