summaryrefslogtreecommitdiff
path: root/core/fpdfapi/parser/cpdf_object_unittest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/fpdfapi/parser/cpdf_object_unittest.cpp')
-rw-r--r--core/fpdfapi/parser/cpdf_object_unittest.cpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/core/fpdfapi/parser/cpdf_object_unittest.cpp b/core/fpdfapi/parser/cpdf_object_unittest.cpp
index 4780e87bc0..856dd0ac3b 100644
--- a/core/fpdfapi/parser/cpdf_object_unittest.cpp
+++ b/core/fpdfapi/parser/cpdf_object_unittest.cpp
@@ -17,6 +17,7 @@
#include "core/fpdfapi/parser/cpdf_number.h"
#include "core/fpdfapi/parser/cpdf_reference.h"
#include "core/fpdfapi/parser/cpdf_stream.h"
+#include "core/fpdfapi/parser/cpdf_stream_acc.h"
#include "core/fpdfapi/parser/cpdf_string.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -153,16 +154,18 @@ class PDFObjectsTest : public testing::Test {
// Compare dictionaries.
if (!Equal(stream1->GetDict(), stream2->GetDict()))
return false;
+
+ auto streamAcc1 = pdfium::MakeRetain<CPDF_StreamAcc>(stream1);
+ streamAcc1->LoadAllDataRaw();
+ auto streamAcc2 = pdfium::MakeRetain<CPDF_StreamAcc>(stream2);
+ streamAcc2->LoadAllDataRaw();
+
// Compare sizes.
- if (stream1->GetRawSize() != stream2->GetRawSize())
+ if (streamAcc1->GetSize() != streamAcc2->GetSize())
return false;
- // Compare contents.
- // Since this function is used for testing Clone(), only memory based
- // streams need to be handled.
- if (!stream1->IsMemoryBased() || !stream2->IsMemoryBased())
- return false;
- return memcmp(stream1->GetRawData(), stream2->GetRawData(),
- stream1->GetRawSize()) == 0;
+
+ return memcmp(streamAcc1->GetData(), streamAcc2->GetData(),
+ streamAcc2->GetSize()) == 0;
}
case CPDF_Object::REFERENCE:
return obj1->AsReference()->GetRefObjNum() ==