Files
processing4/java/test/processing/mode/java/pdex/util/TabLineFactoryTest.java
A Samuel Pottinger ee299ef935 Move to ANTLR 4 with Java 11 lang features and localization. (#5)
* Move to ANTLR 4 with Java 11 lang features and localization.

Introduces ANTLR4 and Java 8 language feature support within IDE while also adding additional hooks for localization of syntax error messages, addressing https://github.com/processing/processing/issues/3054 and https://github.com/processing/processing/issues/3055.

The PR is broadly a continuation of https://github.com/processing/processing/issues/3055, bringing it up to speed with the latest Processing master plus the changes introduced at https://github.com/processing/processing/pull/5753. **Requires https://github.com/processing/processing/pull/5753 as pre-requisite.** This introduces a number of edits beyond https://github.com/processing/processing/issues/3055 beyond compatibility with current Processing master and https://github.com/processing/processing/pull/5753 including:

 - Update to the grammar itself
 - Change ANTLR listeners to emit `TextTransform.Edit` to unify JDT-based `PreprocessingService` and `JavaBuild`, removing code with duplicate purpose.
 - Introduction of syntax error rewriting with support for localization.
 - Addition of complete localized strings set for English and Spanish.
 - Addition of partial localized strings set for other languages.
 - Refactor of ANTLR-related code for testability and readability
 - Expansion of tests including full parse tests for new Java features (type inference, lambdas).

* Ask travis for ant upgrade prior to run.

* Ask Travis for java11 update.

* Add openjdk ppa

* Travis no confirmation on add ppa.

* Force newer ant on travis.

* Swtich ant download to www-us mirror.

* Switch ant to 1.10.7

* Start x for unit tests in travis.

* More complete start x in travis.

* Revert x in travis.

* Try x in services.
2019-10-05 23:34:38 -07:00

51 lines
1.0 KiB
Java

package processing.mode.java.pdex.util;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
import static org.junit.Assert.*;
public class TabLineFactoryTest {
private List<Integer> starts;
@Before
public void setUp() {
starts = new ArrayList<>();
starts.add(0);
starts.add(5);
starts.add(10);
}
@Test
public void getTabStart() {
Assert.assertEquals(0, TabLineFactory.getTab(starts, 0).getTab());
}
@Test
public void getTabMiddleFrontEdge() {
Assert.assertEquals(1, TabLineFactory.getTab(starts, 5).getTab());
}
@Test
public void getTabMiddle() {
TabLine tabLine = TabLineFactory.getTab(starts, 7);
Assert.assertEquals(1, tabLine.getTab());
Assert.assertEquals(2, tabLine.getLineInTab());
}
@Test
public void getTabMiddleBackEdge() {
Assert.assertEquals(2, TabLineFactory.getTab(starts, 10).getTab());
}
@Test
public void getTabEnd() {
Assert.assertEquals(2, TabLineFactory.getTab(starts, 15).getTab());
}
}