OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "public/platform/WebVector.h" | 5 #include "public/platform/WebVector.h" |
6 | 6 |
7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
8 #include "wtf/StdLibExtras.h" | 8 #include "wtf/StdLibExtras.h" |
9 #include "wtf/Vector.h" | 9 #include "wtf/Vector.h" |
10 | 10 |
11 namespace blink { | 11 namespace blink { |
12 | 12 |
13 TEST(WebVectorTest, Iterators) { | 13 TEST(WebVectorTest, Iterators) { |
14 Vector<int> input; | 14 Vector<int> input; |
15 for (int i = 0; i < 5; ++i) | 15 for (int i = 0; i < 5; ++i) |
16 input.append(i); | 16 input.push_back(i); |
17 | 17 |
18 WebVector<int> webVector(input); | 18 WebVector<int> webVector(input); |
19 const WebVector<int>& constWebVector = webVector; | 19 const WebVector<int>& constWebVector = webVector; |
20 Vector<int> output; | 20 Vector<int> output; |
21 | 21 |
22 ASSERT_EQ(input.size(), webVector.size()); | 22 ASSERT_EQ(input.size(), webVector.size()); |
23 | 23 |
24 // Use begin()/end() iterators directly. | 24 // Use begin()/end() iterators directly. |
25 for (WebVector<int>::iterator it = webVector.begin(); it != webVector.end(); | 25 for (WebVector<int>::iterator it = webVector.begin(); it != webVector.end(); |
26 ++it) | 26 ++it) |
27 output.append(*it); | 27 output.push_back(*it); |
28 ASSERT_EQ(input.size(), output.size()); | 28 ASSERT_EQ(input.size(), output.size()); |
29 for (size_t i = 0; i < input.size(); ++i) | 29 for (size_t i = 0; i < input.size(); ++i) |
30 EXPECT_EQ(input[i], output[i]); | 30 EXPECT_EQ(input[i], output[i]); |
31 | 31 |
32 // Use begin()/end() const_iterators directly. | 32 // Use begin()/end() const_iterators directly. |
33 output.clear(); | 33 output.clear(); |
34 for (WebVector<int>::const_iterator it = constWebVector.begin(); | 34 for (WebVector<int>::const_iterator it = constWebVector.begin(); |
35 it != constWebVector.end(); ++it) | 35 it != constWebVector.end(); ++it) |
36 output.append(*it); | 36 output.push_back(*it); |
37 ASSERT_EQ(input.size(), output.size()); | 37 ASSERT_EQ(input.size(), output.size()); |
38 for (size_t i = 0; i < input.size(); ++i) | 38 for (size_t i = 0; i < input.size(); ++i) |
39 EXPECT_EQ(input[i], output[i]); | 39 EXPECT_EQ(input[i], output[i]); |
40 | 40 |
41 // Use range-based for loop. | 41 // Use range-based for loop. |
42 output.clear(); | 42 output.clear(); |
43 for (int x : webVector) | 43 for (int x : webVector) |
44 output.append(x); | 44 output.push_back(x); |
45 ASSERT_EQ(input.size(), output.size()); | 45 ASSERT_EQ(input.size(), output.size()); |
46 for (size_t i = 0; i < input.size(); ++i) | 46 for (size_t i = 0; i < input.size(); ++i) |
47 EXPECT_EQ(input[i], output[i]); | 47 EXPECT_EQ(input[i], output[i]); |
48 } | 48 } |
49 | 49 |
50 TEST(WebVectorTest, IsEmpty) { | 50 TEST(WebVectorTest, IsEmpty) { |
51 WebVector<int> vector; | 51 WebVector<int> vector; |
52 ASSERT_TRUE(vector.isEmpty()); | 52 ASSERT_TRUE(vector.isEmpty()); |
53 int value = 1; | 53 int value = 1; |
54 vector.assign(&value, 1); | 54 vector.assign(&value, 1); |
(...skipping 26 matching lines...) Expand all Loading... |
81 WebVector<int> vector(values, 3); | 81 WebVector<int> vector(values, 3); |
82 ASSERT_EQ(3u, vector.size()); | 82 ASSERT_EQ(3u, vector.size()); |
83 ASSERT_EQ(1, vector[0]); | 83 ASSERT_EQ(1, vector[0]); |
84 ASSERT_EQ(2, vector[1]); | 84 ASSERT_EQ(2, vector[1]); |
85 ASSERT_EQ(3, vector[2]); | 85 ASSERT_EQ(3, vector[2]); |
86 } | 86 } |
87 | 87 |
88 TEST(WebVectorTest, CreateFromWtfVector) { | 88 TEST(WebVectorTest, CreateFromWtfVector) { |
89 Vector<int> input; | 89 Vector<int> input; |
90 for (int i = 0; i < 5; ++i) | 90 for (int i = 0; i < 5; ++i) |
91 input.append(i); | 91 input.push_back(i); |
92 | 92 |
93 WebVector<int> vector(input); | 93 WebVector<int> vector(input); |
94 ASSERT_EQ(input.size(), vector.size()); | 94 ASSERT_EQ(input.size(), vector.size()); |
95 for (size_t i = 0; i < vector.size(); ++i) | 95 for (size_t i = 0; i < vector.size(); ++i) |
96 EXPECT_EQ(input[i], vector[i]); | 96 EXPECT_EQ(input[i], vector[i]); |
97 | 97 |
98 WebVector<int> copy(input); | 98 WebVector<int> copy(input); |
99 ASSERT_EQ(input.size(), copy.size()); | 99 ASSERT_EQ(input.size(), copy.size()); |
100 for (size_t i = 0; i < copy.size(); ++i) | 100 for (size_t i = 0; i < copy.size(); ++i) |
101 EXPECT_EQ(input[i], copy[i]); | 101 EXPECT_EQ(input[i], copy[i]); |
(...skipping 16 matching lines...) Expand all Loading... |
118 EXPECT_EQ(input[i], vector[i]); | 118 EXPECT_EQ(input[i], vector[i]); |
119 | 119 |
120 WebVector<int> assigned; | 120 WebVector<int> assigned; |
121 assigned = input; | 121 assigned = input; |
122 ASSERT_EQ(input.size(), assigned.size()); | 122 ASSERT_EQ(input.size(), assigned.size()); |
123 for (size_t i = 0; i < assigned.size(); ++i) | 123 for (size_t i = 0; i < assigned.size(); ++i) |
124 EXPECT_EQ(input[i], assigned[i]); | 124 EXPECT_EQ(input[i], assigned[i]); |
125 } | 125 } |
126 | 126 |
127 } // namespace blink | 127 } // namespace blink |
OLD | NEW |