aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/testlib
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2013-08-06 15:57:54 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2013-08-06 15:59:09 +0200
commit27deff6d2b5a9eb1d98cd7b377ab934a35086664 (patch)
tree4c34e422a8a838c59de68e7017d533cfb56d8eb5 /src/imports/testlib
parent0cca56f30d6a0290841859a58f517cece13d8d81 (diff)
parentf3cbd0b8aa96abfc4b3660df4426ed10b11b18e0 (diff)
Merge branch 'wip/v4' of ssh://codereview.qt-project.org/qt/qtdeclarative into dev
Diffstat (limited to 'src/imports/testlib')
-rw-r--r--src/imports/testlib/main.cpp34
-rw-r--r--src/imports/testlib/plugins.qmltypes6
-rw-r--r--src/imports/testlib/testlib.pro2
3 files changed, 22 insertions, 20 deletions
diff --git a/src/imports/testlib/main.cpp b/src/imports/testlib/main.cpp
index 2ddb9deddc..81dcaa2fc3 100644
--- a/src/imports/testlib/main.cpp
+++ b/src/imports/testlib/main.cpp
@@ -82,7 +82,7 @@ Q_SIGNALS:
public Q_SLOTS:
- QQmlV8Handle typeName(const QVariant& v) const
+ QQmlV4Handle typeName(const QVariant& v) const
{
QString name(v.typeName());
if (v.canConvert<QObject*>()) {
@@ -97,31 +97,33 @@ public Q_SLOTS:
}
}
- return QQmlV8Handle::fromHandle(v8::String::New(name.toUtf8()));
+ QQmlEngine *engine = qmlEngine(this);
+ QV4::ExecutionEngine *v4 = QV8Engine::getV4(engine->handle());
+ return QQmlV4Handle(QV4::Value::fromString(v4->newString(name)));
}
bool compare(const QVariant& act, const QVariant& exp) const {
return act == exp;
}
- QQmlV8Handle callerFile(int frameIndex = 0) const
+ QQmlV4Handle callerFile(int frameIndex = 0) const
{
- v8::Local<v8::StackTrace> stacks = v8::StackTrace::CurrentStackTrace(10, v8::StackTrace::kDetailed);
- int count = stacks->GetFrameCount();
- if (count >= frameIndex + 1) {
- v8::Local<v8::StackFrame> frame = stacks->GetFrame(frameIndex + 1);
- return QQmlV8Handle::fromHandle(frame->GetScriptNameOrSourceURL());
- }
- return QQmlV8Handle();
+ QQmlEngine *engine = qmlEngine(this);
+ QV4::ExecutionEngine *v4 = QV8Engine::getV4(engine->handle());
+
+ QVector<QV4::ExecutionEngine::StackFrame> stack = v4->stackTrace(frameIndex + 1);
+ if (stack.size() > frameIndex)
+ return QQmlV4Handle(QV4::Value::fromString(v4->newString(stack.at(frameIndex).source)));
+ return QQmlV4Handle();
}
int callerLine(int frameIndex = 0) const
{
- v8::Local<v8::StackTrace> stacks = v8::StackTrace::CurrentStackTrace(10, v8::StackTrace::kDetailed);
- int count = stacks->GetFrameCount();
- if (count >= frameIndex + 1) {
- v8::Local<v8::StackFrame> frame = stacks->GetFrame(frameIndex + 1);
- return frame->GetLineNumber();
- }
+ QQmlEngine *engine = qmlEngine(this);
+ QV4::ExecutionEngine *v4 = QV8Engine::getV4(engine->handle());
+
+ QVector<QV4::ExecutionEngine::StackFrame> stack = v4->stackTrace(frameIndex + 1);
+ if (stack.size() > frameIndex)
+ return stack.at(frameIndex).line;
return -1;
}
};
diff --git a/src/imports/testlib/plugins.qmltypes b/src/imports/testlib/plugins.qmltypes
index 7530e490f3..2865812eb2 100644
--- a/src/imports/testlib/plugins.qmltypes
+++ b/src/imports/testlib/plugins.qmltypes
@@ -259,7 +259,7 @@ Module {
Property { name: "dragThreshold"; type: "int"; isReadonly: true }
Method {
name: "typeName"
- type: "QQmlV8Handle"
+ type: "QQmlV4Handle"
Parameter { name: "v"; type: "QVariant" }
}
Method {
@@ -270,10 +270,10 @@ Module {
}
Method {
name: "callerFile"
- type: "QQmlV8Handle"
+ type: "QQmlV4Handle"
Parameter { name: "frameIndex"; type: "int" }
}
- Method { name: "callerFile"; type: "QQmlV8Handle" }
+ Method { name: "callerFile"; type: "QQmlV4Handle" }
Method {
name: "callerLine"
type: "int"
diff --git a/src/imports/testlib/testlib.pro b/src/imports/testlib/testlib.pro
index 56f0ea4806..6e8a6aee72 100644
--- a/src/imports/testlib/testlib.pro
+++ b/src/imports/testlib/testlib.pro
@@ -3,7 +3,7 @@ TARGET = qmltestplugin
TARGETPATH = QtTest
IMPORT_VERSION = 1.0
-QT += qml quick qmltest qmltest-private v8-private qml-private core-private testlib
+QT += qml quick qmltest qmltest-private qml-private core-private testlib
SOURCES += main.cpp