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

Side by Side Diff: base/pickle_unittest.cc

Issue 1655333002: Add message sizing to basic IPC traits and struct macros. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@with-pickles
Patch Set: include ArrayHeader in size (oops!) and ensure the buffer doesn't relocate Created 4 years, 10 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 | « base/pickle.cc ('k') | ipc/ipc_message_macros.h » ('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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium 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 <limits.h> 5 #include <limits.h>
6 #include <stddef.h> 6 #include <stddef.h>
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <string> 9 #include <string>
10 10
(...skipping 557 matching lines...) Expand 10 before | Expand all | Expand 10 after
568 568
569 const char* out_data = nullptr; 569 const char* out_data = nullptr;
570 EXPECT_TRUE(iter.ReadBytes(&out_data, out_data_length)); 570 EXPECT_TRUE(iter.ReadBytes(&out_data, out_data_length));
571 EXPECT_EQ(data, std::string(out_data, out_data_length)); 571 EXPECT_EQ(data, std::string(out_data, out_data_length));
572 572
573 int out_value; 573 int out_value;
574 EXPECT_TRUE(iter.ReadInt(&out_value)); 574 EXPECT_TRUE(iter.ReadInt(&out_value));
575 EXPECT_EQ(42, out_value); 575 EXPECT_EQ(42, out_value);
576 } 576 }
577 577
578 // Checks that PickleSizer and Pickle agree on the size of things.
579 TEST(PickleTest, PickleSizer) {
580 {
581 TestingPickle pickle;
582 base::PickleSizer sizer;
583 pickle.WriteBool(true);
584 sizer.AddBool();
585 EXPECT_EQ(sizer.payload_size(), pickle.payload_size());
586 }
587 {
588 TestingPickle pickle;
589 base::PickleSizer sizer;
590 pickle.WriteInt(42);
591 sizer.AddInt();
592 EXPECT_EQ(sizer.payload_size(), pickle.payload_size());
593 }
594 {
595 TestingPickle pickle;
596 base::PickleSizer sizer;
597 pickle.WriteLongUsingDangerousNonPortableLessPersistableForm(42);
598 sizer.AddLongUsingDangerousNonPortableLessPersistableForm();
599 EXPECT_EQ(sizer.payload_size(), pickle.payload_size());
600 }
601 {
602 TestingPickle pickle;
603 base::PickleSizer sizer;
604 pickle.WriteUInt16(42);
605 sizer.AddUInt16();
606 EXPECT_EQ(sizer.payload_size(), pickle.payload_size());
607 }
608 {
609 TestingPickle pickle;
610 base::PickleSizer sizer;
611 pickle.WriteUInt32(42);
612 sizer.AddUInt32();
613 EXPECT_EQ(sizer.payload_size(), pickle.payload_size());
614 }
615 {
616 TestingPickle pickle;
617 base::PickleSizer sizer;
618 pickle.WriteInt64(42);
619 sizer.AddInt64();
620 EXPECT_EQ(sizer.payload_size(), pickle.payload_size());
621 }
622 {
623 TestingPickle pickle;
624 base::PickleSizer sizer;
625 pickle.WriteUInt64(42);
626 sizer.AddUInt64();
627 EXPECT_EQ(sizer.payload_size(), pickle.payload_size());
628 }
629 {
630 TestingPickle pickle;
631 base::PickleSizer sizer;
632 pickle.WriteSizeT(42);
633 sizer.AddSizeT();
634 EXPECT_EQ(sizer.payload_size(), pickle.payload_size());
635 }
636 {
637 TestingPickle pickle;
638 base::PickleSizer sizer;
639 pickle.WriteFloat(42.0f);
640 sizer.AddFloat();
641 EXPECT_EQ(sizer.payload_size(), pickle.payload_size());
642 }
643 {
644 TestingPickle pickle;
645 base::PickleSizer sizer;
646 pickle.WriteDouble(42.0);
647 sizer.AddDouble();
648 EXPECT_EQ(sizer.payload_size(), pickle.payload_size());
649 }
650 {
651 TestingPickle pickle;
652 base::PickleSizer sizer;
653 pickle.WriteString(teststring);
654 sizer.AddString(teststring);
655 EXPECT_EQ(sizer.payload_size(), pickle.payload_size());
656 }
657 {
658 TestingPickle pickle;
659 base::PickleSizer sizer;
660 pickle.WriteString16(teststring16);
661 sizer.AddString16(teststring16);
662 EXPECT_EQ(sizer.payload_size(), pickle.payload_size());
663 }
664 {
665 TestingPickle pickle;
666 base::PickleSizer sizer;
667 pickle.WriteData(testdata, testdatalen);
668 sizer.AddData(testdatalen);
669 EXPECT_EQ(sizer.payload_size(), pickle.payload_size());
670 }
671 {
672 TestingPickle pickle;
673 base::PickleSizer sizer;
674 pickle.WriteBytes(testdata, testdatalen);
675 sizer.AddBytes(testdatalen);
676 EXPECT_EQ(sizer.payload_size(), pickle.payload_size());
677 }
678 }
679
578 } // namespace base 680 } // namespace base
OLDNEW
« no previous file with comments | « base/pickle.cc ('k') | ipc/ipc_message_macros.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698