1919#include " ax/ax_tree_id.h"
2020#include " ax/ax_tree_update.h"
2121#include " ax/test_ax_tree_manager.h"
22+ #include " flutter/fml/platform/win/wstring_conversion.h"
2223#include " gtest/gtest.h"
2324
2425namespace ui {
@@ -28,10 +29,6 @@ using TestPositionRange = AXRange<AXPosition<AXNodePosition, AXNode>>;
2829
2930namespace {
3031
31- std::u16string WideToUTF16 (const std::wstring wide) {
32- return std::u16string (wide.begin (), wide.end ());
33- }
34-
3532constexpr AXNode::AXID ROOT_ID = 1 ;
3633constexpr AXNode::AXID BUTTON_ID = 2 ;
3734constexpr AXNode::AXID CHECK_BOX_ID = 3 ;
@@ -43,20 +40,20 @@ constexpr AXNode::AXID STATIC_TEXT2_ID = 8;
4340constexpr AXNode::AXID INLINE_BOX2_ID = 9 ;
4441
4542// A group of basic and extended characters.
46- constexpr const wchar_t * kGraphemeClusters [] = {
43+ constexpr const char16_t * kGraphemeClusters [] = {
4744 // The English word "hey" consisting of four ASCII characters.
48- L " h" ,
49- L " e" ,
50- L " y" ,
45+ u " h" ,
46+ u " e" ,
47+ u " y" ,
5148 // A Hindi word (which means "Hindi") consisting of two Devanagari
5249 // grapheme clusters.
53- L "\x0939\x093F " ,
54- L "\x0928\x094D\x0926\x0940 " ,
50+ u "\x0939\x093F " ,
51+ u "\x0928\x094D\x0926\x0940 " ,
5552 // A Thai word (which means "feel") consisting of three Thai grapheme
5653 // clusters.
57- L "\x0E23\x0E39\x0E49 " ,
58- L "\x0E2A\x0E36 " ,
59- L "\x0E01 " ,
54+ u "\x0E23\x0E39\x0E49 " ,
55+ u "\x0E2A\x0E36 " ,
56+ u "\x0E01 " ,
6057};
6158
6259class AXPositionTest : public testing ::Test, public TestAXTreeManager {
@@ -419,7 +416,7 @@ std::unique_ptr<AXTree> AXPositionTest::CreateMultilingualDocument(
419416
420417 std::u16string english_text;
421418 for (int i = 0 ; i < 3 ; ++i) {
422- std::u16string grapheme = WideToUTF16 ( kGraphemeClusters [i]) ;
419+ std::u16string grapheme = kGraphemeClusters [i];
423420 EXPECT_EQ (1u , grapheme.length ())
424421 << " All English characters should be one UTF16 code unit in length." ;
425422 text_offsets->push_back (text_offsets->back () +
@@ -429,7 +426,7 @@ std::unique_ptr<AXTree> AXPositionTest::CreateMultilingualDocument(
429426
430427 std::u16string hindi_text;
431428 for (int i = 3 ; i < 5 ; ++i) {
432- std::u16string grapheme = WideToUTF16 ( kGraphemeClusters [i]) ;
429+ std::u16string grapheme = kGraphemeClusters [i];
433430 EXPECT_LE (2u , grapheme.length ()) << " All Hindi characters should be two "
434431 " or more UTF16 code units in length." ;
435432 text_offsets->push_back (text_offsets->back () +
@@ -439,7 +436,7 @@ std::unique_ptr<AXTree> AXPositionTest::CreateMultilingualDocument(
439436
440437 std::u16string thai_text;
441438 for (int i = 5 ; i < 8 ; ++i) {
442- std::u16string grapheme = WideToUTF16 ( kGraphemeClusters [i]) ;
439+ std::u16string grapheme = kGraphemeClusters [i];
443440 EXPECT_LT (0u , grapheme.length ())
444441 << " One of the Thai characters should be one UTF16 code unit, "
445442 " whilst others should be two or more." ;
@@ -618,7 +615,7 @@ TEST_F(AXPositionTest, ToString) {
618615 AXNodeData static_text_data_2;
619616 static_text_data_2.id = 3 ;
620617 static_text_data_2.role = ax::mojom::Role::kStaticText ;
621- static_text_data_2.SetName (WideToUTF16 ( L "\xfffc " ) );
618+ static_text_data_2.SetName (u "\xfffc " );
622619
623620 AXNodeData static_text_data_3;
624621 static_text_data_3.id = 4 ;
@@ -876,7 +873,7 @@ TEST_F(AXPositionTest, GetTextFromNullPosition) {
876873 TestPositionType text_position = AXNodePosition::CreateNullPosition ();
877874 ASSERT_NE (nullptr , text_position);
878875 ASSERT_TRUE (text_position->IsNullPosition ());
879- ASSERT_EQ (WideToUTF16 ( L" " ) , text_position->GetText ());
876+ ASSERT_EQ (u" " , text_position->GetText ());
880877}
881878
882879TEST_F (AXPositionTest, GetTextFromRoot) {
@@ -885,7 +882,7 @@ TEST_F(AXPositionTest, GetTextFromRoot) {
885882 ax::mojom::TextAffinity::kUpstream );
886883 ASSERT_NE (nullptr , text_position);
887884 ASSERT_TRUE (text_position->IsTextPosition ());
888- ASSERT_EQ (WideToUTF16 ( L " Line 1\n Line 2" ) , text_position->GetText ());
885+ ASSERT_EQ (u " Line 1\n Line 2" , text_position->GetText ());
889886}
890887
891888TEST_F (AXPositionTest, GetTextFromButton) {
@@ -894,7 +891,7 @@ TEST_F(AXPositionTest, GetTextFromButton) {
894891 ax::mojom::TextAffinity::kUpstream );
895892 ASSERT_NE (nullptr , text_position);
896893 ASSERT_TRUE (text_position->IsTextPosition ());
897- ASSERT_EQ (WideToUTF16 ( L" " ) , text_position->GetText ());
894+ ASSERT_EQ (u" " , text_position->GetText ());
898895}
899896
900897TEST_F (AXPositionTest, GetTextFromCheckbox) {
@@ -903,7 +900,7 @@ TEST_F(AXPositionTest, GetTextFromCheckbox) {
903900 ax::mojom::TextAffinity::kUpstream );
904901 ASSERT_NE (nullptr , text_position);
905902 ASSERT_TRUE (text_position->IsTextPosition ());
906- ASSERT_EQ (WideToUTF16 ( L" " ) , text_position->GetText ());
903+ ASSERT_EQ (u" " , text_position->GetText ());
907904}
908905
909906TEST_F (AXPositionTest, GetTextFromTextField) {
@@ -912,7 +909,7 @@ TEST_F(AXPositionTest, GetTextFromTextField) {
912909 ax::mojom::TextAffinity::kUpstream );
913910 ASSERT_NE (nullptr , text_position);
914911 ASSERT_TRUE (text_position->IsTextPosition ());
915- ASSERT_EQ (WideToUTF16 ( L " Line 1\n Line 2" ) , text_position->GetText ());
912+ ASSERT_EQ (u " Line 1\n Line 2" , text_position->GetText ());
916913}
917914
918915TEST_F (AXPositionTest, GetTextFromStaticText) {
@@ -921,7 +918,7 @@ TEST_F(AXPositionTest, GetTextFromStaticText) {
921918 ax::mojom::TextAffinity::kUpstream );
922919 ASSERT_NE (nullptr , text_position);
923920 ASSERT_TRUE (text_position->IsTextPosition ());
924- ASSERT_EQ (WideToUTF16 ( L " Line 1" ) , text_position->GetText ());
921+ ASSERT_EQ (u " Line 1" , text_position->GetText ());
925922}
926923
927924TEST_F (AXPositionTest, GetTextFromInlineTextBox) {
@@ -930,7 +927,7 @@ TEST_F(AXPositionTest, GetTextFromInlineTextBox) {
930927 ax::mojom::TextAffinity::kUpstream );
931928 ASSERT_NE (nullptr , text_position);
932929 ASSERT_TRUE (text_position->IsTextPosition ());
933- ASSERT_EQ (WideToUTF16 ( L " Line 1" ) , text_position->GetText ());
930+ ASSERT_EQ (u " Line 1" , text_position->GetText ());
934931}
935932
936933TEST_F (AXPositionTest, GetTextFromLineBreak) {
@@ -939,7 +936,7 @@ TEST_F(AXPositionTest, GetTextFromLineBreak) {
939936 ax::mojom::TextAffinity::kUpstream );
940937 ASSERT_NE (nullptr , text_position);
941938 ASSERT_TRUE (text_position->IsTextPosition ());
942- ASSERT_EQ (WideToUTF16 ( L "\n " ) , text_position->GetText ());
939+ ASSERT_EQ (u "\n " , text_position->GetText ());
943940}
944941
945942TEST_F (AXPositionTest, GetMaxTextOffsetFromNullPosition) {
@@ -1106,7 +1103,7 @@ TEST_F(AXPositionTest, GetMaxTextOffsetAndGetTextWithGeneratedContent) {
11061103 ASSERT_NE (nullptr , text_position);
11071104 EXPECT_TRUE (text_position->IsTextPosition ());
11081105 EXPECT_EQ (38 , text_position->MaxTextOffset ());
1109- EXPECT_EQ (WideToUTF16 ( L " Placeholder from generated content3.14" ) ,
1106+ EXPECT_EQ (u " Placeholder from generated content3.14" ,
11101107 text_position->GetText ());
11111108}
11121109
@@ -7712,10 +7709,10 @@ TEST_F(AXPositionTest, EmptyObjectReplacedByCharacterTextNavigation) {
77127709 GetTreeID (), root_1.id , 0 /* text_offset */ ,
77137710 ax::mojom::TextAffinity::kDownstream );
77147711
7715- expected_text = WideToUTF16 ( L" Hello " ) + AXNodePosition:: kEmbeddedCharacter +
7716- WideToUTF16 ( L" world3.14 " ) +
7717- AXNodePosition::kEmbeddedCharacter + WideToUTF16 ( L" hey " ) +
7718- AXNodePosition::kEmbeddedCharacter ;
7712+ expected_text =
7713+ std::u16string ( u" Hello " ) + AXNodePosition:: kEmbeddedCharacter +
7714+ std::u16string ( u" world3.14 " ) + AXNodePosition::kEmbeddedCharacter +
7715+ std::u16string ( u" hey " ) + AXNodePosition::kEmbeddedCharacter ;
77197716 ASSERT_EQ (expected_text, position->GetText ());
77207717
77217718 // MaxTextOffset() with an embedded object replacement character.
0 commit comments