Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(46)

Side by Side Diff: core/fpdfapi/fpdf_parser/cpdf_object_unittest.cpp

Issue 1841173002: Rename GetElementValue() to GetDirectObject{By,At}(). (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Fix test name Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « core/fpdfapi/fpdf_parser/cpdf_hint_tables.cpp ('k') | core/fpdfapi/fpdf_parser/cpdf_parser.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 PDFium Authors. All rights reserved. 1 // Copyright 2016 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "core/fpdfapi/fpdf_parser/cpdf_boolean.h" 5 #include "core/fpdfapi/fpdf_parser/cpdf_boolean.h"
6 #include "core/fpdfapi/fpdf_parser/cpdf_null.h" 6 #include "core/fpdfapi/fpdf_parser/cpdf_null.h"
7 #include "core/fpdfapi/fpdf_parser/include/cpdf_array.h" 7 #include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
8 #include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h" 8 #include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
9 #include "core/fpdfapi/fpdf_parser/include/cpdf_name.h" 9 #include "core/fpdfapi/fpdf_parser/include/cpdf_name.h"
10 #include "core/fpdfapi/fpdf_parser/include/cpdf_number.h" 10 #include "core/fpdfapi/fpdf_parser/include/cpdf_number.h"
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 obj1->GetInteger() == obj2->GetInteger(); 116 obj1->GetInteger() == obj2->GetInteger();
117 case CPDF_Object::STRING: 117 case CPDF_Object::STRING:
118 case CPDF_Object::NAME: 118 case CPDF_Object::NAME:
119 return obj1->GetString() == obj2->GetString(); 119 return obj1->GetString() == obj2->GetString();
120 case CPDF_Object::ARRAY: { 120 case CPDF_Object::ARRAY: {
121 const CPDF_Array* array1 = obj1->AsArray(); 121 const CPDF_Array* array1 = obj1->AsArray();
122 const CPDF_Array* array2 = obj2->AsArray(); 122 const CPDF_Array* array2 = obj2->AsArray();
123 if (array1->GetCount() != array2->GetCount()) 123 if (array1->GetCount() != array2->GetCount())
124 return false; 124 return false;
125 for (size_t i = 0; i < array1->GetCount(); ++i) { 125 for (size_t i = 0; i < array1->GetCount(); ++i) {
126 if (!Equal(array1->GetElement(i), array2->GetElement(i))) 126 if (!Equal(array1->GetObjectAt(i), array2->GetObjectAt(i)))
127 return false; 127 return false;
128 } 128 }
129 return true; 129 return true;
130 } 130 }
131 case CPDF_Object::DICTIONARY: { 131 case CPDF_Object::DICTIONARY: {
132 const CPDF_Dictionary* dict1 = obj1->AsDictionary(); 132 const CPDF_Dictionary* dict1 = obj1->AsDictionary();
133 const CPDF_Dictionary* dict2 = obj2->AsDictionary(); 133 const CPDF_Dictionary* dict2 = obj2->AsDictionary();
134 if (dict1->GetCount() != dict2->GetCount()) 134 if (dict1->GetCount() != dict2->GetCount())
135 return false; 135 return false;
136 for (CPDF_Dictionary::const_iterator it = dict1->begin(); 136 for (CPDF_Dictionary::const_iterator it = dict1->begin();
137 it != dict1->end(); ++it) { 137 it != dict1->end(); ++it) {
138 if (!Equal(it->second, dict2->GetElement(it->first))) 138 if (!Equal(it->second, dict2->GetObjectBy(it->first)))
139 return false; 139 return false;
140 } 140 }
141 return true; 141 return true;
142 } 142 }
143 case CPDF_Object::NULLOBJ: 143 case CPDF_Object::NULLOBJ:
144 return true; 144 return true;
145 case CPDF_Object::STREAM: { 145 case CPDF_Object::STREAM: {
146 const CPDF_Stream* stream1 = obj1->AsStream(); 146 const CPDF_Stream* stream1 = obj1->AsStream();
147 const CPDF_Stream* stream2 = obj2->AsStream(); 147 const CPDF_Stream* stream2 = obj2->AsStream();
148 if (!stream1->GetDict() && !stream2->GetDict()) 148 if (!stream1->GetDict() && !stream2->GetDict())
(...skipping 550 matching lines...) Expand 10 before | Expand all | Expand 10 after
699 } 699 }
700 } 700 }
701 701
702 TEST(PDFArrayTest, AddNumber) { 702 TEST(PDFArrayTest, AddNumber) {
703 float vals[] = {1.0f, -1.0f, 0, 0.456734f, 703 float vals[] = {1.0f, -1.0f, 0, 0.456734f,
704 12345.54321f, 0.5f, 1000, 0.000045f}; 704 12345.54321f, 0.5f, 1000, 0.000045f};
705 ScopedArray arr(new CPDF_Array); 705 ScopedArray arr(new CPDF_Array);
706 for (size_t i = 0; i < FX_ArraySize(vals); ++i) 706 for (size_t i = 0; i < FX_ArraySize(vals); ++i)
707 arr->AddNumber(vals[i]); 707 arr->AddNumber(vals[i]);
708 for (size_t i = 0; i < FX_ArraySize(vals); ++i) { 708 for (size_t i = 0; i < FX_ArraySize(vals); ++i) {
709 EXPECT_EQ(CPDF_Object::NUMBER, arr->GetElement(i)->GetType()); 709 EXPECT_EQ(CPDF_Object::NUMBER, arr->GetObjectAt(i)->GetType());
710 EXPECT_EQ(vals[i], arr->GetElement(i)->GetNumber()); 710 EXPECT_EQ(vals[i], arr->GetObjectAt(i)->GetNumber());
711 } 711 }
712 } 712 }
713 713
714 TEST(PDFArrayTest, AddInteger) { 714 TEST(PDFArrayTest, AddInteger) {
715 int vals[] = {0, 1, 934435456, 876, 10000, -1, -24354656, -100}; 715 int vals[] = {0, 1, 934435456, 876, 10000, -1, -24354656, -100};
716 ScopedArray arr(new CPDF_Array); 716 ScopedArray arr(new CPDF_Array);
717 for (size_t i = 0; i < FX_ArraySize(vals); ++i) 717 for (size_t i = 0; i < FX_ArraySize(vals); ++i)
718 arr->AddInteger(vals[i]); 718 arr->AddInteger(vals[i]);
719 for (size_t i = 0; i < FX_ArraySize(vals); ++i) { 719 for (size_t i = 0; i < FX_ArraySize(vals); ++i) {
720 EXPECT_EQ(CPDF_Object::NUMBER, arr->GetElement(i)->GetType()); 720 EXPECT_EQ(CPDF_Object::NUMBER, arr->GetObjectAt(i)->GetType());
721 EXPECT_EQ(vals[i], arr->GetElement(i)->GetNumber()); 721 EXPECT_EQ(vals[i], arr->GetObjectAt(i)->GetNumber());
722 } 722 }
723 } 723 }
724 724
725 TEST(PDFArrayTest, AddStringAndName) { 725 TEST(PDFArrayTest, AddStringAndName) {
726 const char* vals[] = {"", "a", "ehjhRIOYTTFdfcdnv", "122323", 726 const char* vals[] = {"", "a", "ehjhRIOYTTFdfcdnv", "122323",
727 "$#%^&**", " ", "This is a test.\r\n"}; 727 "$#%^&**", " ", "This is a test.\r\n"};
728 ScopedArray string_array(new CPDF_Array); 728 ScopedArray string_array(new CPDF_Array);
729 ScopedArray name_array(new CPDF_Array); 729 ScopedArray name_array(new CPDF_Array);
730 for (size_t i = 0; i < FX_ArraySize(vals); ++i) { 730 for (size_t i = 0; i < FX_ArraySize(vals); ++i) {
731 string_array->AddString(vals[i]); 731 string_array->AddString(vals[i]);
732 name_array->AddName(vals[i]); 732 name_array->AddName(vals[i]);
733 } 733 }
734 for (size_t i = 0; i < FX_ArraySize(vals); ++i) { 734 for (size_t i = 0; i < FX_ArraySize(vals); ++i) {
735 EXPECT_EQ(CPDF_Object::STRING, string_array->GetElement(i)->GetType()); 735 EXPECT_EQ(CPDF_Object::STRING, string_array->GetObjectAt(i)->GetType());
736 EXPECT_STREQ(vals[i], string_array->GetElement(i)->GetString().c_str()); 736 EXPECT_STREQ(vals[i], string_array->GetObjectAt(i)->GetString().c_str());
737 EXPECT_EQ(CPDF_Object::NAME, name_array->GetElement(i)->GetType()); 737 EXPECT_EQ(CPDF_Object::NAME, name_array->GetObjectAt(i)->GetType());
738 EXPECT_STREQ(vals[i], name_array->GetElement(i)->GetString().c_str()); 738 EXPECT_STREQ(vals[i], name_array->GetObjectAt(i)->GetString().c_str());
739 } 739 }
740 } 740 }
741 741
742 TEST(PDFArrayTest, AddReferenceAndGetElement) { 742 TEST(PDFArrayTest, AddReferenceAndGetObjectAt) {
743 std::unique_ptr<CPDF_IndirectObjectHolder> holder( 743 std::unique_ptr<CPDF_IndirectObjectHolder> holder(
744 new CPDF_IndirectObjectHolder(nullptr)); 744 new CPDF_IndirectObjectHolder(nullptr));
745 CPDF_Boolean* boolean_obj = new CPDF_Boolean(true); 745 CPDF_Boolean* boolean_obj = new CPDF_Boolean(true);
746 CPDF_Number* int_obj = new CPDF_Number(-1234); 746 CPDF_Number* int_obj = new CPDF_Number(-1234);
747 CPDF_Number* float_obj = new CPDF_Number(2345.089f); 747 CPDF_Number* float_obj = new CPDF_Number(2345.089f);
748 CPDF_String* str_obj = new CPDF_String("Adsfdsf 343434 %&&*\n", false); 748 CPDF_String* str_obj = new CPDF_String("Adsfdsf 343434 %&&*\n", false);
749 CPDF_Name* name_obj = new CPDF_Name("Title:"); 749 CPDF_Name* name_obj = new CPDF_Name("Title:");
750 CPDF_Null* null_obj = new CPDF_Null(); 750 CPDF_Null* null_obj = new CPDF_Null();
751 CPDF_Object* indirect_objs[] = {boolean_obj, int_obj, float_obj, 751 CPDF_Object* indirect_objs[] = {boolean_obj, int_obj, float_obj,
752 str_obj, name_obj, null_obj}; 752 str_obj, name_obj, null_obj};
753 unsigned int obj_nums[] = {2, 4, 7, 2345, 799887, 1}; 753 unsigned int obj_nums[] = {2, 4, 7, 2345, 799887, 1};
754 ScopedArray arr(new CPDF_Array); 754 ScopedArray arr(new CPDF_Array);
755 ScopedArray arr1(new CPDF_Array); 755 ScopedArray arr1(new CPDF_Array);
756 // Create two arrays of references by different AddReference() APIs. 756 // Create two arrays of references by different AddReference() APIs.
757 for (size_t i = 0; i < FX_ArraySize(indirect_objs); ++i) { 757 for (size_t i = 0; i < FX_ArraySize(indirect_objs); ++i) {
758 // All the indirect objects inserted will be owned by holder. 758 // All the indirect objects inserted will be owned by holder.
759 holder->InsertIndirectObject(obj_nums[i], indirect_objs[i]); 759 holder->InsertIndirectObject(obj_nums[i], indirect_objs[i]);
760 arr->AddReference(holder.get(), obj_nums[i]); 760 arr->AddReference(holder.get(), obj_nums[i]);
761 arr1->AddReference(holder.get(), indirect_objs[i]); 761 arr1->AddReference(holder.get(), indirect_objs[i]);
762 } 762 }
763 // Check indirect objects. 763 // Check indirect objects.
764 for (size_t i = 0; i < FX_ArraySize(obj_nums); ++i) 764 for (size_t i = 0; i < FX_ArraySize(obj_nums); ++i)
765 EXPECT_EQ(indirect_objs[i], holder->GetIndirectObject(obj_nums[i])); 765 EXPECT_EQ(indirect_objs[i], holder->GetIndirectObject(obj_nums[i]));
766 // Check arrays. 766 // Check arrays.
767 EXPECT_EQ(arr->GetCount(), arr1->GetCount()); 767 EXPECT_EQ(arr->GetCount(), arr1->GetCount());
768 for (size_t i = 0; i < arr->GetCount(); ++i) { 768 for (size_t i = 0; i < arr->GetCount(); ++i) {
769 EXPECT_EQ(CPDF_Object::REFERENCE, arr->GetElement(i)->GetType()); 769 EXPECT_EQ(CPDF_Object::REFERENCE, arr->GetObjectAt(i)->GetType());
770 EXPECT_EQ(indirect_objs[i], arr->GetElement(i)->GetDirect()); 770 EXPECT_EQ(indirect_objs[i], arr->GetObjectAt(i)->GetDirect());
771 EXPECT_EQ(indirect_objs[i], arr->GetElementValue(i)); 771 EXPECT_EQ(indirect_objs[i], arr->GetDirectObjectAt(i));
772 EXPECT_EQ(CPDF_Object::REFERENCE, arr1->GetElement(i)->GetType()); 772 EXPECT_EQ(CPDF_Object::REFERENCE, arr1->GetObjectAt(i)->GetType());
773 EXPECT_EQ(indirect_objs[i], arr1->GetElement(i)->GetDirect()); 773 EXPECT_EQ(indirect_objs[i], arr1->GetObjectAt(i)->GetDirect());
774 EXPECT_EQ(indirect_objs[i], arr1->GetElementValue(i)); 774 EXPECT_EQ(indirect_objs[i], arr1->GetDirectObjectAt(i));
775 } 775 }
776 } 776 }
OLDNEW
« no previous file with comments | « core/fpdfapi/fpdf_parser/cpdf_hint_tables.cpp ('k') | core/fpdfapi/fpdf_parser/cpdf_parser.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698