OLD | NEW |
(Empty) | |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include "media/filters/vp9_raw_bits_reader.h" |
| 6 #include "testing/gtest/include/gtest/gtest.h" |
| 7 |
| 8 namespace media { |
| 9 |
| 10 TEST(Vp9RawBitsReaderTest, ReadBit) { |
| 11 uint8_t data[] = {0xf1}; |
| 12 Vp9RawBitsReader reader; |
| 13 reader.Initialize(data, 1); |
| 14 |
| 15 EXPECT_TRUE(reader.IsValid()); |
| 16 EXPECT_EQ(0u, reader.GetBytesRead()); |
| 17 EXPECT_EQ(1, reader.ReadBit()); |
| 18 EXPECT_EQ(1u, reader.GetBytesRead()); |
| 19 EXPECT_EQ(1, reader.ReadBit()); |
| 20 EXPECT_EQ(1, reader.ReadBit()); |
| 21 EXPECT_EQ(1, reader.ReadBit()); |
| 22 EXPECT_EQ(0, reader.ReadBit()); |
| 23 EXPECT_EQ(0, reader.ReadBit()); |
| 24 EXPECT_EQ(0, reader.ReadBit()); |
| 25 EXPECT_EQ(1, reader.ReadBit()); |
| 26 EXPECT_TRUE(reader.IsValid()); |
| 27 |
| 28 // The return value is undefined. |
| 29 ignore_result(reader.ReadBit()); |
| 30 EXPECT_FALSE(reader.IsValid()); |
| 31 EXPECT_EQ(1u, reader.GetBytesRead()); |
| 32 } |
| 33 |
| 34 TEST(Vp9RawBitsReader, ReadLiteral) { |
| 35 uint8_t data[] = {0x3d, 0x67, 0x9a}; |
| 36 Vp9RawBitsReader reader; |
| 37 reader.Initialize(data, 3); |
| 38 |
| 39 EXPECT_TRUE(reader.IsValid()); |
| 40 EXPECT_EQ(0x03, reader.ReadLiteral(4)); |
| 41 EXPECT_EQ(0xd679, reader.ReadLiteral(16)); |
| 42 EXPECT_TRUE(reader.IsValid()); |
| 43 |
| 44 // The return value is undefined. |
| 45 ignore_result(reader.ReadLiteral(8)); |
| 46 EXPECT_FALSE(reader.IsValid()); |
| 47 EXPECT_EQ(3u, reader.GetBytesRead()); |
| 48 } |
| 49 |
| 50 TEST(Vp9RawBitsReader, ReadSignedLiteral) { |
| 51 uint8_t data[] = {0x3d, 0x67, 0x9a}; |
| 52 Vp9RawBitsReader reader; |
| 53 reader.Initialize(data, 3); |
| 54 |
| 55 EXPECT_TRUE(reader.IsValid()); |
| 56 EXPECT_EQ(-0x03, reader.ReadSignedLiteral(4)); |
| 57 EXPECT_EQ(-0x5679, reader.ReadSignedLiteral(15)); |
| 58 EXPECT_TRUE(reader.IsValid()); |
| 59 |
| 60 // The return value is undefined. |
| 61 ignore_result(reader.ReadSignedLiteral(7)); |
| 62 EXPECT_FALSE(reader.IsValid()); |
| 63 EXPECT_EQ(3u, reader.GetBytesRead()); |
| 64 } |
| 65 |
| 66 } // namespace media |
OLD | NEW |