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

Side by Side Diff: third_party/protobuf/src/google/protobuf/descriptor_database_unittest.cc

Issue 2600753002: Reverts third_party/protobuf: Update to HEAD (f52e188fe4) (Closed)
Patch Set: Created 3 years, 12 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
OLDNEW
1 // Protocol Buffers - Google's data interchange format 1 // Protocol Buffers - Google's data interchange format
2 // Copyright 2008 Google Inc. All rights reserved. 2 // Copyright 2008 Google Inc. All rights reserved.
3 // https://developers.google.com/protocol-buffers/ 3 // https://developers.google.com/protocol-buffers/
4 // 4 //
5 // Redistribution and use in source and binary forms, with or without 5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are 6 // modification, are permitted provided that the following conditions are
7 // met: 7 // met:
8 // 8 //
9 // * Redistributions of source code must retain the above copyright 9 // * Redistributions of source code must retain the above copyright
10 // notice, this list of conditions and the following disclaimer. 10 // notice, this list of conditions and the following disclaimer.
(...skipping 30 matching lines...) Expand all
41 #endif 41 #endif
42 42
43 #include <google/protobuf/descriptor_database.h> 43 #include <google/protobuf/descriptor_database.h>
44 #include <google/protobuf/descriptor.h> 44 #include <google/protobuf/descriptor.h>
45 #include <google/protobuf/descriptor.pb.h> 45 #include <google/protobuf/descriptor.pb.h>
46 #include <google/protobuf/text_format.h> 46 #include <google/protobuf/text_format.h>
47 #include <google/protobuf/stubs/strutil.h> 47 #include <google/protobuf/stubs/strutil.h>
48 48
49 #include <google/protobuf/stubs/logging.h> 49 #include <google/protobuf/stubs/logging.h>
50 #include <google/protobuf/stubs/common.h> 50 #include <google/protobuf/stubs/common.h>
51 #include <google/protobuf/stubs/scoped_ptr.h>
51 #include <google/protobuf/testing/googletest.h> 52 #include <google/protobuf/testing/googletest.h>
52 #include <gtest/gtest.h> 53 #include <gtest/gtest.h>
53 54
54 namespace google { 55 namespace google {
55 namespace protobuf { 56 namespace protobuf {
56 namespace { 57 namespace {
57 58
58 static void AddToDatabase(SimpleDescriptorDatabase* database, 59 static void AddToDatabase(SimpleDescriptorDatabase* database,
59 const char* file_text) { 60 const char* file_text) {
60 FileDescriptorProto file_proto; 61 FileDescriptorProto file_proto;
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 "dependency: \"foo.proto\" " 404 "dependency: \"foo.proto\" "
404 "message_type { " 405 "message_type { "
405 " name: \"Bar\" " 406 " name: \"Bar\" "
406 " extension_range { start: 1 end: 1000 } " 407 " extension_range { start: 1 end: 1000 } "
407 "} " 408 "} "
408 "extension { name:\"grault\" extendee: \".Foo\" number:32 } " 409 "extension { name:\"grault\" extendee: \".Foo\" number:32 } "
409 "extension { name:\"garply\" extendee: \".corge.Bar\" number:70 } " 410 "extension { name:\"garply\" extendee: \".corge.Bar\" number:70 } "
410 "extension { name:\"waldo\" extendee: \"Bar\" number:56 } "); 411 "extension { name:\"waldo\" extendee: \"Bar\" number:56 } ");
411 412
412 { 413 {
413 std::vector<int> numbers; 414 vector<int> numbers;
414 EXPECT_TRUE(database_->FindAllExtensionNumbers("Foo", &numbers)); 415 EXPECT_TRUE(database_->FindAllExtensionNumbers("Foo", &numbers));
415 ASSERT_EQ(2, numbers.size()); 416 ASSERT_EQ(2, numbers.size());
416 std::sort(numbers.begin(), numbers.end()); 417 std::sort(numbers.begin(), numbers.end());
417 EXPECT_EQ(5, numbers[0]); 418 EXPECT_EQ(5, numbers[0]);
418 EXPECT_EQ(32, numbers[1]); 419 EXPECT_EQ(32, numbers[1]);
419 } 420 }
420 421
421 { 422 {
422 std::vector<int> numbers; 423 vector<int> numbers;
423 EXPECT_TRUE(database_->FindAllExtensionNumbers("corge.Bar", &numbers)); 424 EXPECT_TRUE(database_->FindAllExtensionNumbers("corge.Bar", &numbers));
424 // Note: won't find extension 56 due to the name not being fully qualified. 425 // Note: won't find extension 56 due to the name not being fully qualified.
425 ASSERT_EQ(1, numbers.size()); 426 ASSERT_EQ(1, numbers.size());
426 EXPECT_EQ(70, numbers[0]); 427 EXPECT_EQ(70, numbers[0]);
427 } 428 }
428 429
429 { 430 {
430 // Can't find extensions for non-existent types. 431 // Can't find extensions for non-existent types.
431 std::vector<int> numbers; 432 vector<int> numbers;
432 EXPECT_FALSE(database_->FindAllExtensionNumbers("NoSuchType", &numbers)); 433 EXPECT_FALSE(database_->FindAllExtensionNumbers("NoSuchType", &numbers));
433 } 434 }
434 435
435 { 436 {
436 // Can't find extensions for unqualified types. 437 // Can't find extensions for unqualified types.
437 std::vector<int> numbers; 438 vector<int> numbers;
438 EXPECT_FALSE(database_->FindAllExtensionNumbers("Bar", &numbers)); 439 EXPECT_FALSE(database_->FindAllExtensionNumbers("Bar", &numbers));
439 } 440 }
440 } 441 }
441 442
442 TEST_P(DescriptorDatabaseTest, ConflictingFileError) { 443 TEST_P(DescriptorDatabaseTest, ConflictingFileError) {
443 AddToDatabase( 444 AddToDatabase(
444 "name: \"foo.proto\" " 445 "name: \"foo.proto\" "
445 "message_type { " 446 "message_type { "
446 " name: \"Foo\" " 447 " name: \"Foo\" "
447 "}"); 448 "}");
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after
701 // Can't find non-existent extension. 702 // Can't find non-existent extension.
702 FileDescriptorProto file; 703 FileDescriptorProto file;
703 EXPECT_FALSE( 704 EXPECT_FALSE(
704 forward_merged_.FindFileContainingExtension("Foo", 6, &file)); 705 forward_merged_.FindFileContainingExtension("Foo", 6, &file));
705 } 706 }
706 } 707 }
707 708
708 TEST_F(MergedDescriptorDatabaseTest, FindAllExtensionNumbers) { 709 TEST_F(MergedDescriptorDatabaseTest, FindAllExtensionNumbers) {
709 { 710 {
710 // Message only has extension in database1_ 711 // Message only has extension in database1_
711 std::vector<int> numbers; 712 vector<int> numbers;
712 EXPECT_TRUE(forward_merged_.FindAllExtensionNumbers("Foo", &numbers)); 713 EXPECT_TRUE(forward_merged_.FindAllExtensionNumbers("Foo", &numbers));
713 ASSERT_EQ(1, numbers.size()); 714 ASSERT_EQ(1, numbers.size());
714 EXPECT_EQ(3, numbers[0]); 715 EXPECT_EQ(3, numbers[0]);
715 } 716 }
716 717
717 { 718 {
718 // Message only has extension in database2_ 719 // Message only has extension in database2_
719 std::vector<int> numbers; 720 vector<int> numbers;
720 EXPECT_TRUE(forward_merged_.FindAllExtensionNumbers("Bar", &numbers)); 721 EXPECT_TRUE(forward_merged_.FindAllExtensionNumbers("Bar", &numbers));
721 ASSERT_EQ(1, numbers.size()); 722 ASSERT_EQ(1, numbers.size());
722 EXPECT_EQ(5, numbers[0]); 723 EXPECT_EQ(5, numbers[0]);
723 } 724 }
724 725
725 { 726 {
726 // Merge results from the two databases. 727 // Merge results from the two databases.
727 std::vector<int> numbers; 728 vector<int> numbers;
728 EXPECT_TRUE(forward_merged_.FindAllExtensionNumbers("Baz", &numbers)); 729 EXPECT_TRUE(forward_merged_.FindAllExtensionNumbers("Baz", &numbers));
729 ASSERT_EQ(2, numbers.size()); 730 ASSERT_EQ(2, numbers.size());
730 std::sort(numbers.begin(), numbers.end()); 731 std::sort(numbers.begin(), numbers.end());
731 EXPECT_EQ(12, numbers[0]); 732 EXPECT_EQ(12, numbers[0]);
732 EXPECT_EQ(13, numbers[1]); 733 EXPECT_EQ(13, numbers[1]);
733 } 734 }
734 735
735 { 736 {
736 std::vector<int> numbers; 737 vector<int> numbers;
737 EXPECT_TRUE(reverse_merged_.FindAllExtensionNumbers("Baz", &numbers)); 738 EXPECT_TRUE(reverse_merged_.FindAllExtensionNumbers("Baz", &numbers));
738 ASSERT_EQ(2, numbers.size()); 739 ASSERT_EQ(2, numbers.size());
739 std::sort(numbers.begin(), numbers.end()); 740 std::sort(numbers.begin(), numbers.end());
740 EXPECT_EQ(12, numbers[0]); 741 EXPECT_EQ(12, numbers[0]);
741 EXPECT_EQ(13, numbers[1]); 742 EXPECT_EQ(13, numbers[1]);
742 } 743 }
743 744
744 { 745 {
745 // Can't find extensions for a non-existent message. 746 // Can't find extensions for a non-existent message.
746 std::vector<int> numbers; 747 vector<int> numbers;
747 EXPECT_FALSE(reverse_merged_.FindAllExtensionNumbers("Blah", &numbers)); 748 EXPECT_FALSE(reverse_merged_.FindAllExtensionNumbers("Blah", &numbers));
748 } 749 }
749 } 750 }
750 751
751 } // anonymous namespace 752 } // anonymous namespace
752 } // namespace protobuf 753 } // namespace protobuf
753 } // namespace google 754 } // namespace google
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698