aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qv4debugger/tst_qv4debugger.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qml/qv4debugger/tst_qv4debugger.cpp')
-rw-r--r--tests/auto/qml/qv4debugger/tst_qv4debugger.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/auto/qml/qv4debugger/tst_qv4debugger.cpp b/tests/auto/qml/qv4debugger/tst_qv4debugger.cpp
index fcbdcbc201..4d155cf012 100644
--- a/tests/auto/qml/qv4debugger/tst_qv4debugger.cpp
+++ b/tests/auto/qml/qv4debugger/tst_qv4debugger.cpp
@@ -287,6 +287,7 @@ private slots:
// exceptions:
void pauseOnThrow();
void breakInCatch();
+ void breakInWith();
void evaluateExpression();
@@ -632,6 +633,23 @@ void tst_qv4debugger::breakInCatch()
QCOMPARE(state.lineNumber, 4);
}
+void tst_qv4debugger::breakInWith()
+{
+ QString script =
+ "with (42) {\n"
+ " console.log('give the answer');\n"
+ "}\n";
+
+ m_debuggerAgent->addBreakPoint("breakInWith", 2);
+ evaluateJavaScript(script, "breakInWith");
+ QVERIFY(m_debuggerAgent->m_wasPaused);
+ QCOMPARE(m_debuggerAgent->m_pauseReason, BreakPoint);
+ QCOMPARE(m_debuggerAgent->m_statesWhenPaused.count(), 1);
+ QV4::Debugging::Debugger::ExecutionState state = m_debuggerAgent->m_statesWhenPaused.first();
+ QCOMPARE(state.fileName, QString("breakInWith"));
+ QCOMPARE(state.lineNumber, 2);
+}
+
void tst_qv4debugger::evaluateExpression()
{
QString script =