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

Side by Side Diff: third_party/WebKit/Source/wtf/VectorTest.cpp

Issue 2365533003: Add WTF::Vector::emplaceAppend() (Closed)
Patch Set: Created 4 years, 3 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 | « third_party/WebKit/Source/wtf/Vector.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2011 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 680 matching lines...) Expand 10 before | Expand all | Expand 10 after
691 691
692 TEST(VectorTest, Optional) 692 TEST(VectorTest, Optional)
693 { 693 {
694 Optional<Vector<int>> vector; 694 Optional<Vector<int>> vector;
695 EXPECT_FALSE(vector); 695 EXPECT_FALSE(vector);
696 vector.emplace(3); 696 vector.emplace(3);
697 EXPECT_TRUE(vector); 697 EXPECT_TRUE(vector);
698 EXPECT_EQ(3u, vector->size()); 698 EXPECT_EQ(3u, vector->size());
699 } 699 }
700 700
701 TEST(VectorTest, emplaceAppend)
702 {
703 struct Item {
704 Item(int value1, int value2) : value1(value1), value2(value2) {}
705 int value1;
706 int value2;
707 };
708
709 Vector<Item> vector;
710 vector.emplaceAppend(1, 2);
711 vector.emplaceAppend(3, 4);
712
713 EXPECT_EQ(2u, vector.size());
714 EXPECT_EQ(1, vector[0].value1);
715 EXPECT_EQ(2, vector[0].value2);
716 EXPECT_EQ(3, vector[1].value1);
717 EXPECT_EQ(4, vector[1].value2);
718 }
719
701 static_assert(VectorTraits<int>::canCopyWithMemcpy, "int should be copied with m emcopy."); 720 static_assert(VectorTraits<int>::canCopyWithMemcpy, "int should be copied with m emcopy.");
702 static_assert(VectorTraits<char>::canCopyWithMemcpy, "char should be copied with memcpy."); 721 static_assert(VectorTraits<char>::canCopyWithMemcpy, "char should be copied with memcpy.");
703 static_assert(VectorTraits<LChar>::canCopyWithMemcpy, "LChar should be copied wi th memcpy."); 722 static_assert(VectorTraits<LChar>::canCopyWithMemcpy, "LChar should be copied wi th memcpy.");
704 static_assert(VectorTraits<UChar>::canCopyWithMemcpy, "UChar should be copied wi th memcpy."); 723 static_assert(VectorTraits<UChar>::canCopyWithMemcpy, "UChar should be copied wi th memcpy.");
705 724
706 class UnknownType; 725 class UnknownType;
707 static_assert(VectorTraits<UnknownType*>::canCopyWithMemcpy, "Pointers should be copied with memcpy."); 726 static_assert(VectorTraits<UnknownType*>::canCopyWithMemcpy, "Pointers should be copied with memcpy.");
708 727
709 } // anonymous namespace 728 } // anonymous namespace
710 729
711 } // namespace WTF 730 } // namespace WTF
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/wtf/Vector.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698