559 "Lorem ipsum.\nDolor sit amet. Praesent commodo?"
560 "\n\nPraesent et felis dui.");
563 gint start_offset = -1, end_offset = -1;
564 g_autofree gchar* lorem_char = atk_text_get_string_at_offset(
565 ATK_TEXT(node), 0, ATK_TEXT_GRANULARITY_CHAR, &start_offset, &end_offset);
566 EXPECT_STREQ(lorem_char,
"L");
567 EXPECT_EQ(start_offset, 0);
568 EXPECT_EQ(end_offset, 1);
570 g_autofree gchar* lorem_word = atk_text_get_string_at_offset(
571 ATK_TEXT(node), 0, ATK_TEXT_GRANULARITY_WORD, &start_offset, &end_offset);
572 EXPECT_STREQ(lorem_word,
"Lorem");
573 EXPECT_EQ(start_offset, 0);
574 EXPECT_EQ(end_offset, 5);
576 g_autofree gchar* lorem_sentence = atk_text_get_string_at_offset(
577 ATK_TEXT(node), 0, ATK_TEXT_GRANULARITY_SENTENCE, &start_offset,
579 EXPECT_STREQ(lorem_sentence,
"Lorem ipsum.");
580 EXPECT_EQ(start_offset, 0);
581 EXPECT_EQ(end_offset, 12);
583 g_autofree gchar* lorem_line = atk_text_get_string_at_offset(
584 ATK_TEXT(node), 0, ATK_TEXT_GRANULARITY_LINE, &start_offset, &end_offset);
585 EXPECT_STREQ(lorem_line,
"Lorem ipsum.");
586 EXPECT_EQ(start_offset, 0);
587 EXPECT_EQ(end_offset, 12);
589 g_autofree gchar* lorem_paragraph = atk_text_get_string_at_offset(
590 ATK_TEXT(node), 0, ATK_TEXT_GRANULARITY_PARAGRAPH, &start_offset,
592 EXPECT_STREQ(lorem_paragraph,
593 "Lorem ipsum.\nDolor sit amet. Praesent commodo?");
594 EXPECT_EQ(start_offset, 0);
595 EXPECT_EQ(end_offset, 46);
598 g_autofree gchar* praesent_char = atk_text_get_string_at_offset(
599 ATK_TEXT(node), 32, ATK_TEXT_GRANULARITY_CHAR, &start_offset,
601 EXPECT_STREQ(praesent_char,
"e");
602 EXPECT_EQ(start_offset, 32);
603 EXPECT_EQ(end_offset, 33);
605 g_autofree gchar* praesent_word = atk_text_get_string_at_offset(
606 ATK_TEXT(node), 32, ATK_TEXT_GRANULARITY_WORD, &start_offset,
608 EXPECT_STREQ(praesent_word,
"Praesent");
609 EXPECT_EQ(start_offset, 29);
610 EXPECT_EQ(end_offset, 37);
612 g_autofree gchar* praesent_sentence = atk_text_get_string_at_offset(
613 ATK_TEXT(node), 32, ATK_TEXT_GRANULARITY_SENTENCE, &start_offset,
615 EXPECT_STREQ(praesent_sentence,
"Praesent commodo?");
616 EXPECT_EQ(start_offset, 29);
617 EXPECT_EQ(end_offset, 46);
619 g_autofree gchar* praesent_line = atk_text_get_string_at_offset(
620 ATK_TEXT(node), 32, ATK_TEXT_GRANULARITY_LINE, &start_offset,
622 EXPECT_STREQ(praesent_line,
"Dolor sit amet. Praesent commodo?");
623 EXPECT_EQ(start_offset, 13);
624 EXPECT_EQ(end_offset, 46);
626 g_autofree gchar* praesent_paragraph = atk_text_get_string_at_offset(
627 ATK_TEXT(node), 32, ATK_TEXT_GRANULARITY_PARAGRAPH, &start_offset,
629 EXPECT_STREQ(praesent_paragraph,
630 "Lorem ipsum.\nDolor sit amet. Praesent commodo?");
631 EXPECT_EQ(start_offset, 0);
632 EXPECT_EQ(end_offset, 46);
635 g_autofree gchar* felis_char = atk_text_get_string_at_offset(
636 ATK_TEXT(node), 64, ATK_TEXT_GRANULARITY_CHAR, &start_offset,
638 EXPECT_STREQ(felis_char,
"s");
639 EXPECT_EQ(start_offset, 64);
640 EXPECT_EQ(end_offset, 65);
642 g_autofree gchar* felis_word = atk_text_get_string_at_offset(
643 ATK_TEXT(node), 64, ATK_TEXT_GRANULARITY_WORD, &start_offset,
645 EXPECT_STREQ(felis_word,
"felis");
646 EXPECT_EQ(start_offset, 60);
647 EXPECT_EQ(end_offset, 65);
649 g_autofree gchar* felis_sentence = atk_text_get_string_at_offset(
650 ATK_TEXT(node), 64, ATK_TEXT_GRANULARITY_SENTENCE, &start_offset,
652 EXPECT_STREQ(felis_sentence,
"Praesent et felis dui.");
653 EXPECT_EQ(start_offset, 48);
654 EXPECT_EQ(end_offset, 70);
656 g_autofree gchar* felis_line = atk_text_get_string_at_offset(
657 ATK_TEXT(node), 64, ATK_TEXT_GRANULARITY_LINE, &start_offset,
659 EXPECT_STREQ(felis_line,
"Praesent et felis dui.");
660 EXPECT_EQ(start_offset, 48);
661 EXPECT_EQ(end_offset, 70);
663 g_autofree gchar* felis_paragraph = atk_text_get_string_at_offset(
664 ATK_TEXT(node), 64, ATK_TEXT_GRANULARITY_PARAGRAPH, &start_offset,
666 EXPECT_STREQ(felis_paragraph,
"\nPraesent et felis dui.");
667 EXPECT_EQ(start_offset, 47);
668 EXPECT_EQ(end_offset, 70);
680 gint start_offset = -1, end_offset = -1;
681 g_autofree gchar* char_result = atk_text_get_string_at_offset(
682 ATK_TEXT(node), 100, ATK_TEXT_GRANULARITY_CHAR, &start_offset,
684 EXPECT_NE(char_result,
nullptr);
685 EXPECT_GE(start_offset, 0);
686 EXPECT_LE(end_offset, 5);
688 g_autofree gchar* word_result = atk_text_get_string_at_offset(
689 ATK_TEXT(node), 100, ATK_TEXT_GRANULARITY_WORD, &start_offset,
691 EXPECT_NE(word_result,
nullptr);
692 EXPECT_GE(start_offset, 0);
693 EXPECT_LE(end_offset, 5);
695 g_autofree gchar* sentence_result = atk_text_get_string_at_offset(
696 ATK_TEXT(node), 100, ATK_TEXT_GRANULARITY_SENTENCE, &start_offset,
698 EXPECT_NE(sentence_result,
nullptr);
699 EXPECT_GE(start_offset, 0);
700 EXPECT_LE(end_offset, 5);
786 EXPECT_EQ(atk_text_get_character_count(ATK_TEXT(node)), 10);
789 gint start_offset = -1, end_offset = -1;
790 g_autofree gchar* line0 = atk_text_get_string_at_offset(
791 ATK_TEXT(node), 0, ATK_TEXT_GRANULARITY_LINE, &start_offset, &end_offset);
792 EXPECT_STREQ(line0,
"Café");
793 EXPECT_EQ(start_offset, 0);
794 EXPECT_EQ(end_offset, 4);
799 g_autofree gchar* line1 = atk_text_get_string_at_offset(
800 ATK_TEXT(node), 6, ATK_TEXT_GRANULARITY_LINE, &start_offset, &end_offset);
801 EXPECT_STREQ(line1,
"Münch");
802 EXPECT_EQ(start_offset, 5);
803 EXPECT_EQ(end_offset, 10);
806 g_autofree gchar* paragraph = atk_text_get_string_at_offset(
807 ATK_TEXT(node), 6, ATK_TEXT_GRANULARITY_PARAGRAPH, &start_offset,
809 EXPECT_STREQ(paragraph,
"Café\nMünch");
810 EXPECT_EQ(start_offset, 0);
811 EXPECT_EQ(end_offset, 10);