16 std::vector<RetainPtr<
const CPDF_Stream>> streams;
18 pdfium::MakeRetain<CPDF_SeekableMultiStream>(
std::move(streams));
20 uint8_t output_buffer[16];
21 fxcrt::Fill(output_buffer, 0xbd);
22 EXPECT_FALSE(fileread->ReadBlockAtOffset(
23 pdfium::make_span(output_buffer).first(0u), 0));
24 EXPECT_EQ(0xbd, output_buffer[0]);
28 std::vector<RetainPtr<
const CPDF_Stream>> streams;
33 pdfium::MakeRetain<CPDF_SeekableMultiStream>(
std::move(streams));
35 uint8_t output_buffer[16];
36 fxcrt::Fill(output_buffer, 0xbd);
37 EXPECT_FALSE(fileread->ReadBlockAtOffset(
38 pdfium::make_span(output_buffer).first(0u), 0));
39 EXPECT_EQ(0xbd, output_buffer[0]);
44 static const char kOne[] =
"one t";
45 static const char kTwo[] =
"wo ";
46 static const char kThree[] =
"three!!!";
51 auto stream1 =
pdfium::MakeRetain<CPDF_Stream>(one_view.unsigned_span());
52 auto stream2 =
pdfium::MakeRetain<CPDF_Stream>(two_view.unsigned_span());
53 auto stream3 =
pdfium::MakeRetain<CPDF_Stream>(three_view.unsigned_span());
55 std::vector<RetainPtr<
const CPDF_Stream>> streams;
56 streams.push_back(
std::move(stream1));
57 streams.push_back(
std::move(stream2));
58 streams.push_back(
std::move(stream3));
60 pdfium::MakeRetain<CPDF_SeekableMultiStream>(
std::move(streams));
62 uint8_t output_buffer[16];
63 fxcrt::Fill(output_buffer, 0xbd);
64 EXPECT_TRUE(fileread->ReadBlockAtOffset(
65 pdfium::make_span(output_buffer).first(0u), 0));
66 EXPECT_EQ(0xbd, output_buffer[0]);
68 fxcrt::Fill(output_buffer, 0xbd);
69 EXPECT_TRUE(fileread->ReadBlockAtOffset(
70 pdfium::make_span(output_buffer).first(0u), 1));
71 EXPECT_EQ(0xbd, output_buffer[0]);
73 fxcrt::Fill(output_buffer, 0xbd);
74 EXPECT_TRUE(fileread->ReadBlockAtOffset(
75 pdfium::make_span(output_buffer).first(1u), 0));
76 EXPECT_EQ(0, memcmp(output_buffer,
"o", 1));
77 EXPECT_EQ(0xbd, output_buffer[1]);
79 fxcrt::Fill(output_buffer, 0xbd);
80 EXPECT_TRUE(fileread->ReadBlockAtOffset(output_buffer, 0));
81 EXPECT_EQ(0, memcmp(output_buffer,
"one two three!!!", 16));
83 fxcrt::Fill(output_buffer, 0xbd);
84 EXPECT_TRUE(fileread->ReadBlockAtOffset(
85 pdfium::make_span(output_buffer).first(10u), 2));
86 EXPECT_EQ(0, memcmp(output_buffer,
"e two thre", 10));
87 EXPECT_EQ(0xbd, output_buffer[11]);
89 fxcrt::Fill(output_buffer, 0xbd);
90 EXPECT_FALSE(fileread->ReadBlockAtOffset(output_buffer, 1));
91 EXPECT_EQ(0, memcmp(output_buffer,
"ne two three!!!", 15));
92 EXPECT_EQ(0xbd, output_buffer[15]);