2
0

BitstreamReaderTest.cpp 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. //===- BitstreamReaderTest.cpp - Tests for BitstreamReader ----------------===//
  2. //
  3. // The LLVM Compiler Infrastructure
  4. //
  5. // This file is distributed under the University of Illinois Open Source
  6. // License. See LICENSE.TXT for details.
  7. //
  8. //===----------------------------------------------------------------------===//
  9. #include "llvm/Bitcode/BitstreamReader.h"
  10. #include "gtest/gtest.h"
  11. using namespace llvm;
  12. namespace {
  13. TEST(BitstreamReaderTest, AtEndOfStream) {
  14. uint8_t Bytes[4] = {
  15. 0x00, 0x01, 0x02, 0x03
  16. };
  17. BitstreamReader Reader(std::begin(Bytes), std::end(Bytes));
  18. BitstreamCursor Cursor(Reader);
  19. EXPECT_FALSE(Cursor.AtEndOfStream());
  20. (void)Cursor.Read(8);
  21. EXPECT_FALSE(Cursor.AtEndOfStream());
  22. (void)Cursor.Read(24);
  23. EXPECT_TRUE(Cursor.AtEndOfStream());
  24. Cursor.JumpToBit(0);
  25. EXPECT_FALSE(Cursor.AtEndOfStream());
  26. Cursor.JumpToBit(32);
  27. EXPECT_TRUE(Cursor.AtEndOfStream());
  28. }
  29. TEST(BitstreamReaderTest, AtEndOfStreamJump) {
  30. uint8_t Bytes[4] = {
  31. 0x00, 0x01, 0x02, 0x03
  32. };
  33. BitstreamReader Reader(std::begin(Bytes), std::end(Bytes));
  34. BitstreamCursor Cursor(Reader);
  35. Cursor.JumpToBit(32);
  36. EXPECT_TRUE(Cursor.AtEndOfStream());
  37. }
  38. TEST(BitstreamReaderTest, AtEndOfStreamEmpty) {
  39. uint8_t Dummy = 0xFF;
  40. BitstreamReader Reader(&Dummy, &Dummy);
  41. BitstreamCursor Cursor(Reader);
  42. EXPECT_TRUE(Cursor.AtEndOfStream());
  43. }
  44. } // end anonymous namespace