ax_tree_data_mojom_traits_unittest.cc 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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_data_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_data.h"
  8. #include "ui/accessibility/mojom/ax_tree_data.mojom.h"
  9. using mojo::test::SerializeAndDeserialize;
  10. TEST(AXTreeDataMojomTraitsTest, TestSerializeAndDeserializeAXTreeData) {
  11. ui::AXTreeID tree_id_1 = ui::AXTreeID::CreateNewAXTreeID();
  12. ui::AXTreeID tree_id_2 = ui::AXTreeID::CreateNewAXTreeID();
  13. ui::AXTreeID tree_id_3 = ui::AXTreeID::CreateNewAXTreeID();
  14. ui::AXTreeData input, output;
  15. input.tree_id = tree_id_1;
  16. input.parent_tree_id = tree_id_2;
  17. input.focused_tree_id = tree_id_3;
  18. input.doctype = "4";
  19. input.loaded = true;
  20. input.loading_progress = 5;
  21. input.mimetype = "6";
  22. input.title = "7";
  23. input.url = "8";
  24. input.focus_id = 9;
  25. input.sel_is_backward = true; // Set to true only for testing purposes.
  26. input.sel_anchor_object_id = 10;
  27. input.sel_anchor_offset = 11;
  28. input.sel_anchor_affinity = ax::mojom::TextAffinity::kUpstream;
  29. input.sel_focus_object_id = 12;
  30. input.sel_focus_offset = 13;
  31. input.sel_focus_affinity = ax::mojom::TextAffinity::kDownstream;
  32. input.root_scroller_id = 14;
  33. input.metadata.push_back("<meta charset='utf-8'>");
  34. input.metadata.push_back("<meta http-equiv='refresh'>");
  35. EXPECT_TRUE(SerializeAndDeserialize<ax::mojom::AXTreeData>(input, output));
  36. EXPECT_EQ(tree_id_1, output.tree_id);
  37. EXPECT_EQ(tree_id_2, output.parent_tree_id);
  38. EXPECT_EQ(tree_id_3, output.focused_tree_id);
  39. EXPECT_EQ("4", output.doctype);
  40. EXPECT_EQ(true, output.loaded);
  41. EXPECT_EQ(5, output.loading_progress);
  42. EXPECT_EQ("6", output.mimetype);
  43. EXPECT_EQ("7", output.title);
  44. EXPECT_EQ("8", output.url);
  45. EXPECT_EQ(9, output.focus_id);
  46. EXPECT_TRUE(output.sel_is_backward);
  47. EXPECT_EQ(10, output.sel_anchor_object_id);
  48. EXPECT_EQ(11, output.sel_anchor_offset);
  49. EXPECT_EQ(ax::mojom::TextAffinity::kUpstream, output.sel_anchor_affinity);
  50. EXPECT_EQ(12, output.sel_focus_object_id);
  51. EXPECT_EQ(13, output.sel_focus_offset);
  52. EXPECT_EQ(ax::mojom::TextAffinity::kDownstream, output.sel_focus_affinity);
  53. EXPECT_EQ(14, output.root_scroller_id);
  54. ASSERT_EQ(2U, output.metadata.size());
  55. EXPECT_EQ("<meta charset='utf-8'>", output.metadata[0]);
  56. EXPECT_EQ("<meta http-equiv='refresh'>", output.metadata[1]);
  57. }