ax_tree_update_mojom_traits_unittest.cc 1.4 KB

1234567891011121314151617181920212223242526272829303132333435
  1. // Copyright 2018 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "ui/accessibility/mojom/ax_tree_update_mojom_traits.h"
  5. #include "mojo/public/cpp/test_support/test_utils.h"
  6. #include "testing/gtest/include/gtest/gtest.h"
  7. #include "ui/accessibility/ax_tree_update.h"
  8. #include "ui/accessibility/mojom/ax_relative_bounds_mojom_traits.h"
  9. #include "ui/accessibility/mojom/ax_tree_update.mojom.h"
  10. using mojo::test::SerializeAndDeserialize;
  11. TEST(AXTreeUpdateMojomTraitsTest, TestSerializeAndDeserializeAXTreeUpdate) {
  12. ui::AXTreeUpdate input, output;
  13. input.has_tree_data = true;
  14. input.tree_data.focus_id = 1;
  15. input.node_id_to_clear = 2;
  16. input.root_id = 3;
  17. input.nodes.resize(2);
  18. input.nodes[0].role = ax::mojom::Role::kButton;
  19. input.nodes[1].id = 4;
  20. input.event_from = ax::mojom::EventFrom::kUser;
  21. input.event_from_action = ax::mojom::Action::kDoDefault;
  22. EXPECT_TRUE(SerializeAndDeserialize<ax::mojom::AXTreeUpdate>(input, output));
  23. EXPECT_EQ(true, output.has_tree_data);
  24. EXPECT_EQ(1, output.tree_data.focus_id);
  25. EXPECT_EQ(2, output.node_id_to_clear);
  26. EXPECT_EQ(3, output.root_id);
  27. ASSERT_EQ(2U, output.nodes.size());
  28. EXPECT_EQ(ax::mojom::Role::kButton, output.nodes[0].role);
  29. EXPECT_EQ(4, output.nodes[1].id);
  30. EXPECT_EQ(ax::mojom::EventFrom::kUser, output.event_from);
  31. EXPECT_EQ(ax::mojom::Action::kDoDefault, output.event_from_action);
  32. }