br.setClear(STBrClear.Enum.forInt(clear.getValue()));
}
+ /**
+ * Specifies that a tab shall be placed at the current location in
+ * the run content.
+ */
+ public void addTab() {
+ run.addNewTab();
+ }
+
+ public void removeTab() {
+ //TODO
+ }
+
/**
* Specifies that a carriage return shall be placed at the
* current location in the run content.
// This bit works around it, and replicates the above
// rules for that case
String tagName = o.getDomNode().getNodeName();
- if ("w:tab".equals(tagName)) {
+ if ("w:tab".equals(tagName) || "tab".equals(tagName)) {
text.append("\t");
}
- if ("w:br".equals(tagName)) {
+ if ("w:br".equals(tagName) || "br".equals(tagName)) {
text.append("\n");
}
- if ("w:cr".equals(tagName)) {
+ if ("w:cr".equals(tagName) || "cr".equals(tagName)) {
text.append("\n");
}
}
run.setText("T2");
run.addCarriageReturn();
assertEquals(3, run.getCTR().getCrList().size());
+
+ assertEquals("T1\n\nT2\n", run.toString());
+ }
+
+ public void testAddTabsAndLineBreaks() {
+ ctRun.addNewT().setStringValue("TEST STRING");
+ ctRun.addNewCr();
+ ctRun.addNewT().setStringValue("TEST2 STRING");
+ ctRun.addNewTab();
+ ctRun.addNewT().setStringValue("TEST3 STRING");
+ assertEquals(1, ctRun.sizeOfCrArray());
+ assertEquals(1, ctRun.sizeOfTabArray());
+
+ XWPFRun run = new XWPFRun(CTR.Factory.newInstance(), p);
+ run.setText("T1");
+ run.addCarriageReturn();
+ run.setText("T2");
+ run.addTab();
+ run.setText("T3");
+ assertEquals(1, run.getCTR().getCrList().size());
+ assertEquals(1, run.getCTR().getTabList().size());
+
+ assertEquals("T1\nT2\tT3", run.toString());
}
public void testAddPageBreak() {