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"
2322#include " gtest/gtest.h"
2423
2524namespace ui {
@@ -29,6 +28,10 @@ using TestPositionRange = AXRange<AXPosition<AXNodePosition, AXNode>>;
2928
3029namespace {
3130
31+ std::u16string WideToUTF16 (const std::wstring wide) {
32+ return std::u16string (wide.begin (), wide.end ());
33+ }
34+
3235constexpr AXNode::AXID ROOT_ID = 1 ;
3336constexpr AXNode::AXID BUTTON_ID = 2 ;
3437constexpr AXNode::AXID CHECK_BOX_ID = 3 ;
@@ -40,20 +43,20 @@ constexpr AXNode::AXID STATIC_TEXT2_ID = 8;
4043constexpr AXNode::AXID INLINE_BOX2_ID = 9 ;
4144
4245// A group of basic and extended characters.
43- constexpr const char16_t * kGraphemeClusters [] = {
46+ constexpr const wchar_t * kGraphemeClusters [] = {
4447 // The English word "hey" consisting of four ASCII characters.
45- u " h" ,
46- u " e" ,
47- u " y" ,
48+ L " h" ,
49+ L " e" ,
50+ L " y" ,
4851 // A Hindi word (which means "Hindi") consisting of two Devanagari
4952 // grapheme clusters.
50- u "\x0939\x093F " ,
51- u "\x0928\x094D\x0926\x0940 " ,
53+ L "\x0939\x093F " ,
54+ L "\x0928\x094D\x0926\x0940 " ,
5255 // A Thai word (which means "feel") consisting of three Thai grapheme
5356 // clusters.
54- u "\x0E23\x0E39\x0E49 " ,
55- u "\x0E2A\x0E36 " ,
56- u "\x0E01 " ,
57+ L "\x0E23\x0E39\x0E49 " ,
58+ L "\x0E2A\x0E36 " ,
59+ L "\x0E01 " ,
5760};
5861
5962class AXPositionTest : public testing ::Test, public TestAXTreeManager {
@@ -416,7 +419,7 @@ std::unique_ptr<AXTree> AXPositionTest::CreateMultilingualDocument(
416419
417420 std::u16string english_text;
418421 for (int i = 0 ; i < 3 ; ++i) {
419- std::u16string grapheme = kGraphemeClusters [i];
422+ std::u16string grapheme = WideToUTF16 ( kGraphemeClusters [i]) ;
420423 EXPECT_EQ (1u , grapheme.length ())
421424 << " All English characters should be one UTF16 code unit in length." ;
422425 text_offsets->push_back (text_offsets->back () +
@@ -426,7 +429,7 @@ std::unique_ptr<AXTree> AXPositionTest::CreateMultilingualDocument(
426429
427430 std::u16string hindi_text;
428431 for (int i = 3 ; i < 5 ; ++i) {
429- std::u16string grapheme = kGraphemeClusters [i];
432+ std::u16string grapheme = WideToUTF16 ( kGraphemeClusters [i]) ;
430433 EXPECT_LE (2u , grapheme.length ()) << " All Hindi characters should be two "
431434 " or more UTF16 code units in length." ;
432435 text_offsets->push_back (text_offsets->back () +
@@ -436,7 +439,7 @@ std::unique_ptr<AXTree> AXPositionTest::CreateMultilingualDocument(
436439
437440 std::u16string thai_text;
438441 for (int i = 5 ; i < 8 ; ++i) {
439- std::u16string grapheme = kGraphemeClusters [i];
442+ std::u16string grapheme = WideToUTF16 ( kGraphemeClusters [i]) ;
440443 EXPECT_LT (0u , grapheme.length ())
441444 << " One of the Thai characters should be one UTF16 code unit, "
442445 " whilst others should be two or more." ;
@@ -615,7 +618,7 @@ TEST_F(AXPositionTest, ToString) {
615618 AXNodeData static_text_data_2;
616619 static_text_data_2.id = 3 ;
617620 static_text_data_2.role = ax::mojom::Role::kStaticText ;
618- static_text_data_2.SetName (u "\xfffc " );
621+ static_text_data_2.SetName (WideToUTF16 ( L "\xfffc " ) );
619622
620623 AXNodeData static_text_data_3;
621624 static_text_data_3.id = 4 ;
@@ -873,7 +876,7 @@ TEST_F(AXPositionTest, GetTextFromNullPosition) {
873876 TestPositionType text_position = AXNodePosition::CreateNullPosition ();
874877 ASSERT_NE (nullptr , text_position);
875878 ASSERT_TRUE (text_position->IsNullPosition ());
876- ASSERT_EQ (u" " , text_position->GetText ());
879+ ASSERT_EQ (WideToUTF16 ( L" " ) , text_position->GetText ());
877880}
878881
879882TEST_F (AXPositionTest, GetTextFromRoot) {
@@ -882,7 +885,7 @@ TEST_F(AXPositionTest, GetTextFromRoot) {
882885 ax::mojom::TextAffinity::kUpstream );
883886 ASSERT_NE (nullptr , text_position);
884887 ASSERT_TRUE (text_position->IsTextPosition ());
885- ASSERT_EQ (u " Line 1\n Line 2" , text_position->GetText ());
888+ ASSERT_EQ (WideToUTF16 ( L " Line 1\n Line 2" ) , text_position->GetText ());
886889}
887890
888891TEST_F (AXPositionTest, GetTextFromButton) {
@@ -891,7 +894,7 @@ TEST_F(AXPositionTest, GetTextFromButton) {
891894 ax::mojom::TextAffinity::kUpstream );
892895 ASSERT_NE (nullptr , text_position);
893896 ASSERT_TRUE (text_position->IsTextPosition ());
894- ASSERT_EQ (u" " , text_position->GetText ());
897+ ASSERT_EQ (WideToUTF16 ( L" " ) , text_position->GetText ());
895898}
896899
897900TEST_F (AXPositionTest, GetTextFromCheckbox) {
@@ -900,7 +903,7 @@ TEST_F(AXPositionTest, GetTextFromCheckbox) {
900903 ax::mojom::TextAffinity::kUpstream );
901904 ASSERT_NE (nullptr , text_position);
902905 ASSERT_TRUE (text_position->IsTextPosition ());
903- ASSERT_EQ (u" " , text_position->GetText ());
906+ ASSERT_EQ (WideToUTF16 ( L" " ) , text_position->GetText ());
904907}
905908
906909TEST_F (AXPositionTest, GetTextFromTextField) {
@@ -909,7 +912,7 @@ TEST_F(AXPositionTest, GetTextFromTextField) {
909912 ax::mojom::TextAffinity::kUpstream );
910913 ASSERT_NE (nullptr , text_position);
911914 ASSERT_TRUE (text_position->IsTextPosition ());
912- ASSERT_EQ (u " Line 1\n Line 2" , text_position->GetText ());
915+ ASSERT_EQ (WideToUTF16 ( L " Line 1\n Line 2" ) , text_position->GetText ());
913916}
914917
915918TEST_F (AXPositionTest, GetTextFromStaticText) {
@@ -918,7 +921,7 @@ TEST_F(AXPositionTest, GetTextFromStaticText) {
918921 ax::mojom::TextAffinity::kUpstream );
919922 ASSERT_NE (nullptr , text_position);
920923 ASSERT_TRUE (text_position->IsTextPosition ());
921- ASSERT_EQ (u " Line 1" , text_position->GetText ());
924+ ASSERT_EQ (WideToUTF16 ( L " Line 1" ) , text_position->GetText ());
922925}
923926
924927TEST_F (AXPositionTest, GetTextFromInlineTextBox) {
@@ -927,7 +930,7 @@ TEST_F(AXPositionTest, GetTextFromInlineTextBox) {
927930 ax::mojom::TextAffinity::kUpstream );
928931 ASSERT_NE (nullptr , text_position);
929932 ASSERT_TRUE (text_position->IsTextPosition ());
930- ASSERT_EQ (u " Line 1" , text_position->GetText ());
933+ ASSERT_EQ (WideToUTF16 ( L " Line 1" ) , text_position->GetText ());
931934}
932935
933936TEST_F (AXPositionTest, GetTextFromLineBreak) {
@@ -936,7 +939,7 @@ TEST_F(AXPositionTest, GetTextFromLineBreak) {
936939 ax::mojom::TextAffinity::kUpstream );
937940 ASSERT_NE (nullptr , text_position);
938941 ASSERT_TRUE (text_position->IsTextPosition ());
939- ASSERT_EQ (u "\n " , text_position->GetText ());
942+ ASSERT_EQ (WideToUTF16 ( L "\n " ) , text_position->GetText ());
940943}
941944
942945TEST_F (AXPositionTest, GetMaxTextOffsetFromNullPosition) {
@@ -1103,7 +1106,7 @@ TEST_F(AXPositionTest, GetMaxTextOffsetAndGetTextWithGeneratedContent) {
11031106 ASSERT_NE (nullptr , text_position);
11041107 EXPECT_TRUE (text_position->IsTextPosition ());
11051108 EXPECT_EQ (38 , text_position->MaxTextOffset ());
1106- EXPECT_EQ (u " Placeholder from generated content3.14" ,
1109+ EXPECT_EQ (WideToUTF16 ( L " Placeholder from generated content3.14" ) ,
11071110 text_position->GetText ());
11081111}
11091112
@@ -7709,10 +7712,10 @@ TEST_F(AXPositionTest, EmptyObjectReplacedByCharacterTextNavigation) {
77097712 GetTreeID (), root_1.id , 0 /* text_offset */ ,
77107713 ax::mojom::TextAffinity::kDownstream );
77117714
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 ;
7715+ expected_text = WideToUTF16 ( L" Hello " ) + AXNodePosition:: kEmbeddedCharacter +
7716+ WideToUTF16 ( L" world3.14 " ) +
7717+ AXNodePosition::kEmbeddedCharacter + WideToUTF16 ( L" hey " ) +
7718+ AXNodePosition::kEmbeddedCharacter ;
77167719 ASSERT_EQ (expected_text, position->GetText ());
77177720
77187721 // MaxTextOffset() with an embedded object replacement character.
0 commit comments