-
Bug
-
Resolution: Fixed
-
P2
-
7
-
b15
-
generic
-
generic
-
Verified
JCK: JCK-runtime-6 b36
J2SE: FAIL - JDK 7 b07,b08 PASS JDK 6 b104 JDK 7 b06
Platform[s]: FAIL - all
switch/Mode: FAIL - default
Test api/javax_swing/text/html/parser/Parser/index.html#handle[Parser2010] fails on jdk7 b07 with the following message:
java.lang.NullPointerException
at javax.swing.text.html.parser.Parser.startTag(Parser.java:385)
at javasoft.sqe.tests.api.javax.swing.text.html.parser.Parser.StubParser.startTag(StubParser.java:48)
at javax.swing.text.html.parser.Parser.parseTag(Parser.java:1926)
at javax.swing.text.html.parser.Parser.parseContent(Parser.java:2044)
at javax.swing.text.html.parser.Parser.parse(Parser.java:2211)
at javasoft.sqe.tests.api.javax.swing.text.html.parser.Parser.handleTests.Parser2010(handleTests.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:606)
at javasoft.sqe.javatest.lib.MultiTest.invokeTestCase(MultiTest.java:406)
at javasoft.sqe.jck.lib.EDTest.access$001(EDTest.java:31)
at javasoft.sqe.jck.lib.EDTest$1.run(EDTest.java:45)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:595)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Parser2009: Passed. OKAY
Parser2010: Failed. protected void handleEmptyTag(TagElement tag) throws ChangedCharSetException Test Failed
Parser2011: Passed. OKAY
Parser2012: Passed. OKAY
Parser2013: Passed. OKAY
Parser2014: Passed. OKAY
Parser2015: Passed. OKAY
Parser2016: Passed. OKAY
steps to reproduce:
import java.io.PrintWriter;
import java.io.StringReader;
import javax.swing.text.html.parser.*;
public class ParseTest{
public static void main(String[] args)
{
try {
StubParser c = new StubParser(new DTD("TestName"){});
c.parse(new StringReader("<b>"));
if(!(c.emptyTagCount == 1))
{
System.out.println(" protected void handleEmptyTag(TagElement tag) throws ChangedCharSetException Test Failed ");
return;
}
}catch(Exception e){
e.printStackTrace();
return;
}
System.out.println(" OK ");
return;
}
}
import java.io.IOException;
import javax.swing.text.html.parser.DTD;
import javax.swing.text.html.parser.Parser;
import javax.swing.text.html.parser.Element;
import javax.swing.text.html.parser.TagElement;
import javax.swing.text.SimpleAttributeSet;
import javax.swing.text.ChangedCharSetException;
class StubParser extends Parser {
public String errorMsg = "";
public String title = "";
public String text = "";
public String comment = "";
public int tagCountStart = 0;
public int tagCountEnd = 0;
public int emptyTagCount = 0;
public int endTagCount = 0;
public int startTagCount = 0;
public int eofInComment = 0;
public boolean testDTDMarkup = false;
public String strDTDMarkup = "";
public int currentLine = 0;
public int currentPos = 0;
boolean currentLineOnComment = false;
boolean currentPosOnText = false;
public StubParser(DTD dtd) {
super( dtd);
}
public DTD getDTD() {
return super.dtd;
}
protected void startTag(TagElement tag) throws ChangedCharSetException {
tagCountStart++;
super.startTag( tag);
}
protected void endTag(boolean omitted) {
tagCountEnd++;
super.endTag( omitted);
}
protected void handleComment(char[] text) {
if(testDTDMarkup) {
try {
strDTDMarkup = parseDTDMarkup();
} catch(IOException ioe) {
strDTDMarkup = "Exception ioe has been thrown";
}
} else {
if(currentLineOnComment) {
currentLine = getCurrentLine();
} else {
comment = new String( text);
super.handleComment( text);
}
}
}
protected void handleEmptyTag(TagElement tag) throws ChangedCharSetException {
emptyTagCount++;
super.handleEmptyTag( tag);
}
protected void handleEndTag(TagElement tag) {
endTagCount++;
super.handleEndTag( tag);
}
protected void handleEOFInComment() {
eofInComment++;
super.handleEOFInComment();
}
protected void handleError(int ln, String msg) {
errorMsg = msg;
super.handleError( ln, msg);
}
protected void handleText(char[] ctext) {
if(currentPosOnText) {
currentPos = getCurrentPos();
}
text = new String( ctext);
super.handleText( ctext);
}
protected void handleTitle(char[] text) {
title = new String( text);
super.handleTitle( text);
}
protected void handleStartTag(TagElement tag) {
startTagCount++;
super.handleStartTag( tag);
}
protected boolean parseMarkupDeclarations(StringBuffer strBuff) throws IOException {
return super.parseMarkupDeclarations( strBuff);
}
public String parseDTDMarkup() throws IOException {
if( testDTDMarkup ) {
return super.parseDTDMarkup();
}
return "";
}
public TagElement makeTag(Element elem, boolean fictional) {
return super.makeTag( elem, fictional);
}
public TagElement makeTag(Element elem) {
return super.makeTag( elem);
}
public SimpleAttributeSet getAttributes() {
return super.getAttributes();
}
public void flushAttributes() {
super.flushAttributes();
}
public void error(String str) {
super.error( str);
}
public void error(String str, String str1) {
super.error( str, str1);
}
public void error(String str, String str1, String str2) {
super.error( str, str1, str2);
}
public void error(String str, String str1, String str2, String str3) {
super.error( str, str1, str2, str3);
}
public int getTagCount() {
return tagCountStart + tagCountEnd;
}
public String getErrorMessage() {
return errorMsg;
}
public void returnCurrentLineOnComment(boolean currLine) {
this.currentLineOnComment = currLine;
}
public void returnCurrentPosOnText(boolean currPos) {
this.currentPosOnText = currPos;
}
}
on JDK 7 b07 test returns:
C:\tests\Parser>Z:\Links\stt\jdk_promotions\JDK7.0\b08\binaries\windows-i586\jdk
java.lang.NullPointerException
at javax.swing.text.html.parser.Parser.startTag(Parser.java:385)
at StubParser.startTag(StubParser.java:39)
at javax.swing.text.html.parser.Parser.parseTag(Parser.java:1926)
at javax.swing.text.html.parser.Parser.parseContent(Parser.java:2044)
at javax.swing.text.html.parser.Parser.parse(Parser.java:2211)
at ParseTest.main(ParseTest.java:17)
protected void handleEmptyTag(TagElement tag) throws ChangedCharSetException Test Failed
J2SE: FAIL - JDK 7 b07,b08 PASS JDK 6 b104 JDK 7 b06
Platform[s]: FAIL - all
switch/Mode: FAIL - default
Test api/javax_swing/text/html/parser/Parser/index.html#handle[Parser2010] fails on jdk7 b07 with the following message:
java.lang.NullPointerException
at javax.swing.text.html.parser.Parser.startTag(Parser.java:385)
at javasoft.sqe.tests.api.javax.swing.text.html.parser.Parser.StubParser.startTag(StubParser.java:48)
at javax.swing.text.html.parser.Parser.parseTag(Parser.java:1926)
at javax.swing.text.html.parser.Parser.parseContent(Parser.java:2044)
at javax.swing.text.html.parser.Parser.parse(Parser.java:2211)
at javasoft.sqe.tests.api.javax.swing.text.html.parser.Parser.handleTests.Parser2010(handleTests.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:606)
at javasoft.sqe.javatest.lib.MultiTest.invokeTestCase(MultiTest.java:406)
at javasoft.sqe.jck.lib.EDTest.access$001(EDTest.java:31)
at javasoft.sqe.jck.lib.EDTest$1.run(EDTest.java:45)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:595)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Parser2009: Passed. OKAY
Parser2010: Failed. protected void handleEmptyTag(TagElement tag) throws ChangedCharSetException Test Failed
Parser2011: Passed. OKAY
Parser2012: Passed. OKAY
Parser2013: Passed. OKAY
Parser2014: Passed. OKAY
Parser2015: Passed. OKAY
Parser2016: Passed. OKAY
steps to reproduce:
import java.io.PrintWriter;
import java.io.StringReader;
import javax.swing.text.html.parser.*;
public class ParseTest{
public static void main(String[] args)
{
try {
StubParser c = new StubParser(new DTD("TestName"){});
c.parse(new StringReader("<b>"));
if(!(c.emptyTagCount == 1))
{
System.out.println(" protected void handleEmptyTag(TagElement tag) throws ChangedCharSetException Test Failed ");
return;
}
}catch(Exception e){
e.printStackTrace();
return;
}
System.out.println(" OK ");
return;
}
}
import java.io.IOException;
import javax.swing.text.html.parser.DTD;
import javax.swing.text.html.parser.Parser;
import javax.swing.text.html.parser.Element;
import javax.swing.text.html.parser.TagElement;
import javax.swing.text.SimpleAttributeSet;
import javax.swing.text.ChangedCharSetException;
class StubParser extends Parser {
public String errorMsg = "";
public String title = "";
public String text = "";
public String comment = "";
public int tagCountStart = 0;
public int tagCountEnd = 0;
public int emptyTagCount = 0;
public int endTagCount = 0;
public int startTagCount = 0;
public int eofInComment = 0;
public boolean testDTDMarkup = false;
public String strDTDMarkup = "";
public int currentLine = 0;
public int currentPos = 0;
boolean currentLineOnComment = false;
boolean currentPosOnText = false;
public StubParser(DTD dtd) {
super( dtd);
}
public DTD getDTD() {
return super.dtd;
}
protected void startTag(TagElement tag) throws ChangedCharSetException {
tagCountStart++;
super.startTag( tag);
}
protected void endTag(boolean omitted) {
tagCountEnd++;
super.endTag( omitted);
}
protected void handleComment(char[] text) {
if(testDTDMarkup) {
try {
strDTDMarkup = parseDTDMarkup();
} catch(IOException ioe) {
strDTDMarkup = "Exception ioe has been thrown";
}
} else {
if(currentLineOnComment) {
currentLine = getCurrentLine();
} else {
comment = new String( text);
super.handleComment( text);
}
}
}
protected void handleEmptyTag(TagElement tag) throws ChangedCharSetException {
emptyTagCount++;
super.handleEmptyTag( tag);
}
protected void handleEndTag(TagElement tag) {
endTagCount++;
super.handleEndTag( tag);
}
protected void handleEOFInComment() {
eofInComment++;
super.handleEOFInComment();
}
protected void handleError(int ln, String msg) {
errorMsg = msg;
super.handleError( ln, msg);
}
protected void handleText(char[] ctext) {
if(currentPosOnText) {
currentPos = getCurrentPos();
}
text = new String( ctext);
super.handleText( ctext);
}
protected void handleTitle(char[] text) {
title = new String( text);
super.handleTitle( text);
}
protected void handleStartTag(TagElement tag) {
startTagCount++;
super.handleStartTag( tag);
}
protected boolean parseMarkupDeclarations(StringBuffer strBuff) throws IOException {
return super.parseMarkupDeclarations( strBuff);
}
public String parseDTDMarkup() throws IOException {
if( testDTDMarkup ) {
return super.parseDTDMarkup();
}
return "";
}
public TagElement makeTag(Element elem, boolean fictional) {
return super.makeTag( elem, fictional);
}
public TagElement makeTag(Element elem) {
return super.makeTag( elem);
}
public SimpleAttributeSet getAttributes() {
return super.getAttributes();
}
public void flushAttributes() {
super.flushAttributes();
}
public void error(String str) {
super.error( str);
}
public void error(String str, String str1) {
super.error( str, str1);
}
public void error(String str, String str1, String str2) {
super.error( str, str1, str2);
}
public void error(String str, String str1, String str2, String str3) {
super.error( str, str1, str2, str3);
}
public int getTagCount() {
return tagCountStart + tagCountEnd;
}
public String getErrorMessage() {
return errorMsg;
}
public void returnCurrentLineOnComment(boolean currLine) {
this.currentLineOnComment = currLine;
}
public void returnCurrentPosOnText(boolean currPos) {
this.currentPosOnText = currPos;
}
}
on JDK 7 b07 test returns:
C:\tests\Parser>Z:\Links\stt\jdk_promotions\JDK7.0\b08\binaries\windows-i586\jdk
java.lang.NullPointerException
at javax.swing.text.html.parser.Parser.startTag(Parser.java:385)
at StubParser.startTag(StubParser.java:39)
at javax.swing.text.html.parser.Parser.parseTag(Parser.java:1926)
at javax.swing.text.html.parser.Parser.parseContent(Parser.java:2044)
at javax.swing.text.html.parser.Parser.parse(Parser.java:2211)
at ParseTest.main(ParseTest.java:17)
protected void handleEmptyTag(TagElement tag) throws ChangedCharSetException Test Failed