| Index: ui/gfx/mojo/struct_traits_unittest.cc
|
| diff --git a/ui/gfx/mojo/struct_traits_unittest.cc b/ui/gfx/mojo/struct_traits_unittest.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..f172c217356fe34ee90257114e6e5577b16a0d15
|
| --- /dev/null
|
| +++ b/ui/gfx/mojo/struct_traits_unittest.cc
|
| @@ -0,0 +1,79 @@
|
| +// Copyright 2016 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "base/message_loop/message_loop.h"
|
| +#include "mojo/public/cpp/bindings/binding_set.h"
|
| +#include "testing/gtest/include/gtest/gtest.h"
|
| +#include "ui/gfx/mojo/traits_test_service.mojom.h"
|
| +#include "ui/gfx/transform.h"
|
| +
|
| +namespace gfx {
|
| +
|
| +namespace {
|
| +
|
| +class StructTraitsTest : public testing::Test, public mojom::TraitsTestService {
|
| + public:
|
| + StructTraitsTest() {}
|
| +
|
| + protected:
|
| + mojom::TraitsTestServicePtr GetTraitsTestProxy() {
|
| + return traits_test_bindings_.CreateInterfacePtrAndBind(this);
|
| + }
|
| +
|
| + private:
|
| + // TraitsTestService:
|
| + void EchoTransform(const Transform& t,
|
| + const EchoTransformCallback& callback) override {
|
| + callback.Run(t);
|
| + }
|
| +
|
| + base::MessageLoop loop_;
|
| + mojo::BindingSet<TraitsTestService> traits_test_bindings_;
|
| +};
|
| +
|
| +} // namespace
|
| +
|
| +TEST_F(StructTraitsTest, Transform) {
|
| + const float col1row1 = 1.f;
|
| + const float col2row1 = 2.f;
|
| + const float col3row1 = 3.f;
|
| + const float col4row1 = 4.f;
|
| + const float col1row2 = 5.f;
|
| + const float col2row2 = 6.f;
|
| + const float col3row2 = 7.f;
|
| + const float col4row2 = 8.f;
|
| + const float col1row3 = 9.f;
|
| + const float col2row3 = 10.f;
|
| + const float col3row3 = 11.f;
|
| + const float col4row3 = 12.f;
|
| + const float col1row4 = 13.f;
|
| + const float col2row4 = 14.f;
|
| + const float col3row4 = 15.f;
|
| + const float col4row4 = 16.f;
|
| + gfx::Transform input(col1row1, col2row1, col3row1, col4row1, col1row2,
|
| + col2row2, col3row2, col4row2, col1row3, col2row3,
|
| + col3row3, col4row3, col1row4, col2row4, col3row4,
|
| + col4row4);
|
| + mojom::TraitsTestServicePtr proxy = GetTraitsTestProxy();
|
| + gfx::Transform output;
|
| + proxy->EchoTransform(input, &output);
|
| + EXPECT_EQ(col1row1, output.matrix().get(0, 0));
|
| + EXPECT_EQ(col2row1, output.matrix().get(0, 1));
|
| + EXPECT_EQ(col3row1, output.matrix().get(0, 2));
|
| + EXPECT_EQ(col4row1, output.matrix().get(0, 3));
|
| + EXPECT_EQ(col1row2, output.matrix().get(1, 0));
|
| + EXPECT_EQ(col2row2, output.matrix().get(1, 1));
|
| + EXPECT_EQ(col3row2, output.matrix().get(1, 2));
|
| + EXPECT_EQ(col4row2, output.matrix().get(1, 3));
|
| + EXPECT_EQ(col1row3, output.matrix().get(2, 0));
|
| + EXPECT_EQ(col2row3, output.matrix().get(2, 1));
|
| + EXPECT_EQ(col3row3, output.matrix().get(2, 2));
|
| + EXPECT_EQ(col4row3, output.matrix().get(2, 3));
|
| + EXPECT_EQ(col1row4, output.matrix().get(3, 0));
|
| + EXPECT_EQ(col2row4, output.matrix().get(3, 1));
|
| + EXPECT_EQ(col3row4, output.matrix().get(3, 2));
|
| + EXPECT_EQ(col4row4, output.matrix().get(3, 3));
|
| +}
|
| +
|
| +} // namespace gfx
|
|
|