Simplify CodeMirror wrapper JSNI
LineCharacter (aka {from, to} objects) is the same as Pos in
CodeMirror. The CodeMirror documentation suggests using a Pos
object in a number of function calls, but it can be unclear this
is the LineCharacter wrapper in Gerrit
Rename LineCharacter to Pos, and change its factory methods to
construct using CodeMirror.Pos(line, ch) so instances are of the
type CodeMirror expects internally.
Simplify accessor methods by dropping the get/set Java idiom and
use the field name as the method name. Argument overloading makes
it possible to identify between a get and a set variant. This makes
these lightweight JSNI wrappers feel more like an @AutoValue object
or raw JavaScript code that they are interacting with.
Change-Id: If73536652cc5559fcef5b2519cb686460a126ff5
This commit is contained in:
@@ -22,7 +22,7 @@ import com.google.gwt.core.client.JsArrayString;
|
||||
import com.googlecode.gwt.test.GwtModule;
|
||||
import com.googlecode.gwt.test.GwtTest;
|
||||
|
||||
import net.codemirror.lib.LineCharacter;
|
||||
import net.codemirror.lib.Pos;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
@@ -35,8 +35,8 @@ import org.junit.Test;
|
||||
public class EditIteratorTest extends GwtTest {
|
||||
private JsArrayString lines;
|
||||
|
||||
private void assertLineChsEqual(LineCharacter a, LineCharacter b) {
|
||||
assertEquals(a.getLine() + "," + a.getCh(), b.getLine() + "," + b.getCh());
|
||||
private void assertLineChsEqual(Pos a, Pos b) {
|
||||
assertEquals(a.line() + "," + a.ch(), b.line() + "," + b.ch());
|
||||
}
|
||||
|
||||
@Before
|
||||
@@ -50,57 +50,57 @@ public class EditIteratorTest extends GwtTest {
|
||||
@Test
|
||||
public void testNegativeAdvance() {
|
||||
EditIterator i = new EditIterator(lines, 0);
|
||||
assertLineChsEqual(LineCharacter.create(1, 1), i.advance(5));
|
||||
assertLineChsEqual(LineCharacter.create(0, 3), i.advance(-2));
|
||||
assertLineChsEqual(Pos.create(1, 1), i.advance(5));
|
||||
assertLineChsEqual(Pos.create(0, 3), i.advance(-2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNoAdvance() {
|
||||
EditIterator iter = new EditIterator(lines, 0);
|
||||
assertLineChsEqual(LineCharacter.create(0), iter.advance(0));
|
||||
assertLineChsEqual(Pos.create(0), iter.advance(0));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSimpleAdvance() {
|
||||
EditIterator iter = new EditIterator(lines, 0);
|
||||
assertLineChsEqual(LineCharacter.create(0, 1), iter.advance(1));
|
||||
assertLineChsEqual(Pos.create(0, 1), iter.advance(1));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEndsBeforeNewline() {
|
||||
EditIterator iter = new EditIterator(lines, 0);
|
||||
assertLineChsEqual(LineCharacter.create(0, 3), iter.advance(3));
|
||||
assertLineChsEqual(Pos.create(0, 3), iter.advance(3));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEndsOnNewline() {
|
||||
EditIterator iter = new EditIterator(lines, 0);
|
||||
assertLineChsEqual(LineCharacter.create(1), iter.advance(4));
|
||||
assertLineChsEqual(Pos.create(1), iter.advance(4));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAcrossNewline() {
|
||||
EditIterator iter = new EditIterator(lines, 0);
|
||||
assertLineChsEqual(LineCharacter.create(1, 1), iter.advance(5));
|
||||
assertLineChsEqual(Pos.create(1, 1), iter.advance(5));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testContinueFromBeforeNewline() {
|
||||
EditIterator iter = new EditIterator(lines, 0);
|
||||
iter.advance(3);
|
||||
assertLineChsEqual(LineCharacter.create(2, 2), iter.advance(7));
|
||||
assertLineChsEqual(Pos.create(2, 2), iter.advance(7));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testContinueFromAfterNewline() {
|
||||
EditIterator iter = new EditIterator(lines, 0);
|
||||
iter.advance(4);
|
||||
assertLineChsEqual(LineCharacter.create(2, 2), iter.advance(6));
|
||||
assertLineChsEqual(Pos.create(2, 2), iter.advance(6));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAcrossMultipleLines() {
|
||||
EditIterator iter = new EditIterator(lines, 0);
|
||||
assertLineChsEqual(LineCharacter.create(2, 2), iter.advance(10));
|
||||
assertLineChsEqual(Pos.create(2, 2), iter.advance(10));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user