| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "cc/layers/layer_list_iterator.h" | 5 #include "cc/layers/layer_list_iterator.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 | 8 |
| 9 #include "base/containers/adapters.h" | 9 #include "base/containers/adapters.h" |
| 10 #include "cc/test/fake_impl_task_runner_provider.h" | 10 #include "cc/test/fake_impl_task_runner_provider.h" |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 60 | 60 |
| 61 layer5->AddChild(std::move(layer6)); | 61 layer5->AddChild(std::move(layer6)); |
| 62 layer5->AddChild(std::move(layer7)); | 62 layer5->AddChild(std::move(layer7)); |
| 63 | 63 |
| 64 layer1->AddChild(std::move(layer2)); | 64 layer1->AddChild(std::move(layer2)); |
| 65 layer1->AddChild(std::move(layer5)); | 65 layer1->AddChild(std::move(layer5)); |
| 66 | 66 |
| 67 host->SetRootLayer(std::move(layer1)); | 67 host->SetRootLayer(std::move(layer1)); |
| 68 | 68 |
| 69 int i = 1; | 69 int i = 1; |
| 70 for (auto* layer : *host) { | 70 for (auto* layer : *host->GetLayerTree()) { |
| 71 EXPECT_EQ(i++, layer_id_to_order[layer->id()]); | 71 EXPECT_EQ(i++, layer_id_to_order[layer->id()]); |
| 72 } | 72 } |
| 73 EXPECT_EQ(8, i); | 73 EXPECT_EQ(8, i); |
| 74 } | 74 } |
| 75 | 75 |
| 76 TEST(LayerListIteratorTest, VerifySingleLayer) { | 76 TEST(LayerListIteratorTest, VerifySingleLayer) { |
| 77 // Unfortunate preamble. | 77 // Unfortunate preamble. |
| 78 FakeLayerTreeHostClient client; | 78 FakeLayerTreeHostClient client; |
| 79 TestTaskGraphRunner task_graph_runner; | 79 TestTaskGraphRunner task_graph_runner; |
| 80 std::unique_ptr<FakeLayerTreeHost> host_ptr = | 80 std::unique_ptr<FakeLayerTreeHost> host_ptr = |
| 81 FakeLayerTreeHost::Create(&client, &task_graph_runner); | 81 FakeLayerTreeHost::Create(&client, &task_graph_runner); |
| 82 FakeLayerTreeHost* host = host_ptr.get(); | 82 FakeLayerTreeHost* host = host_ptr.get(); |
| 83 | 83 |
| 84 // This test constructs a tree consisting of a single layer. | 84 // This test constructs a tree consisting of a single layer. |
| 85 scoped_refptr<Layer> layer1 = Layer::Create(); | 85 scoped_refptr<Layer> layer1 = Layer::Create(); |
| 86 std::unordered_map<int, int> layer_id_to_order; | 86 std::unordered_map<int, int> layer_id_to_order; |
| 87 layer_id_to_order[layer1->id()] = 1; | 87 layer_id_to_order[layer1->id()] = 1; |
| 88 host->SetRootLayer(std::move(layer1)); | 88 host->SetRootLayer(std::move(layer1)); |
| 89 | 89 |
| 90 int i = 1; | 90 int i = 1; |
| 91 for (auto* layer : *host) { | 91 for (auto* layer : *host->GetLayerTree()) { |
| 92 EXPECT_EQ(i++, layer_id_to_order[layer->id()]); | 92 EXPECT_EQ(i++, layer_id_to_order[layer->id()]); |
| 93 } | 93 } |
| 94 EXPECT_EQ(2, i); | 94 EXPECT_EQ(2, i); |
| 95 } | 95 } |
| 96 | 96 |
| 97 TEST(LayerListIteratorTest, VerifyNullFirstLayer) { | 97 TEST(LayerListIteratorTest, VerifyNullFirstLayer) { |
| 98 // Ensures that if an iterator is constructed with a nullptr, that it can be | 98 // Ensures that if an iterator is constructed with a nullptr, that it can be |
| 99 // iterated without issue and that it remains equal to any other | 99 // iterated without issue and that it remains equal to any other |
| 100 // null-initialized iterator. | 100 // null-initialized iterator. |
| 101 LayerListIterator<Layer> it(nullptr); | 101 LayerListIterator<Layer> it(nullptr); |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 146 layer5->AddChild(std::move(layer6)); | 146 layer5->AddChild(std::move(layer6)); |
| 147 layer5->AddChild(std::move(layer7)); | 147 layer5->AddChild(std::move(layer7)); |
| 148 | 148 |
| 149 layer1->AddChild(std::move(layer2)); | 149 layer1->AddChild(std::move(layer2)); |
| 150 layer1->AddChild(std::move(layer5)); | 150 layer1->AddChild(std::move(layer5)); |
| 151 | 151 |
| 152 host->SetRootLayer(std::move(layer1)); | 152 host->SetRootLayer(std::move(layer1)); |
| 153 | 153 |
| 154 int i = 7; | 154 int i = 7; |
| 155 | 155 |
| 156 for (auto* layer : base::Reversed(*host)) { | 156 for (auto* layer : base::Reversed(*host->GetLayerTree())) { |
| 157 EXPECT_EQ(i--, layer_id_to_order[layer->id()]); | 157 EXPECT_EQ(i--, layer_id_to_order[layer->id()]); |
| 158 } | 158 } |
| 159 | 159 |
| 160 EXPECT_EQ(0, i); | 160 EXPECT_EQ(0, i); |
| 161 } | 161 } |
| 162 | 162 |
| 163 TEST(LayerListReverseIteratorTest, VerifySingleLayer) { | 163 TEST(LayerListReverseIteratorTest, VerifySingleLayer) { |
| 164 // Unfortunate preamble. | 164 // Unfortunate preamble. |
| 165 FakeLayerTreeHostClient client; | 165 FakeLayerTreeHostClient client; |
| 166 TestTaskGraphRunner task_graph_runner; | 166 TestTaskGraphRunner task_graph_runner; |
| 167 std::unique_ptr<FakeLayerTreeHost> host_ptr = | 167 std::unique_ptr<FakeLayerTreeHost> host_ptr = |
| 168 FakeLayerTreeHost::Create(&client, &task_graph_runner); | 168 FakeLayerTreeHost::Create(&client, &task_graph_runner); |
| 169 FakeLayerTreeHost* host = host_ptr.get(); | 169 FakeLayerTreeHost* host = host_ptr.get(); |
| 170 | 170 |
| 171 // This test constructs a tree consisting of a single layer. | 171 // This test constructs a tree consisting of a single layer. |
| 172 scoped_refptr<Layer> layer1 = Layer::Create(); | 172 scoped_refptr<Layer> layer1 = Layer::Create(); |
| 173 std::unordered_map<int, int> layer_id_to_order; | 173 std::unordered_map<int, int> layer_id_to_order; |
| 174 layer_id_to_order[layer1->id()] = 1; | 174 layer_id_to_order[layer1->id()] = 1; |
| 175 host->SetRootLayer(std::move(layer1)); | 175 host->SetRootLayer(std::move(layer1)); |
| 176 | 176 |
| 177 int i = 1; | 177 int i = 1; |
| 178 for (auto* layer : base::Reversed(*host)) { | 178 for (auto* layer : base::Reversed(*host->GetLayerTree())) { |
| 179 EXPECT_EQ(i--, layer_id_to_order[layer->id()]); | 179 EXPECT_EQ(i--, layer_id_to_order[layer->id()]); |
| 180 } | 180 } |
| 181 EXPECT_EQ(0, i); | 181 EXPECT_EQ(0, i); |
| 182 } | 182 } |
| 183 | 183 |
| 184 TEST(LayerListReverseIteratorTest, VerifyNullFirstLayer) { | 184 TEST(LayerListReverseIteratorTest, VerifyNullFirstLayer) { |
| 185 // Ensures that if an iterator is constructed with a nullptr, that it can be | 185 // Ensures that if an iterator is constructed with a nullptr, that it can be |
| 186 // iterated without issue and that it remains equal to any other | 186 // iterated without issue and that it remains equal to any other |
| 187 // null-initialized iterator. | 187 // null-initialized iterator. |
| 188 LayerListReverseIterator<Layer> it(nullptr); | 188 LayerListReverseIterator<Layer> it(nullptr); |
| (...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 376 LayerListReverseIterator<LayerImpl> it(nullptr); | 376 LayerListReverseIterator<LayerImpl> it(nullptr); |
| 377 LayerListReverseIterator<LayerImpl> end(nullptr); | 377 LayerListReverseIterator<LayerImpl> end(nullptr); |
| 378 | 378 |
| 379 EXPECT_EQ(it, end); | 379 EXPECT_EQ(it, end); |
| 380 ++it; | 380 ++it; |
| 381 EXPECT_EQ(it, end); | 381 EXPECT_EQ(it, end); |
| 382 } | 382 } |
| 383 | 383 |
| 384 } // namespace | 384 } // namespace |
| 385 } // namespace cc | 385 } // namespace cc |
| OLD | NEW |