summaryrefslogtreecommitdiffstats
path: root/tests/QtWebKit/qml_plugin_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/QtWebKit/qml_plugin_test.py')
-rw-r--r--tests/QtWebKit/qml_plugin_test.py60
1 files changed, 60 insertions, 0 deletions
diff --git a/tests/QtWebKit/qml_plugin_test.py b/tests/QtWebKit/qml_plugin_test.py
new file mode 100644
index 0000000..607b88f
--- /dev/null
+++ b/tests/QtWebKit/qml_plugin_test.py
@@ -0,0 +1,60 @@
+
+import sys
+import unittest
+
+from PySide.QtCore import QUrl, QTimer
+from PySide.QtGui import QApplication, QLabel
+from PySide.QtWebKit import QWebPluginFactory, QWebView, QWebSettings
+
+from helper import UsesQApplication
+
+class PluginFactory(QWebPluginFactory):
+
+ def plugins(self):
+ plugins = []
+
+ mime = self.MimeType()
+ mime.name = 'DummyFile'
+ mime.fileExtensions = ['.pys']
+
+ plugin = self.Plugin()
+ plugin.name = 'DummyPlugin'
+ plugin.mimeTypes = [mime]
+
+ plugins.append(plugin)
+
+ return plugins
+
+ def create(self, mimeType, url, argumentNames, argumentValues):
+ if mimeType != 'application/x-dummy':
+ return None
+
+ for name, value in zip(argumentNames, argumentValues):
+ if name == 'text':
+ text = value
+ else:
+ text = "Webkit plugins!"
+
+ widget = QLabel(text)
+ return widget
+
+class TestPlugin(UsesQApplication):
+
+ def testPlugin(self):
+ view = QWebView()
+ fac = PluginFactory()
+ view.page().setPluginFactory(fac)
+ QWebSettings.globalSettings().setAttribute(QWebSettings.PluginsEnabled, True)
+
+ view.load(QUrl('./qmlplugin/index.html'))
+
+ view.resize(840, 600)
+ view.show()
+
+ QTimer.singleShot(500, self.app.quit)
+
+ self.app.exec_()
+
+
+if __name__ == '__main__':
+ unittest.main()