#170 test cxBufferRead

Mon, 25 Jul 2022 15:40:27 +0200

author
Mike Becker <universe@uap-core.de>
date
Mon, 25 Jul 2022 15:40:27 +0200
changeset 569
cb63f3d1236a
parent 568
8eda32d09e3d
child 570
7edce1b5a798

#170 test cxBufferRead

test/test_buffer.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/test/test_buffer.cpp	Mon Jul 25 15:34:19 2022 +0200
     1.2 +++ b/test/test_buffer.cpp	Mon Jul 25 15:40:27 2022 +0200
     1.3 @@ -777,3 +777,39 @@
     1.4      buf.pos = buf.size;
     1.5      EXPECT_EQ(cxBufferGet(&buf), EOF);
     1.6  }
     1.7 +
     1.8 +TEST_F(BufferRead, ReadWithinBounds) {
     1.9 +    buf.pos = 2;
    1.10 +    char target[4];
    1.11 +    auto read = cxBufferRead(&target, 1, 4, &buf);
    1.12 +    ASSERT_EQ(read, 4);
    1.13 +    EXPECT_EQ(memcmp(&target, "me d", 4), 0);
    1.14 +    EXPECT_EQ(buf.pos, 6);
    1.15 +}
    1.16 +
    1.17 +TEST_F(BufferRead, ReadOutOfBounds) {
    1.18 +    buf.pos = 6;
    1.19 +    char target[4];
    1.20 +    auto read = cxBufferRead(&target, 1, 4, &buf);
    1.21 +    ASSERT_EQ(read, 3);
    1.22 +    EXPECT_EQ(memcmp(&target, "ata", 3), 0);
    1.23 +    EXPECT_EQ(buf.pos, 9);
    1.24 +}
    1.25 +
    1.26 +TEST_F(BufferRead, ReadOutOfBoundsMultibyte) {
    1.27 +    buf.pos = 6;
    1.28 +    char target[4];
    1.29 +    target[2] = '\0';
    1.30 +    auto read = cxBufferRead(&target, 2, 2, &buf);
    1.31 +    ASSERT_EQ(read, 1);
    1.32 +    EXPECT_EQ(memcmp(&target, "at\0", 3), 0);
    1.33 +    EXPECT_EQ(buf.pos, 8);
    1.34 +}
    1.35 +
    1.36 +TEST_F(BufferRead, ReadEof) {
    1.37 +    buf.pos = 9;
    1.38 +    char target[4];
    1.39 +    auto read = cxBufferRead(&target, 1, 1, &buf);
    1.40 +    ASSERT_EQ(read, 0);
    1.41 +    EXPECT_EQ(buf.pos, 9);
    1.42 +}

mercurial