| 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 |