| 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..f95be42a304ef14b7110e97704ca0b8d8b770df7 100644
|
| --- a/third_party/WebKit/Source/core/editing/BackspaceStateMachineTest.cpp
|
| +++ b/third_party/WebKit/Source/core/editing/BackspaceStateMachineTest.cpp
|
| @@ -8,35 +8,40 @@
|
|
|
| namespace blink {
|
|
|
| +namespace {
|
| +const MachineState NeedMoreCodeUnit = MachineState::NeedMoreCodeUnit;
|
| +const MachineState Finished = MachineState::Finished;
|
| +} // namespace
|
| +
|
| 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 +52,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
|
|
|