summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/editing/iterators/text_iterator_behavior_test.cc
blob: 5b36782a500f5a86b052c3f920ea5052381d08ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "third_party/blink/renderer/core/editing/iterators/text_iterator_behavior.h"

#include "testing/gtest/include/gtest/gtest.h"

namespace blink {

TEST(TextIteratorBehaviorTest, Basic) {
  EXPECT_TRUE(TextIteratorBehavior() == TextIteratorBehavior());
  EXPECT_FALSE(TextIteratorBehavior() != TextIteratorBehavior());
  EXPECT_NE(TextIteratorBehavior(),
            TextIteratorBehavior::Builder().SetForInnerText(true).Build());
  EXPECT_NE(TextIteratorBehavior::Builder().SetForInnerText(true).Build(),
            TextIteratorBehavior());
  EXPECT_NE(TextIteratorBehavior::Builder().SetForInnerText(true).Build(),
            TextIteratorBehavior::Builder().SetEmitsImageAltText(true).Build());
  EXPECT_NE(TextIteratorBehavior::Builder().SetEmitsImageAltText(true).Build(),
            TextIteratorBehavior::Builder().SetForInnerText(true).Build());
  EXPECT_EQ(TextIteratorBehavior::Builder()
                .SetForInnerText(true)
                .SetEmitsImageAltText(true)
                .Build(),
            TextIteratorBehavior::Builder()
                .SetEmitsImageAltText(true)
                .SetForInnerText(true)
                .Build());
}

TEST(TextIteratorBehaviorTest, Values) {
  EXPECT_TRUE(TextIteratorBehavior::Builder()
                  .SetDoesNotBreakAtReplacedElement(true)
                  .Build()
                  .DoesNotBreakAtReplacedElement());
  EXPECT_TRUE(TextIteratorBehavior::Builder()
                  .SetEmitsCharactersBetweenAllVisiblePositions(true)
                  .Build()
                  .EmitsCharactersBetweenAllVisiblePositions());
  EXPECT_TRUE(TextIteratorBehavior::Builder()
                  .SetEmitsImageAltText(true)
                  .Build()
                  .EmitsImageAltText());
  EXPECT_TRUE(TextIteratorBehavior::Builder()
                  .SetEmitsSpaceForNbsp(true)
                  .Build()
                  .EmitsSpaceForNbsp());
  EXPECT_TRUE(TextIteratorBehavior::Builder()
                  .SetEmitsObjectReplacementCharacter(true)
                  .Build()
                  .EmitsObjectReplacementCharacter());
  EXPECT_TRUE(TextIteratorBehavior::Builder()
                  .SetEmitsOriginalText(true)
                  .Build()
                  .EmitsOriginalText());
  EXPECT_TRUE(TextIteratorBehavior::Builder()
                  .SetEntersOpenShadowRoots(true)
                  .Build()
                  .EntersOpenShadowRoots());
  EXPECT_TRUE(TextIteratorBehavior::Builder()
                  .SetEntersTextControls(true)
                  .Build()
                  .EntersTextControls());
  EXPECT_TRUE(TextIteratorBehavior::Builder()
                  .SetExcludeAutofilledValue(true)
                  .Build()
                  .ExcludeAutofilledValue());
  EXPECT_TRUE(TextIteratorBehavior::Builder()
                  .SetForInnerText(true)
                  .Build()
                  .ForInnerText());
  EXPECT_TRUE(TextIteratorBehavior::Builder()
                  .SetForSelectionToString(true)
                  .Build()
                  .ForSelectionToString());
  EXPECT_TRUE(TextIteratorBehavior::Builder()
                  .SetForWindowFind(true)
                  .Build()
                  .ForWindowFind());
  EXPECT_TRUE(TextIteratorBehavior::Builder()
                  .SetIgnoresStyleVisibility(true)
                  .Build()
                  .IgnoresStyleVisibility());
  EXPECT_TRUE(TextIteratorBehavior::Builder()
                  .SetStopsOnFormControls(true)
                  .Build()
                  .StopsOnFormControls());
  EXPECT_TRUE(TextIteratorBehavior::Builder()
                  .SetDoesNotEmitSpaceBeyondRangeEnd(true)
                  .Build()
                  .DoesNotEmitSpaceBeyondRangeEnd());
  EXPECT_TRUE(TextIteratorBehavior::Builder()
                  .SetSuppressesExtraNewlineEmission(true)
                  .Build()
                  .SuppressesExtraNewlineEmission());
}

}  // namespace blink