Added query panel for plugin capabilities
Change-Id: I5766cf45aa711ebea9a6f9f3dfa51e706ebd0d0d
diff --git a/dev/js/spec/pluginSpec.js b/dev/js/spec/pluginSpec.js
index 0694070..f7514bd 100644
--- a/dev/js/spec/pluginSpec.js
+++ b/dev/js/spec/pluginSpec.js
@@ -1,4 +1,4 @@
-define(['plugin/server','plugin/widget','panel'], function (pluginServerClass, widgetClass, panelClass) {
+define(['plugin/server','plugin/widget','panel', 'panel/query'], function (pluginServerClass, widgetClass, panelClass, queryPanelClass) {
describe('KorAP.Plugin.Server', function () {
@@ -8,7 +8,6 @@
manager.destroy();
});
-
it('should add a widget', function () {
var manager = pluginServerClass.create();
var panel = panelClass.create();
@@ -44,7 +43,6 @@
widget.close();
expect(panelE.getElementsByClassName('view').length).toEqual(0);
-
manager.destroy();
});
@@ -71,9 +69,46 @@
}]
})}
).toThrow(new Error("Panel for plugin is invalid"));
+ manager.destroy();
+ });
+
+ it('should accept valid registrations for matches', function () {
+ var manager = pluginServerClass.create();
+
+ manager.register({
+ name : 'Check',
+ embed : [{
+ panel : 'match',
+ title : 'Translate',
+ onClick : {
+ template : 'test'
+ }
+ }]
+ });
+
+ expect(manager.buttonGroup('match').length).toEqual(1);
+ manager.destroy();
+ });
+
+ it('should accept valid registrations for query temporary', function () {
+ var manager = pluginServerClass.create();
+
+ manager.register({
+ name : 'Check',
+ embed : [{
+ panel : 'query',
+ title : 'Translate',
+ onClick : {
+ template : 'test'
+ }
+ }]
+ });
+
+ expect(manager.buttonGroup('query').length).toEqual(1);
+ manager.destroy();
});
});
-
+
describe('KorAP.Plugin.Widget', function () {
it('should be initializable', function () {
expect(function () { widgetClass.create() }).toThrow(new Error("Widget not well defined"));
@@ -124,4 +159,36 @@
expect(iframe.style.height).toEqual('9px');
});
});
+
+ describe('KorAP.Plugin.QueryPanel', function () {
+ it('should establish a query plugin', function () {
+ var queryPanel = queryPanelClass.create();
+
+ var div = document.createElement('div');
+
+ div.appendChild(queryPanel.element());
+ KorAP.Panel = KorAP.Panel || {};
+ KorAP.Panel['query'] = queryPanel;
+
+ // Register plugin afterwards
+ var manager = pluginServerClass.create();
+
+ manager.register({
+ name : 'Check',
+ embed : [{
+ panel : 'query',
+ title : 'Translate',
+ onClick : {
+ template : 'test'
+ }
+ }]
+ });
+
+ expect(manager.buttonGroup('query').length).toEqual(0);
+
+ // Clean up
+ KorAP.Panel['query'] = undefined;
+ manager.destroy();
+ });
+ });
});