| Index: third_party/WebKit/Source/core/editing/BackspaceStateMachineTest.cpp
|
| diff --git a/third_party/WebKit/Source/core/editing/BackspaceStateMachineTest.cpp b/third_party/WebKit/Source/core/editing/BackspaceStateMachineTest.cpp
|
| index 244f72e9399864a6c60ebeabc399fa9881d6d972..f87132fc4ab391615b639ac3e893e46f9746c1d7 100644
|
| --- a/third_party/WebKit/Source/core/editing/BackspaceStateMachineTest.cpp
|
| +++ b/third_party/WebKit/Source/core/editing/BackspaceStateMachineTest.cpp
|
| @@ -8,35 +8,38 @@
|
|
|
| namespace blink {
|
|
|
| +constexpr BackspaceStateMachine::State NeedMoreCodeUnit = BackspaceStateMachine::State::NeedMoreCodeUnit;
|
| +constexpr BackspaceStateMachine::State Finished = BackspaceStateMachine::State::Finished;
|
| +
|
| TEST(BackspaceStateMachineTest, DoNothingCase)
|
| {
|
| BackspaceStateMachine machine;
|
| - EXPECT_EQ(0, machine.finalizeAndGetCodeUnitCountToBeDeleted());
|
| - EXPECT_EQ(0, machine.finalizeAndGetCodeUnitCountToBeDeleted());
|
| + EXPECT_EQ(0, machine.finalizeAndGetBoundaryOffset());
|
| + EXPECT_EQ(0, machine.finalizeAndGetBoundaryOffset());
|
| }
|
|
|
| TEST(BackspaceStateMachineTest, SingleCharacter)
|
| {
|
| BackspaceStateMachine machine;
|
| - EXPECT_TRUE(machine.updateState('a'));
|
| - EXPECT_EQ(1, machine.finalizeAndGetCodeUnitCountToBeDeleted());
|
| - EXPECT_EQ(1, machine.finalizeAndGetCodeUnitCountToBeDeleted());
|
| + EXPECT_EQ(Finished, machine.feedPrecedingCodeUnit('a'));
|
| + EXPECT_EQ(-1, machine.finalizeAndGetBoundaryOffset());
|
| + EXPECT_EQ(-1, machine.finalizeAndGetBoundaryOffset());
|
|
|
| machine.reset();
|
| - EXPECT_TRUE(machine.updateState('-'));
|
| - EXPECT_EQ(1, machine.finalizeAndGetCodeUnitCountToBeDeleted());
|
| - EXPECT_EQ(1, machine.finalizeAndGetCodeUnitCountToBeDeleted());
|
| + EXPECT_EQ(Finished, machine.feedPrecedingCodeUnit('-'));
|
| + EXPECT_EQ(-1, machine.finalizeAndGetBoundaryOffset());
|
| + EXPECT_EQ(-1, machine.finalizeAndGetBoundaryOffset());
|
|
|
| machine.reset();
|
| - EXPECT_TRUE(machine.updateState('\t'));
|
| - EXPECT_EQ(1, machine.finalizeAndGetCodeUnitCountToBeDeleted());
|
| - EXPECT_EQ(1, machine.finalizeAndGetCodeUnitCountToBeDeleted());
|
| + EXPECT_EQ(Finished, machine.feedPrecedingCodeUnit('\t'));
|
| + EXPECT_EQ(-1, machine.finalizeAndGetBoundaryOffset());
|
| + EXPECT_EQ(-1, machine.finalizeAndGetBoundaryOffset());
|
|
|
| machine.reset();
|
| // U+3042 HIRAGANA LETTER A.
|
| - EXPECT_TRUE(machine.updateState(0x3042));
|
| - EXPECT_EQ(1, machine.finalizeAndGetCodeUnitCountToBeDeleted());
|
| - EXPECT_EQ(1, machine.finalizeAndGetCodeUnitCountToBeDeleted());
|
| + EXPECT_EQ(Finished, machine.feedPrecedingCodeUnit(0x3042));
|
| + EXPECT_EQ(-1, machine.finalizeAndGetBoundaryOffset());
|
| + EXPECT_EQ(-1, machine.finalizeAndGetBoundaryOffset());
|
| }
|
|
|
| TEST(BackspaceStateMachineTest, SurrogatePair)
|
| @@ -47,35 +50,35 @@ TEST(BackspaceStateMachineTest, SurrogatePair)
|
| uint16_t leadSurrogate = 0xD83D;
|
| uint16_t trailSurrogate = 0xDDFA;
|
|
|
| - EXPECT_FALSE(machine.updateState(trailSurrogate));
|
| - EXPECT_TRUE(machine.updateState(leadSurrogate));
|
| - EXPECT_EQ(2, machine.finalizeAndGetCodeUnitCountToBeDeleted());
|
| - EXPECT_EQ(2, machine.finalizeAndGetCodeUnitCountToBeDeleted());
|
| + EXPECT_EQ(NeedMoreCodeUnit, machine.feedPrecedingCodeUnit(trailSurrogate));
|
| + EXPECT_EQ(Finished, machine.feedPrecedingCodeUnit(leadSurrogate));
|
| + EXPECT_EQ(-2, machine.finalizeAndGetBoundaryOffset());
|
| + EXPECT_EQ(-2, machine.finalizeAndGetBoundaryOffset());
|
|
|
| // Edge cases
|
| // Unpaired trailing surrogate. Delete only broken trail surrogate.
|
| machine.reset();
|
| - EXPECT_FALSE(machine.updateState(trailSurrogate));
|
| - EXPECT_EQ(1, machine.finalizeAndGetCodeUnitCountToBeDeleted());
|
| - EXPECT_EQ(1, machine.finalizeAndGetCodeUnitCountToBeDeleted());
|
| + EXPECT_EQ(NeedMoreCodeUnit, machine.feedPrecedingCodeUnit(trailSurrogate));
|
| + EXPECT_EQ(-1, machine.finalizeAndGetBoundaryOffset());
|
| + EXPECT_EQ(-1, machine.finalizeAndGetBoundaryOffset());
|
|
|
| machine.reset();
|
| - EXPECT_FALSE(machine.updateState(trailSurrogate));
|
| - EXPECT_TRUE(machine.updateState('a'));
|
| - EXPECT_EQ(1, machine.finalizeAndGetCodeUnitCountToBeDeleted());
|
| - EXPECT_EQ(1, machine.finalizeAndGetCodeUnitCountToBeDeleted());
|
| + EXPECT_EQ(NeedMoreCodeUnit, machine.feedPrecedingCodeUnit(trailSurrogate));
|
| + EXPECT_EQ(Finished, machine.feedPrecedingCodeUnit('a'));
|
| + EXPECT_EQ(-1, machine.finalizeAndGetBoundaryOffset());
|
| + EXPECT_EQ(-1, machine.finalizeAndGetBoundaryOffset());
|
|
|
| machine.reset();
|
| - EXPECT_FALSE(machine.updateState(trailSurrogate));
|
| - EXPECT_TRUE(machine.updateState(trailSurrogate));
|
| - EXPECT_EQ(1, machine.finalizeAndGetCodeUnitCountToBeDeleted());
|
| - EXPECT_EQ(1, machine.finalizeAndGetCodeUnitCountToBeDeleted());
|
| + EXPECT_EQ(NeedMoreCodeUnit, machine.feedPrecedingCodeUnit(trailSurrogate));
|
| + EXPECT_EQ(Finished, machine.feedPrecedingCodeUnit(trailSurrogate));
|
| + EXPECT_EQ(-1, machine.finalizeAndGetBoundaryOffset());
|
| + EXPECT_EQ(-1, machine.finalizeAndGetBoundaryOffset());
|
|
|
| // Unpaired leading surrogate. Delete only broken lead surrogate.
|
| machine.reset();
|
| - EXPECT_TRUE(machine.updateState(leadSurrogate));
|
| - EXPECT_EQ(1, machine.finalizeAndGetCodeUnitCountToBeDeleted());
|
| - EXPECT_EQ(1, machine.finalizeAndGetCodeUnitCountToBeDeleted());
|
| + EXPECT_EQ(Finished, machine.feedPrecedingCodeUnit(leadSurrogate));
|
| + EXPECT_EQ(-1, machine.finalizeAndGetBoundaryOffset());
|
| + EXPECT_EQ(-1, machine.finalizeAndGetBoundaryOffset());
|
| }
|
|
|
| } // namespace blink
|
|
|