void testBoundary(Document& document, HTMLTextFormControlElement& textControl) { document.updateStyleAndLayout(); for (unsigned i = 0; i < textControl.innerEditorValue().length(); i++) { textControl.setSelectionRange(i, i); Position position = document.frame()->selection().start(); SCOPED_TRACE(::testing::Message() << "offset " << position.computeEditingOffset() << " of " << nodePositionAsStringForTesting(position.anchorNode()) .ascii() .data()); { SCOPED_TRACE("HTMLTextFormControlElement::startOfWord"); testFunctionEquivalence(position, HTMLTextFormControlElement::startOfWord, startOfWord); } { SCOPED_TRACE("HTMLTextFormControlElement::endOfWord"); testFunctionEquivalence(position, HTMLTextFormControlElement::endOfWord, endOfWord); } { SCOPED_TRACE("HTMLTextFormControlElement::startOfSentence"); testFunctionEquivalence(position, HTMLTextFormControlElement::startOfSentence, startOfSentence); } { SCOPED_TRACE("HTMLTextFormControlElement::endOfSentence"); testFunctionEquivalence( position, HTMLTextFormControlElement::endOfSentence, endOfSentence); } } }