Home / Class/ DateFormatterTest Class — netty Architecture

DateFormatterTest Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  c48c7d4c_19d7_d8ae_b5b1_99bc3f5f1efe["DateFormatterTest"]
  e0cc2322_11d2_d333_c969_a6b543bd5d58["DateFormatterTest.java"]
  c48c7d4c_19d7_d8ae_b5b1_99bc3f5f1efe -->|defined in| e0cc2322_11d2_d333_c969_a6b543bd5d58
  0fdae124_d573_44eb_44aa_506e10dbf2c8["testParseWithSingleDigitDay()"]
  c48c7d4c_19d7_d8ae_b5b1_99bc3f5f1efe -->|method| 0fdae124_d573_44eb_44aa_506e10dbf2c8
  d1e385b2_5f4a_191e_a6e5_c477044f6b33["testParseWithDoubleDigitDay()"]
  c48c7d4c_19d7_d8ae_b5b1_99bc3f5f1efe -->|method| d1e385b2_5f4a_191e_a6e5_c477044f6b33
  eb36d696_974a_7e90_5593_98653767d552["testParseWithDashSeparatorSingleDigitDay()"]
  c48c7d4c_19d7_d8ae_b5b1_99bc3f5f1efe -->|method| eb36d696_974a_7e90_5593_98653767d552
  84bc94ce_3711_f15c_dc7a_cdd53dda34ac["testParseWithDashSeparatorDoubleDigitDay()"]
  c48c7d4c_19d7_d8ae_b5b1_99bc3f5f1efe -->|method| 84bc94ce_3711_f15c_dc7a_cdd53dda34ac
  e3fe4802_6ad6_b686_c78a_a357953deedf["testParseWithoutGMT()"]
  c48c7d4c_19d7_d8ae_b5b1_99bc3f5f1efe -->|method| e3fe4802_6ad6_b686_c78a_a357953deedf
  72ec3533_6392_e4f3_e68b_cb22766db40f["testParseWithFunkyTimezone()"]
  c48c7d4c_19d7_d8ae_b5b1_99bc3f5f1efe -->|method| 72ec3533_6392_e4f3_e68b_cb22766db40f
  ceebfdeb_b431_df37_f6eb_d2024bf34fa1["testParseWithSingleDigitHourMinutesAndSecond()"]
  c48c7d4c_19d7_d8ae_b5b1_99bc3f5f1efe -->|method| ceebfdeb_b431_df37_f6eb_d2024bf34fa1
  529a56c3_3b63_2848_41e4_a068d503f9ee["testParseWithSingleDigitTime()"]
  c48c7d4c_19d7_d8ae_b5b1_99bc3f5f1efe -->|method| 529a56c3_3b63_2848_41e4_a068d503f9ee
  502bd23b_b02d_c725_e94d_82755b83bc35["testParseMidnight()"]
  c48c7d4c_19d7_d8ae_b5b1_99bc3f5f1efe -->|method| 502bd23b_b02d_c725_e94d_82755b83bc35
  4b14d671_2f5c_9bc9_847b_5b22bf083c19["testParseInvalidInput()"]
  c48c7d4c_19d7_d8ae_b5b1_99bc3f5f1efe -->|method| 4b14d671_2f5c_9bc9_847b_5b22bf083c19
  4b7c3846_4720_ca61_ff8c_3cbd8f211139["testFormat()"]
  c48c7d4c_19d7_d8ae_b5b1_99bc3f5f1efe -->|method| 4b7c3846_4720_ca61_ff8c_3cbd8f211139
  872b7fd4_ee73_2c45_7c1b_a3306bcfa238["testAppend()"]
  c48c7d4c_19d7_d8ae_b5b1_99bc3f5f1efe -->|method| 872b7fd4_ee73_2c45_7c1b_a3306bcfa238
  7309bacc_e0e1_8d53_c6bc_5ef36fc0e851["testParseAllMonths()"]
  c48c7d4c_19d7_d8ae_b5b1_99bc3f5f1efe -->|method| 7309bacc_e0e1_8d53_c6bc_5ef36fc0e851

Relationship Graph

Source Code

codec-base/src/test/java/io/netty/handler/codec/DateFormatterTest.java lines 27–145

public class DateFormatterTest {
    /**
     * This date is set at "06 Nov 1994 08:49:37 GMT", from
     * <a href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html">examples in RFC documentation</a>
     */
    private static final long TIMESTAMP = 784111777000L;
    private static final Date DATE = new Date(TIMESTAMP);

