#include "third_party/blink/renderer/core/layout/inline/inline_cursor.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/renderer/core/editing/position_with_affinity.h"
#include "third_party/blink/renderer/core/editing/text_affinity.h"
#include "third_party/blink/renderer/core/layout/inline/fragment_item.h"
#include "third_party/blink/renderer/core/layout/inline/inline_node_data.h"
#include "third_party/blink/renderer/core/layout/layout_image.h"
#include "third_party/blink/renderer/core/layout/layout_text.h"
#include "third_party/blink/renderer/core/layout/physical_box_fragment.h"
#include "third_party/blink/renderer/core/testing/core_unit_test_helper.h"
namespace blink {
namespace {
ElementsAre;
String ToDebugString(const InlineCursor& cursor) { … }
Vector<String> LayoutObjectToDebugStringList(InlineCursor cursor) { … }
class InlineCursorTest : public RenderingTest { … };
TEST_F(InlineCursorTest, BidiLevelInlineBoxLTR) { … }
TEST_F(InlineCursorTest, BidiLevelInlineBoxRTL) { … }
TEST_F(InlineCursorTest, BidiLevelSimpleLTR) { … }
TEST_F(InlineCursorTest, BidiLevelSimpleRTL) { … }
TEST_F(InlineCursorTest, GetLayoutBlockFlowWithScopedCursor) { … }
TEST_F(InlineCursorTest, Parent) { … }
TEST_F(InlineCursorTest, ContainingLine) { … }
TEST_F(InlineCursorTest, CulledInlineWithAtomicInline) { … }
TEST_F(InlineCursorTest, CulledInlineWithFloat) { … }
TEST_F(InlineCursorTest, CulledInlineWithOOF) { … }
TEST_F(InlineCursorTest, CulledInlineNested) { … }
TEST_F(InlineCursorTest, CulledInlineBlockChild) { … }
TEST_F(InlineCursorTest, CulledInlineWithRoot) { … }
TEST_F(InlineCursorTest, CulledInlineWithoutRoot) { … }
TEST_F(InlineCursorTest, CursorForMovingAcrossFragmentainer) { … }
TEST_F(InlineCursorTest, FirstChild) { … }
TEST_F(InlineCursorTest, FirstChild2) { … }
TEST_F(InlineCursorTest, FirstLastLogicalLeafInSimpleText) { … }
TEST_F(InlineCursorTest, FirstLastLogicalLeafInRtlText) { … }
TEST_F(InlineCursorTest, FirstLastLogicalLeafInTextAsDeepDescendants) { … }
TEST_F(InlineCursorTest, MoveToEndOfLineWithNoCharsLtr) { … }
TEST_F(InlineCursorTest, MoveToEndOfLineWithNoCharsRtl) { … }
TEST_F(InlineCursorTest, FirstLastLogicalLeafWithInlineBlock) { … }
TEST_F(InlineCursorTest, FirstLastLogicalLeafWithImages) { … }
TEST_F(InlineCursorTest, FirstNonPseudoLeafWithBlockImage) { … }
TEST_F(InlineCursorTest, IsEmptyLineBox) { … }
TEST_F(InlineCursorTest, LastChild) { … }
TEST_F(InlineCursorTest, LastChild2) { … }
TEST_F(InlineCursorTest, Next) { … }
TEST_F(InlineCursorTest, NextIncludingFragmentainer) { … }
TEST_F(InlineCursorTest, NextWithEllipsis) { … }
TEST_F(InlineCursorTest, NextWithEllipsisInlineBoxOnly) { … }
TEST_F(InlineCursorTest, NextWithListItem) { … }
TEST_F(InlineCursorTest, NextWithSoftHyphens) { … }
TEST_F(InlineCursorTest, NextInlineLeaf) { … }
TEST_F(InlineCursorTest, NextInlineLeafOnLineFromLayoutInline) { … }
TEST_F(InlineCursorTest, NextInlineLeafOnLineFromNestedLayoutInline) { … }
TEST_F(InlineCursorTest, NextInlineLeafOnLineFromLayoutText) { … }
TEST_F(InlineCursorTest, NextInlineLeafWithEllipsis) { … }
TEST_F(InlineCursorTest, NextInlineLeafWithSoftHyphens) { … }
TEST_F(InlineCursorTest, NextInlineLeafIgnoringLineBreak) { … }
TEST_F(InlineCursorTest, NextLine) { … }
TEST_F(InlineCursorTest, NextWithImage) { … }
TEST_F(InlineCursorTest, NextWithInlineBox) { … }
TEST_F(InlineCursorTest, NextForSameLayoutObject) { … }
TEST_F(InlineCursorTest, NextForSameLayoutObjectWithRange) { … }
TEST_F(InlineCursorTest, Sibling) { … }
TEST_F(InlineCursorTest, Sibling2) { … }
TEST_F(InlineCursorTest, NextSkippingChildren) { … }
TEST_F(InlineCursorTest, EmptyOutOfFlow) { … }
TEST_F(InlineCursorTest, PositionForPointInChildHorizontalLTR) { … }
TEST_F(InlineCursorTest, PositionForPointInChildHorizontalRTL) { … }
TEST_F(InlineCursorTest, PositionForPointInChildVerticalLTR) { … }
TEST_F(InlineCursorTest, PositionForPointInChildVerticalRTL) { … }
TEST_F(InlineCursorTest, PositionForPointInChildBlockChildren) { … }
TEST_F(InlineCursorTest, Previous) { … }
TEST_F(InlineCursorTest, PreviousIncludingFragmentainer) { … }
TEST_F(InlineCursorTest, PreviousInlineLeaf) { … }
TEST_F(InlineCursorTest, PreviousInlineLeafIgnoringLineBreak) { … }
TEST_F(InlineCursorTest, PreviousInlineLeafOnLineFromLayoutInline) { … }
TEST_F(InlineCursorTest, PreviousInlineLeafOnLineFromNestedLayoutInline) { … }
TEST_F(InlineCursorTest, PreviousInlineLeafOnLineFromLayoutText) { … }
TEST_F(InlineCursorTest, PreviousLine) { … }
TEST_F(InlineCursorTest, CursorForDescendants) { … }
TEST_F(InlineCursorTest, MoveToVisualFirstOrLast) { … }
class InlineCursorBlockFragmentationTest : public RenderingTest { … };
TEST_F(InlineCursorBlockFragmentationTest, MoveToLayoutObject) { … }
}
}