diff --git a/sqldev/pom.xml b/sqldev/pom.xml
index 7cccd0d2..75b634b5 100644
--- a/sqldev/pom.xml
+++ b/sqldev/pom.xml
@@ -5,7 +5,7 @@
org.utplsql
org.utplsql.sqldev
- 1.1.0
+ 1.1.1-SNAPSHOT
bundle
UTF-8
diff --git a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Expectation.xtend b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Expectation.xtend
index b39d5577..67d7cc19 100644
--- a/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Expectation.xtend
+++ b/sqldev/src/main/java/org/utplsql/sqldev/model/runner/Expectation.xtend
@@ -28,7 +28,7 @@ class Expectation extends AbstractModel {
def getFailureText() {
return '''
«message.trim»
- «caller.trim»
+ «caller?.trim»
'''.toString.trim
}
@@ -38,10 +38,12 @@ class Expectation extends AbstractModel {
def getCallerLine() {
var Integer line = null
- val p = Pattern.compile("(?i)\"[^\\\"]+\",\\s+line\\s*([0-9]+)")
- val m = p.matcher(caller)
- if (m.find) {
- line = Integer.valueOf(m.group(1))
+ if (caller !== null) {
+ val p = Pattern.compile("(?i)\"[^\\\"]+\",\\s+line\\s*([0-9]+)")
+ val m = p.matcher(caller)
+ if (m.find) {
+ line = Integer.valueOf(m.group(1))
+ }
}
return line
}
diff --git a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend
index 5ebc2cf1..e1ce9192 100644
--- a/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend
+++ b/sqldev/src/main/java/org/utplsql/sqldev/ui/runner/RunnerPanel.xtend
@@ -66,6 +66,7 @@ import org.utplsql.sqldev.dal.UtplsqlDao
import org.utplsql.sqldev.model.LimitedLinkedHashMap
import org.utplsql.sqldev.model.preference.PreferenceModel
import org.utplsql.sqldev.model.runner.Run
+import org.utplsql.sqldev.model.runner.Test
import org.utplsql.sqldev.parser.UtplsqlParser
import org.utplsql.sqldev.resources.UtplsqlResources
import org.utplsql.sqldev.runner.UtplsqlRunner
@@ -248,17 +249,21 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener {
}
sorter.rowFilter = filter
}
+
+ private def openTest(Test test) {
+ val dao = new UtplsqlDao(Connections.instance.getConnection(currentRun.connectionName))
+ val source = dao.getSource(test.ownerName, "PACKAGE", test.objectName.toUpperCase).trim
+ val parser = new UtplsqlParser(source)
+ val line = parser.getLineOf(test.procedureName)
+ openEditor(test.ownerName, "PACKAGE", test.objectName.toUpperCase, line, 1)
+ }
private def openSelectedTest() {
val rowIndex = testOverviewTable.selectedRow
if (rowIndex != -1) {
val row = testOverviewTable.convertRowIndexToModel(rowIndex)
val test = testOverviewTableModel.getTest(row)
- val dao = new UtplsqlDao(Connections.instance.getConnection(currentRun.connectionName))
- val source = dao.getSource(test.ownerName, "PACKAGE", test.objectName.toUpperCase).trim
- val parser = new UtplsqlParser(source)
- val line = parser.getLineOf(test.procedureName)
- openEditor(test.ownerName, "PACKAGE", test.objectName.toUpperCase, line, 1)
+ openTest(test)
}
}
@@ -268,7 +273,12 @@ class RunnerPanel implements ActionListener, MouseListener, HyperlinkListener {
val row = failuresTable.convertRowIndexToModel(rowIndex)
val expectation = failuresTableModel.getExpectation(row)
val test = testOverviewTableModel.getTest(testOverviewTable.convertRowIndexToModel(testOverviewTable.selectedRow))
- openEditor(test.ownerName, "PACKAGE BODY", test.objectName.toUpperCase, expectation.callerLine, 1)
+ val callerLine = expectation.callerLine
+ if (callerLine !== null) {
+ openEditor(test.ownerName, "PACKAGE BODY", test.objectName.toUpperCase, expectation.callerLine, 1)
+ } else {
+ openTest(test)
+ }
}
}
diff --git a/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend b/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend
index ccf52469..f27a116d 100644
--- a/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend
+++ b/sqldev/src/test/java/org/utplsql/sqldev/test/dal/DalTest.xtend
@@ -399,11 +399,11 @@ class DalTest extends AbstractJdbcTest {
Assert.assertEquals("SCOTT:a", actual.get("SCOTT:a.b"))
Assert.assertEquals("SCOTT:a.b", actual.get("SCOTT:a.b.c"))
Assert.assertEquals("SCOTT:a.b.c", actual.get("SCOTT:a.b.c.junit_utplsql_test_pkg"))
- Assert.assertEquals("SCOTT:a.b.c.junit_utplsql_test_pkg", actual.get("SCOTT:a.b.c.junit_utplsql_test_pkg.myContext"))
+ Assert.assertEquals("SCOTT:a.b.c.junit_utplsql_test_pkg.nested_context_#", actual.get("SCOTT:a.b.c.junit_utplsql_test_pkg.nested_context_#1"))
Assert.assertEquals("SCOTT:a.b.c.junit_utplsql_test_pkg", actual.get("SCOTT:a.b.c.junit_utplsql_test_pkg.t0"))
Assert.assertEquals("SCOTT:a.b.c.junit_utplsql_test_pkg", actual.get("SCOTT:a.b.c.junit_utplsql_test_pkg.t3"))
- Assert.assertEquals("SCOTT:a.b.c.junit_utplsql_test_pkg.myContext", actual.get("SCOTT:a.b.c.junit_utplsql_test_pkg.myContext.t1"))
- Assert.assertEquals("SCOTT:a.b.c.junit_utplsql_test_pkg.myContext", actual.get("SCOTT:a.b.c.junit_utplsql_test_pkg.myContext.t2"))
+ Assert.assertEquals("SCOTT:a.b.c.junit_utplsql_test_pkg.nested_context_#1", actual.get("SCOTT:a.b.c.junit_utplsql_test_pkg.nested_context_#1.t1"))
+ Assert.assertEquals("SCOTT:a.b.c.junit_utplsql_test_pkg.nested_context_#1", actual.get("SCOTT:a.b.c.junit_utplsql_test_pkg.nested_context_#1.t2"))
}
@Test
@@ -489,7 +489,7 @@ class DalTest extends AbstractJdbcTest {
val actualEmpty = dao.includes('SCOTT', 'TEST_F1')
Assert.assertEquals(#[], actualEmpty)
val actual = dao.includes('SCOTT', 'junit_utplsql_test_pkg')
- Assert.assertEquals(#['SCOTT.JUNIT_UTPLSQL_TEST_PKG','SCOTT.JUNIT_F','UT3_LATEST_RELEASE.UT_EXPECTATION'].sort, actual.sort)
+ Assert.assertEquals(#['SCOTT.JUNIT_UTPLSQL_TEST_PKG','SCOTT.JUNIT_F','UT3_LATEST_RELEASE.UT_DATA_VALUE','UT3_LATEST_RELEASE.UT_EXPECTATION'].sort, actual.sort)
}
@Test