    @Test
    public void testParseWithSingleDigitDay() {
        assertEquals(DATE, parseHttpDate("Sun, 6 Nov 1994 08:49:37 GMT"));
    }

    @Test
    public void testParseWithDoubleDigitDay() {
        assertEquals(DATE, parseHttpDate("Sun, 06 Nov 1994 08:49:37 GMT"));
    }

    @Test
    public void testParseWithDashSeparatorSingleDigitDay() {
        assertEquals(DATE, parseHttpDate("Sunday, 6-Nov-94 08:49:37 GMT"));
    }

    @Test
    public void testParseWithDashSeparatorDoubleDigitDay() {
        assertEquals(DATE, parseHttpDate("Sunday, 06-Nov-94 08:49:37 GMT"));
    }

    @Test
    public void testParseWithoutGMT() {
        assertEquals(DATE, parseHttpDate("Sun Nov 06 08:49:37 1994"));
    }

    @Test
    public void testParseWithFunkyTimezone() {
        assertEquals(DATE, parseHttpDate("Sun Nov 06 08:49:37 1994 -0000"));
    }

    @Test
    public void testParseWithSingleDigitHourMinutesAndSecond() {
        assertEquals(DATE, parseHttpDate("Sunday, 06-Nov-94 8:49:37 GMT"));
    }

    @Test
    public void testParseWithSingleDigitTime() {
        assertEquals(DATE, parseHttpDate("Sunday, 06 Nov 1994 8:49:37 GMT"));

        Date _08_09_37 = new Date(TIMESTAMP - 40 * 60 * 1000);
        assertEquals(_08_09_37, parseHttpDate("Sunday, 06 Nov 1994 8:9:37 GMT"));
        assertEquals(_08_09_37, parseHttpDate("Sunday, 06 Nov 1994 8:09:37 GMT"));

        Date _08_09_07 = new Date(TIMESTAMP - (40 * 60 + 30) * 1000);
        assertEquals(_08_09_07, parseHttpDate("Sunday, 06 Nov 1994 8:9:7 GMT"));
        assertEquals(_08_09_07, parseHttpDate("Sunday, 06 Nov 1994 8:9:07 GMT"));
    }

    @Test
    public void testParseMidnight() {
        assertEquals(new Date(784080000000L), parseHttpDate("Sunday, 06 Nov 1994 00:00:00 GMT"));
    }

    @Test
    public void testParseInvalidInput() {
        // missing field
        assertNull(parseHttpDate("Sun, Nov 1994 08:49:37 GMT"));
        assertNull(parseHttpDate("Sun, 06 1994 08:49:37 GMT"));
        assertNull(parseHttpDate("Sun, 06 Nov 08:49:37 GMT"));
        assertNull(parseHttpDate("Sun, 06 Nov 1994 :49:37 GMT"));
        assertNull(parseHttpDate("Sun, 06 Nov 1994 49:37 GMT"));
        assertNull(parseHttpDate("Sun, 06 Nov 1994 08::37 GMT"));
        assertNull(parseHttpDate("Sun, 06 Nov 1994 08:37 GMT"));
        assertNull(parseHttpDate("Sun, 06 Nov 1994 08:49: GMT"));
        assertNull(parseHttpDate("Sun, 06 Nov 1994 08:49 GMT"));
        //invalid value
        assertNull(parseHttpDate("Sun, 06 FOO 1994 08:49:37 GMT"));
        assertNull(parseHttpDate("Sun, 36 Nov 1994 08:49:37 GMT"));
        assertNull(parseHttpDate("Sun, 06 Nov 1994 28:49:37 GMT"));
        assertNull(parseHttpDate("Sun, 06 Nov 1994 08:69:37 GMT"));
        assertNull(parseHttpDate("Sun, 06 Nov 1994 08:49:67 GMT"));
        //wrong number of digits in timestamp
        assertNull(parseHttpDate("Sunday, 06 Nov 1994 0:0:000 GMT"));

Frequently Asked Questions

What is the DateFormatterTest class?
DateFormatterTest is a class in the netty codebase, defined in codec-base/src/test/java/io/netty/handler/codec/DateFormatterTest.java.
Where is DateFormatterTest defined?
DateFormatterTest is defined in codec-base/src/test/java/io/netty/handler/codec/DateFormatterTest.java at line 27.

Analyze Your Own Codebase

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

Try Supermodel Free