public void testReplaceWithSimpleField_previous_page_number_field() {
try {
search = new TextNavigation("ReplaceDateTarget", doc);
// count the initial date field count. should be 1.
OdfContentDom contentDom = doc.getContentDom();
NodeList nodeList1 = contentDom.getElementsByTagName(TextPageNumberElement.ELEMENT_NAME.getQName());
for(int k =0;k<nodeList1.getLength();k++){
//
Node nv = nodeList1.item(k);
NamedNodeMap nameMap = nv.getAttributes();
Node nfix = nameMap.getNamedItem("text:select-page");
nfix.setNodeValue("previous");
}
NodeList nodeList = contentDom.getElementsByTagName(TextPageNumberElement.ELEMENT_NAME.getQName());
int i = nodeList.getLength();
OdfStylesDom styleDom = doc.getStylesDom();
nodeList = styleDom.getElementsByTagName(TextPageNumberElement.ELEMENT_NAME.getQName());
i += nodeList.getLength();
// replace all the 3 "ReplaceDateTarget" to FixedDateField.
while (search.hasNext()) {
TextSelection item = (TextSelection) search.nextSelection();
FieldSelection fieldSelection = new FieldSelection(item);
fieldSelection.replaceWithSimpleField(Field.FieldType.PREVIOUS_PAGE_NUMBER_FIELD);
i++;
}
nodeList = contentDom.getElementsByTagName(TextPageNumberElement.ELEMENT_NAME.getQName());
int j = nodeList.getLength();
nodeList = styleDom.getElementsByTagName(TextPageNumberElement.ELEMENT_NAME.getQName());
j += nodeList.getLength();
Assert.assertEquals(j, i);
doc.save(ResourceUtilities.newTestOutputFile(SAVE_FILE_REPLACE));
//validate
TextDocument doc1 = (TextDocument) Document.loadDocument(ResourceUtilities.getAbsolutePath(SAVE_FILE_REPLACE));
OdfContentDom contentDom1 = doc1.getContentDom();
nodeList = contentDom1.getElementsByTagName(TextPageNumberElement.ELEMENT_NAME.getQName());
for(int k =0;k<nodeList.getLength();k++){
Node nv = nodeList.item(k);
NamedNodeMap nameMap = nv.getAttributes();
Node nfix = nameMap.getNamedItem("text:select-page");
Assert.assertEquals("previous", nfix.getNodeValue());