ax_tree_id_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_id_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_id.h"
  8. #include "ui/accessibility/mojom/ax_tree_id.mojom.h"
  9. using mojo::test::SerializeAndDeserialize;
  10. TEST(AXTreeIDMojomTraitsTest, TestSerializeAndDeserializeAXTreeID) {
  11. ui::AXTreeID empty_input = ui::AXTreeID();
  12. ui::AXTreeID empty_output;
  13. EXPECT_TRUE(
  14. SerializeAndDeserialize<ax::mojom::AXTreeID>(empty_input, empty_output));
  15. EXPECT_EQ(empty_input, empty_output);
  16. EXPECT_EQ("", empty_output.ToString());
  17. ui::AXTreeID unknown_input = ui::AXTreeIDUnknown();
  18. ui::AXTreeID unknown_output;
  19. EXPECT_TRUE(SerializeAndDeserialize<ax::mojom::AXTreeID>(unknown_input,
  20. unknown_output));
  21. EXPECT_EQ(unknown_input, unknown_output);
  22. EXPECT_EQ("", unknown_output.ToString());
  23. ui::AXTreeID token_input = ui::AXTreeID::CreateNewAXTreeID();
  24. ui::AXTreeID token_output;
  25. EXPECT_TRUE(
  26. SerializeAndDeserialize<ax::mojom::AXTreeID>(token_input, token_output));
  27. EXPECT_EQ(token_input, token_output);
  28. // It should be a 32-char hex string.
  29. EXPECT_EQ(32U, token_output.ToString().size());
  30. }