package com.google.jstestdriver.idea.rt;
import com.google.jstestdriver.idea.JstdTestRoot;
import com.google.jstestdriver.idea.common.JsErrorMessage;
import junit.framework.TestCase;
import java.io.File;
public class JsErrorMessageTest extends TestCase {
private File myBasePath;
public void setUp() throws Exception {
super.setUp();
myBasePath = JstdTestRoot.getTestDataDir();
}
public void testReferenceErrorParsing() throws Exception {
String text = "error loading file: /test/assertFramework/jstd/structure/emptyTestCase.js:2: Uncaught ReferenceError: gg is not defined";
JsErrorMessage errorMessage = JsErrorMessage.parseFromText(text, myBasePath);
assertNotNull(errorMessage);
assertEquals(new File(myBasePath, "assertFramework/jstd/structure/emptyTestCase.js"), errorMessage.getFileWithError());
assertEquals(2, errorMessage.getLineNumber());
assertEquals(null, errorMessage.getColumnNumber());
assertEquals("Uncaught ReferenceError", errorMessage.getErrorName());
}
public void testStrangeErrorName() throws Exception {
String text = "error loading file: /test/assertFramework/jstd/structure/emptyTestCase.js:1: Uncaught #<Object>";
JsErrorMessage errorMessage = JsErrorMessage.parseFromText(text, myBasePath);
assertNotNull(errorMessage);
assertEquals(new File(myBasePath, "assertFramework/jstd/structure/emptyTestCase.js"), errorMessage.getFileWithError());
assertEquals(1, errorMessage.getLineNumber());
assertEquals(null, errorMessage.getColumnNumber());
assertEquals("Uncaught Error", errorMessage.getErrorName());
}
public void testColumnNumber() throws Exception {
String text = "error loading file: /test/assertFramework/jstd/structure/emptyTestCase.js:1:10: Uncaught ReferenceError";
JsErrorMessage errorMessage = JsErrorMessage.parseFromText(text, myBasePath);
assertNotNull(errorMessage);
assertEquals(new File(myBasePath, "assertFramework/jstd/structure/emptyTestCase.js"), errorMessage.getFileWithError());
assertEquals(1, errorMessage.getLineNumber());
assertEquals(new Integer(10), errorMessage.getColumnNumber());
assertEquals("Uncaught ReferenceError", errorMessage.getErrorName());
}
public void testOperaError() throws Exception {
String text = "error loading file: /test/assertFramework/jstd/structure/emptyTestCase.js:1: Uncaught exception: ReferenceError: Undefined variable: gg";
JsErrorMessage errorMessage = JsErrorMessage.parseFromText(text, myBasePath);
assertNotNull(errorMessage);
assertEquals(new File(myBasePath, "assertFramework/jstd/structure/emptyTestCase.js"), errorMessage.getFileWithError());
assertEquals(1, errorMessage.getLineNumber());
assertEquals(null, errorMessage.getColumnNumber());
assertEquals("Uncaught ReferenceError", errorMessage.getErrorName());
}
public void testName() throws Exception {
String text = "error loading file: /test/assertFramework/jstd/structure/emptyTestCase.js:1: ReferenceError: s is not defined";
JsErrorMessage errorMessage = JsErrorMessage.parseFromText(text, myBasePath);
assertNotNull(errorMessage);
assertEquals(new File(myBasePath, "assertFramework/jstd/structure/emptyTestCase.js"), errorMessage.getFileWithError());
assertEquals(1, errorMessage.getLineNumber());
assertEquals(null, errorMessage.getColumnNumber());
assertEquals("ReferenceError", errorMessage.getErrorName());
}
public void testUncaughtError() throws Exception {
String text = "error loading file: /test/assertFramework/jstd/structure/emptyTestCase.js:301: Uncaught Error: xhrFailed";
JsErrorMessage errorMessage = JsErrorMessage.parseFromText(text, myBasePath);
assertNotNull(errorMessage);
assertEquals(new File(myBasePath, "assertFramework/jstd/structure/emptyTestCase.js"), errorMessage.getFileWithError());
assertEquals(301, errorMessage.getLineNumber());
assertEquals(null, errorMessage.getColumnNumber());
assertEquals("Uncaught Error", errorMessage.getErrorName());
}
}