Author: gotcha
Date: Thu Sep 27 23:52:25 2007
New Revision: 46981
Modified:
kukit/kukit.js/trunk/kukit/eventreg.js
kukit/kukit.js/trunk/kukit/resourcedata.js
kukit/kukit.js/trunk/tests/test_kssparser.js
Log:
fix broken tests; add tests for wrong nammespace-event identifiers; improve
error message in those cases
Modified: kukit/kukit.js/trunk/kukit/eventreg.js
==============================================================================
--- kukit/kukit.js/trunk/kukit/eventreg.js (original)
+++ kukit/kukit.js/trunk/kukit/eventreg.js Thu Sep 27 23:52:25 2007
@@ -167,6 +167,23 @@
bindMethodName);
};
+_EventRegistry.prototype.unregister =
+ function(namespace, eventName) {
+ var key = this._getKey(namespace, eventName);
+ delete this.content[key];
+ var found = null;
+ for (var i=0; i < this.eventSets.length; i++) {
+ var eventSet = this.eventSets[i];
+ if (eventSet['namespace'] == namespace) {
+ found = i;
+ break;
+ }
+ }
+ if (found != null) {
+ this.eventSets.splice(found, 1);
+ }
+};
+
_EventRegistry.prototype.registerForAllEvents =
function(namespace, eventNames, klass,
bindMethodName, defaultActionMethodName, iterName) {
@@ -204,10 +221,10 @@
if (typeof(entry) == 'undefined') {
;;; if (key.substr(0, 1) == '-') {
;;; key = key.substring(1);
-;;; kukit.E = 'Error : undefined global event key ';
-;;; kukit.E += key + ' (or maybe namespace is missing ?).';
+;;; kukit.E = 'Error : undefined global event [';
+;;; kukit.E += key + '] (or maybe namespace is missing ?).';
;;; } else {
-;;; kukit.E = 'Error : undefined event key [' + key + '].';
+;;; kukit.E = 'Error : undefined namespace or event in [' + key + '].';
;;; }
throw new Error(kukit.E);
}
Modified: kukit/kukit.js/trunk/kukit/resourcedata.js
==============================================================================
--- kukit/kukit.js/trunk/kukit/resourcedata.js (original)
+++ kukit/kukit.js/trunk/kukit/resourcedata.js Thu Sep 27 23:52:25 2007
@@ -74,22 +74,19 @@
this.className = null;
this.id = id;
// finish up the KSS on it
- // XXX GC instead of relying on exceptions, test if key exists
-;;; try {
- this.setIdAndClass();
-;;; } catch(e) {
-;;; // foolishly, we don't know the position at this point
-;;; var msg = 'Undefined event : [';
-;;; msg += namespace + ':' + name + '].';
-;;; throw kukit.err.kssSelectorError(msg);
-;;; }
+ this.setIdAndClass();
};
kukit.rd.KssSelector.prototype.setIdAndClass = function() {
// Sets up id and class on the selector, based on registration info
// XXX GC instead of relying on exceptions, test if key exists
- this.className = kukit.eventsGlobalRegistry.get(
- this.namespace, this.name).className;
+ try {
+ this.className = kukit.eventsGlobalRegistry.get(
+ this.namespace, this.name).className;
+ } catch(e) {
+ throw kukit.err.parsingError(e.message);
+ }
+
if (this.id == null) {
// singleton for class
this.id = kukit.rd.makeId(this.namespace, this.className);
Modified: kukit/kukit.js/trunk/tests/test_kssparser.js
==============================================================================
--- kukit/kukit.js/trunk/tests/test_kssparser.js (original)
+++ kukit/kukit.js/trunk/tests/test_kssparser.js Thu Sep 27 23:52:25 2007
@@ -26,6 +26,12 @@
kukit.KssParserTestCaseBase = function() {
this.setUp = function() {
+ kukit.eventsGlobalRegistry.register('dnd', 'drag',
+ kukit.pl.NativeEventBinder, '__bind__nodeordocument', null);
+ };
+
+ this.tearDown = function() {
+ kukit.eventsGlobalRegistry.unregister('dnd', 'drag');
};
this.assertKssParmValueEquals = function(a, b, reason) {
@@ -374,15 +380,15 @@
+"#calendar-previous a:dnd-drag(shelve) {\n"
+" action-server : whatever\n"
+"}\n"
- +"#button-one:annoyClicker-click(annoy-me) {\n"
+ +"#button-one:annoyclicker-click(annoy-me) {\n"
+" action-server: clickedButton;\n"
+" clickedButton-id: nodeAttr(id);\n"
+"}\n"
- +"document:annoy(annoyMe) {\n"
+ +"document:annoyclicker-annoy(annoyMe) {\n"
+" action-client: alert;\n"
+' alert-message: "You are an idiot! Ha ha ha. (But just keep
on trying...)";\n'
+"}\n"
- +"document:annoyClicker-annoy(annoyMe) {\n"
+ +"document:annoyclicker-annoy(annoyMe) {\n"
+" action-client: alert;\n"
+' alert-message: "You are an idiot! Ha ha ha. (But just
keep on trying...)";\n'
+"}\n"
@@ -393,8 +399,8 @@
+" action-client: log;\n"
+' log-message: "Logging";\n'
+"}\n"
- +"document:annoyClicker-annoy(annoyMe) {\n"
- +" evt-annoyClicker-annoy-preventdefault: true;\n"
+ +"document:annoyclicker-annoy(annoyMe) {\n"
+ +" evt-annoyclicker-annoy-preventdefault: true;\n"
+" action-client: namespaced-alert;\n"
+' namespaced-alert-message: "You are an idiot! Ha ha ha.
(But just keep on trying...)";\n'
+'}\n'
@@ -435,7 +441,6 @@
this.assertEquals(rule.kssSelector.css, '#calendar-previous a');
this.assertEquals(rule.kssSelector.name, 'click');
this.assertEquals(rule.kssSelector.namespace, null);
- this.assertEquals(rule.kssSelector.id, null);
action = rule.actions.content['kukitresponse/kukitGetPreviousMonth'];
this.assertEquals(action.type, 'S');
this.assertEquals(action.name, 'kukitresponse/kukitGetPreviousMonth');
@@ -454,7 +459,6 @@
this.assertEquals(rule.kssSelector.css, 'div#update-area');
this.assertEquals(rule.kssSelector.name, 'timeout');
this.assertEquals(rule.kssSelector.namespace, null);
- this.assertEquals(rule.kssSelector.id, null);
action = rule.actions.content['getCurrentTime'];
this.assertEquals(action.type, 'S');
this.assertEquals(action.name, 'getCurrentTime');
@@ -473,7 +477,6 @@
this.assertEquals(rule.kssSelector.isEventSelector, true);
this.assertEquals(rule.kssSelector.name, 'click');
this.assertEquals(rule.kssSelector.namespace, null);
- this.assertEquals(rule.kssSelector.id, null);
action = rule.actions.content['kukitresponse/kukitGetPreviousMonth'];
this.assertEquals(action.type, 'S');
this.assertEquals(action.name, 'kukitresponse/kukitGetPreviousMonth');
@@ -491,7 +494,6 @@
this.assertEquals(rule.kssSelector.isEventSelector, true);
this.assertEquals(rule.kssSelector.name, 'click');
this.assertEquals(rule.kssSelector.namespace, null);
- this.assertEquals(rule.kssSelector.id, null);
action = rule.actions.content['kukitGetPreviousMonth'];
this.assertEquals(action.type, 'S');
this.assertEquals(action.name, 'kukitGetPreviousMonth');
@@ -519,7 +521,7 @@
});
// rule 5
- //#button-one:annoyClicker-click(annoyMe) {
+ //#button-one:annoyclicker-click(annoyMe) {
// kss-action: clickedButton;
// id: nodeAttr(id);
//}
@@ -528,7 +530,7 @@
this.assertEquals(rule.kssSelector.css, '#button-one');
this.assertEquals(rule.kssSelector.isEventSelector, true);
this.assertEquals(rule.kssSelector.name, 'click');
- this.assertEquals(rule.kssSelector.namespace, 'annoyClicker');
+ this.assertEquals(rule.kssSelector.namespace, 'annoyclicker');
this.assertEquals(rule.kssSelector.id, 'annoy-me');
action = rule.actions.content['clickedButton'];
this.assertEquals(action.type, 'S');
@@ -539,7 +541,7 @@
});
// rule 6
- // document:annoy(annoyMe) {
+ // document:annoyclicker-annoy(annoyMe) {
// kss-action: alert;
// message: "You are an idiot! Ha ha ha. (But just keep on
trying...)";
//}
@@ -548,7 +550,7 @@
this.assertEquals(rule.kssSelector.css, 'document');
this.assertEquals(rule.kssSelector.isMethodSelector, true);
this.assertEquals(rule.kssSelector.name, 'annoy');
- this.assertEquals(rule.kssSelector.namespace, null);
+ this.assertEquals(rule.kssSelector.namespace, 'annoyclicker');
this.assertEquals(rule.kssSelector.id, 'annoyMe');
action = rule.actions.content['alert'];
this.assertEquals(action.type, 'C');
@@ -559,7 +561,7 @@
});
// rule 7
- // document:annoyClicker-annoy(annoyMe) {
+ // document:annoyclicker-annoy(annoyMe) {
// annoy#annoy-me {
// kss-action: alert;
// message: "You are an idiot! Ha ha ha. (But just keep on
trying...)";
@@ -569,7 +571,7 @@
this.assertEquals(rule.kssSelector.css, 'document');
this.assertEquals(rule.kssSelector.isMethodSelector, true);
this.assertEquals(rule.kssSelector.name, 'annoy');
- this.assertEquals(rule.kssSelector.namespace, 'annoyClicker');
+ this.assertEquals(rule.kssSelector.namespace, 'annoyclicker');
this.assertEquals(rule.kssSelector.id, 'annoyMe');
action = rule.actions.content['alert'];
this.assertEquals(action.type, 'C');
@@ -586,7 +588,6 @@
this.assertEquals(rule.kssSelector.css, 'div#update-area');
this.assertEquals(rule.kssSelector.name, 'timeout');
this.assertEquals(rule.kssSelector.namespace, null);
- this.assertEquals(rule.kssSelector.id, null);
action = rule.actions.content['getCurrentTime'];
this.assertEquals(action.type, 'S');
this.assertEquals(action.name, 'getCurrentTime');
@@ -603,8 +604,8 @@
});
// rule 9
- //document:annoyClicker-annoy(annoyMe) {\n"
- // evt-annoyClicker-annoy-preventdefault: true;\n"
+ //document:annoyclicker-annoy(annoyMe) {\n"
+ // evt-annoyclicker-annoy-preventdefault: true;\n"
// action-client: namespaced-alert;\n"
// namespaced-alert-message: "You are an idiot! Ha ha ha.
(But just keep on trying...)";\n'
//}
@@ -613,7 +614,7 @@
this.assertEquals(rule.kssSelector.css, 'document');
this.assertEquals(rule.kssSelector.isMethodSelector, true);
this.assertEquals(rule.kssSelector.name, 'annoy');
- this.assertEquals(rule.kssSelector.namespace, 'annoyClicker');
+ this.assertEquals(rule.kssSelector.namespace, 'annoyclicker');
this.assertEquals(rule.kssSelector.id, 'annoyMe');
action = rule.actions.content['namespaced-alert'];
this.assertEquals(action.type, 'C');
@@ -637,7 +638,6 @@
this.assertEquals(rule.kssSelector.css, '#button_1');
this.assertEquals(rule.kssSelector.name, 'click');
this.assertEquals(rule.kssSelector.namespace, null);
- this.assertEquals(rule.kssSelector.id, null);
action = rule.actions.content['setStyle'];
this.assertEquals(action.type, 'C');
this.assertEquals(action.name, 'setStyle');
@@ -663,7 +663,6 @@
this.assertEquals(rule.kssSelector.css, '#button_3');
this.assertEquals(rule.kssSelector.name, 'click');
this.assertEquals(rule.kssSelector.namespace, null);
- this.assertEquals(rule.kssSelector.id, null);
action = rule.actions.content['setStyle'];
this.assertEquals(action.type, 'C');
this.assertEquals(action.name, 'setStyle');
@@ -686,7 +685,6 @@
this.assertEquals(rule.kssSelector.isEventSelector, true);
this.assertEquals(rule.kssSelector.name, 'click');
this.assertEquals(rule.kssSelector.namespace, null);
- this.assertEquals(rule.kssSelector.id, null);
action = rule.actions.content['kukitGetPreviousMonth'];
this.assertEquals(action.type, 'S');
this.assertEquals(action.name, 'kukitGetPreviousMonth');
@@ -722,7 +720,6 @@
this.assertEquals(rule.kssSelector.css, '.inlineEditable');
this.assertEquals(rule.kssSelector.name, 'blur');
this.assertEquals(rule.kssSelector.namespace, null);
- this.assertEquals(rule.kssSelector.id, null);
action = rule.actions.content['kukitresponse'];
this.assertEquals((typeof(action) != 'undefined'), true);
this.assertEquals(action.type, 'S');
@@ -758,7 +755,6 @@
this.assertEquals(rule.kssSelector.css, '.inlineEditable');
this.assertEquals(rule.kssSelector.name, 'blur');
this.assertEquals(rule.kssSelector.namespace, null);
- this.assertEquals(rule.kssSelector.id, null);
action = rule.actions.content['default'];
this.assertEquals((typeof(action) != 'undefined'), true);
this.assertEquals(action.error, 'errors');
@@ -771,19 +767,16 @@
kukit.KssParserSelectorTestCase = function() {
this.name = 'kukit.KssParserSelectorTestCase';
- this.setUp = function() {
- };
-
this.testSelectorWithBinderId = function() {
// Parsing event selector params
- var txt= "a:drag(hello)";
+ var txt= "a:dnd-drag(hello)";
var cursor = new kukit.tk.Cursor(txt);
var parser = new kukit.kssp.KssSelector(cursor, null, true);
this.assertEquals(parser.finished, true);
this.assertEquals(parser.kssSelector.isEventSelector, true);
this.assertEquals(parser.kssSelector.css, 'a');
this.assertEquals(parser.kssSelector.name, 'drag');
- this.assertEquals(parser.kssSelector.namespace, null);
+ this.assertEquals(parser.kssSelector.namespace, 'dnd');
this.assertEquals(parser.kssSelector.id, 'hello');
};
@@ -806,45 +799,43 @@
// maybe in std css space is not allowed in the parents,
// but we tolerate it
- txt= " a div#id:drag( hello)";
+ txt= " a div#id:dnd-drag( hello)";
cursor = new kukit.tk.Cursor(txt);
parser = new kukit.kssp.KssSelector(cursor, null, true);
this.assertEquals(parser.kssSelector.isEventSelector, true);
this.assertEquals(parser.kssSelector.css, ' a div#id');
this.assertEquals(parser.kssSelector.name, 'drag');
- this.assertEquals(parser.kssSelector.namespace, null);
+ this.assertEquals(parser.kssSelector.namespace, 'dnd');
this.assertEquals(parser.kssSelector.id, 'hello');
// We do not allow space here
- txt= " a div#id:drag (hello)";
+ txt= " a div#id:dnd-drag (hello)";
cursor = new kukit.tk.Cursor(txt);
this.assertParsingError(kukit.kssp.KssSelector, cursor, null, true,
'Wrong event selector : missing event qualifier :<EVENTNAME> or
:<EVENTNAME>(<ID>).', 25);
// We do not allow space here
- txt= " a div#id: drag(hello)";
+ txt= " a div#id: dnd-drag(hello)";
cursor = new kukit.tk.Cursor(txt);
this.assertParsingError(kukit.kssp.KssSelector, cursor, null, true,
'Wrong event selector : missing event qualifier :<EVENTNAME> or
:<EVENTNAME>(<ID>).', 23);
- txt= "a div#id:drop ";
+ txt= "a div#id:click ";
cursor = new kukit.tk.Cursor(txt);
parser = new kukit.kssp.KssSelector(cursor, null, true);
this.assertEquals(parser.kssSelector.isEventSelector, true);
this.assertEquals(parser.kssSelector.css, 'a div#id');
- this.assertEquals(parser.kssSelector.name, 'drop');
+ this.assertEquals(parser.kssSelector.name, 'click');
this.assertEquals(parser.kssSelector.namespace, null);
- this.assertEquals(parser.kssSelector.id, null);
- txt= "a div.class:drop ";
+ txt= "a div.class:click ";
cursor = new kukit.tk.Cursor(txt);
parser = new kukit.kssp.KssSelector(cursor, null, true);
this.assertEquals(parser.finished, true);
this.assertEquals(parser.kssSelector.isEventSelector, true);
this.assertEquals(parser.kssSelector.css, 'a div.class');
- this.assertEquals(parser.kssSelector.name, 'drop');
+ this.assertEquals(parser.kssSelector.name, 'click');
this.assertEquals(parser.kssSelector.namespace, null);
- this.assertEquals(parser.kssSelector.id, null);
txt= "a:click ";
cursor = new kukit.tk.Cursor(txt);
@@ -854,16 +845,15 @@
this.assertEquals(parser.kssSelector.css, 'a');
this.assertEquals(parser.kssSelector.name, 'click');
this.assertEquals(parser.kssSelector.namespace, null);
- this.assertEquals(parser.kssSelector.id, null);
// two params: not allowed
- txt= "a:drop('hello', bello)";
+ txt= "a:click('hello', bello)";
cursor = new kukit.tk.Cursor(txt);
this.assertParsingError(kukit.kssp.KssSelector, cursor, null, true,
'Wrong event selector ::<EVENTNAME>(<ID>) can have only one
parameter.', 22);
// zero params: not std css but tolerated
- txt= "a:drop()";
+ txt= "a:click()";
cursor = new kukit.tk.Cursor(txt);
parser = new kukit.kssp.KssSelector(cursor, null, true);
this.assertParsingError(kukit.kssp.KssSelector, cursor, null, true,
@@ -897,15 +887,14 @@
this.assertEquals(parser.kssSelector.css,
"a[href=hello].class:lang(hu) div#id");
this.assertEquals(parser.kssSelector.name, 'click');
this.assertEquals(parser.kssSelector.namespace, null);
- this.assertEquals(parser.kssSelector.id, null);
- txt= "a[href=hello].class:lang(hu) div#id:drop(hello) ";
+ txt= "a[href=hello].class:lang(hu) div#id:click(hello) ";
cursor = new kukit.tk.Cursor(txt);
parser = new kukit.kssp.KssSelector(cursor, null, true);
this.assertEquals(parser.finished, true);
this.assertEquals(parser.kssSelector.isEventSelector, true);
this.assertEquals(parser.kssSelector.css,
"a[href=hello].class:lang(hu) div#id");
- this.assertEquals(parser.kssSelector.name, 'drop');
+ this.assertEquals(parser.kssSelector.name, 'click');
this.assertEquals(parser.kssSelector.namespace, null);
this.assertEquals(parser.kssSelector.id, 'hello');
@@ -923,7 +912,6 @@
this.assertEquals(parser.kssSelector.css, " a:lang(hu, uh) b");
this.assertEquals(parser.kssSelector.name, 'click');
this.assertEquals(parser.kssSelector.namespace, null);
- this.assertEquals(parser.kssSelector.id, null);
// Comment in the end
txt= " a:lang(hu, uh) b:click/*comment here*/";
@@ -934,7 +922,6 @@
this.assertEquals(parser.kssSelector.css, " a:lang(hu, uh) b");
this.assertEquals(parser.kssSelector.name, 'click');
this.assertEquals(parser.kssSelector.namespace, null);
- this.assertEquals(parser.kssSelector.id, null);
// Should be ok.
txt= "a:lang(hu)/*comment here*/b:click ";
@@ -944,18 +931,16 @@
this.assertEquals(parser.kssSelector.css, "a:lang(hu)/*comment
here*/b");
this.assertEquals(parser.kssSelector.name, 'click');
this.assertEquals(parser.kssSelector.namespace, null);
- this.assertEquals(parser.kssSelector.id, null);
// Should be ok.
- txt= "a:lang(hu) click/*comment here*/b:clack ";
+ txt= "a:lang(hu) click/*comment here*/b:load ";
cursor = new kukit.tk.Cursor(txt);
parser = new kukit.kssp.KssSelector(cursor, null, true);
this.assertEquals(parser.finished, true);
this.assertEquals(parser.kssSelector.isEventSelector, true);
this.assertEquals(parser.kssSelector.css, "a:lang(hu) click/*comment
here*/b");
- this.assertEquals(parser.kssSelector.name, 'clack');
+ this.assertEquals(parser.kssSelector.name, 'load');
this.assertEquals(parser.kssSelector.namespace, null);
- this.assertEquals(parser.kssSelector.id, null);
txt= "a:click:clack ";
cursor = new kukit.tk.Cursor(txt);
@@ -977,7 +962,7 @@
this.assertParsingError(kukit.kssp.KssSelector, cursor, null, true,
'Wrong event selector : missing event qualifier :<EVENTNAME> or
:<EVENTNAME>(<ID>).', 28);
- txt= "/*comment here*/click:clack ";
+ txt= "/*comment here*/div:click ";
cursor = new kukit.tk.Cursor(txt);
parser = new kukit.kssp.KssSelector(cursor, null, true);
@@ -1004,14 +989,14 @@
this.assertEquals(parser.kssSelector.namespace, null);
this.assertEquals(parser.kssSelector.id, 'hello');
- txt= " document:native-click(hello) ";
+ txt= " document:dnd-drag(hello) ";
cursor = new kukit.tk.Cursor(txt);
parser = new kukit.kssp.KssSelector(cursor, null, true);
this.assertEquals(parser.finished, true);
this.assertEquals(parser.kssSelector.isMethodSelector, true);
this.assertEquals(parser.kssSelector.css, 'document');
- this.assertEquals(parser.kssSelector.name, 'click');
- this.assertEquals(parser.kssSelector.namespace, 'native');
+ this.assertEquals(parser.kssSelector.name, 'drag');
+ this.assertEquals(parser.kssSelector.namespace, 'dnd');
this.assertEquals(parser.kssSelector.id, 'hello');
txt= "document";
@@ -1036,17 +1021,59 @@
this.assertEquals(parser.kssSelector.id, 'hello');
}
+
+ this.testKssSelectorWithWrongEventWithoutNamespace = function() {
+ txt= " document:clack ";
+ cursor = new kukit.tk.Cursor(txt);
+ this.assertParsingError(kukit.kssp.KssSelector, cursor, null, true,
+ 'Error : undefined global event [clack] (or maybe namespace is
missing ?).');
+ txt= " document:clack(hello) ";
+ cursor = new kukit.tk.Cursor(txt);
+ this.assertParsingError(kukit.kssp.KssSelector, cursor, null, true,
+ 'Error : undefined global event [clack] (or maybe namespace is
missing ?).');
+ }
+
+ this.testKssSelectorWithRightEventAndMissingNamespace = function() {
+ txt= " document:drag ";
+ cursor = new kukit.tk.Cursor(txt);
+ this.assertParsingError(kukit.kssp.KssSelector, cursor, null, true,
+ 'Error : undefined global event [drag] (or maybe namespace is
missing ?).');
+ txt= " document:drag(hello) ";
+ cursor = new kukit.tk.Cursor(txt);
+ this.assertParsingError(kukit.kssp.KssSelector, cursor, null, true,
+ 'Error : undefined global event [drag] (or maybe namespace is
missing ?).');
+ }
+
+ this.testKssSelectorWithUndefinedNamespaceWhenNamespace = function() {
+ txt= " document:dad-drag ";
+ cursor = new kukit.tk.Cursor(txt);
+ this.assertParsingError(kukit.kssp.KssSelector, cursor, null, true,
+ 'Error : undefined namespace or event in [dad-drag].');
+ txt= " document:dad-drag(hello) ";
+ cursor = new kukit.tk.Cursor(txt);
+ this.assertParsingError(kukit.kssp.KssSelector, cursor, null, true,
+ 'Error : undefined namespace or event in [dad-drag].');
+ }
+
+ this.testKssSelectorWithUndefinedEventNameWhenNameSpace = function() {
+ txt= " document:dnd-drog ";
+ cursor = new kukit.tk.Cursor(txt);
+ this.assertParsingError(kukit.kssp.KssSelector, cursor, null, true,
+ 'Error : undefined namespace or event in [dnd-drog].');
+ txt= " document:dnd-drog(hello) ";
+ cursor = new kukit.tk.Cursor(txt);
+ this.assertParsingError(kukit.kssp.KssSelector, cursor, null, true,
+ 'Error : undefined namespace or event in [dnd-drog].');
+ }
};
kukit.KssParserSelectorTestCase.prototype = new kukit.KssParserTestCaseBase;
kukit.KssParserSelectorsTestCase = function() {
this.name = 'kukit.KssParserSelectorsTestCase';
- this.setUp = function() {
- };
this.testSingleSelector = function() {
- var txt= "a:drag(hello)";
+ var txt= "a:dnd-drag(hello)";
var cursor = new kukit.tk.Cursor(txt);
var parser = new kukit.kssp.KssSelectors(cursor, null, true);
this.assertEquals(parser.finished, true);
@@ -1055,12 +1082,12 @@
this.assertEquals(kssSelector.isEventSelector, true);
this.assertEquals(kssSelector.css, 'a');
this.assertEquals(kssSelector.name, 'drag');
- this.assertEquals(kssSelector.namespace, null);
+ this.assertEquals(kssSelector.namespace, 'dnd');
this.assertEquals(kssSelector.id, 'hello');
};
this.testMultipleSelectors = function() {
- var txt= "a:drag(hello), div a:click";
+ var txt= "a:dnd-drag(hello), div a:click";
var cursor = new kukit.tk.Cursor(txt);
var parser = new kukit.kssp.KssSelectors(cursor, null, true);
this.assertEquals(parser.finished, true);
@@ -1069,19 +1096,18 @@
this.assertEquals(kssSelector.isEventSelector, true);
this.assertEquals(kssSelector.css, 'a');
this.assertEquals(kssSelector.name, 'drag');
- this.assertEquals(kssSelector.namespace, null);
+ this.assertEquals(kssSelector.namespace, 'dnd');
this.assertEquals(kssSelector.id, 'hello');
var kssSelector = parser.selectors[1];
this.assertEquals(kssSelector.isEventSelector, true);
this.assertEquals(kssSelector.css, 'div a');
this.assertEquals(kssSelector.name, 'click');
this.assertEquals(kssSelector.namespace, null);
- this.assertEquals(kssSelector.id, null);
};
this.testMultipleSelectorsWithComment = function() {
- var txt= "a:drag(hello), /* a comment */ div a:click";
+ var txt= "a:dnd-drag(hello), /* a comment */ div a:click";
var cursor = new kukit.tk.Cursor(txt);
var parser = new kukit.kssp.KssSelectors(cursor, null, true);
this.assertEquals(parser.finished, true);
@@ -1090,18 +1116,17 @@
this.assertEquals(kssSelector.isEventSelector, true);
this.assertEquals(kssSelector.css, 'a');
this.assertEquals(kssSelector.name, 'drag');
- this.assertEquals(kssSelector.namespace, null);
+ this.assertEquals(kssSelector.namespace, 'dnd');
this.assertEquals(kssSelector.id, 'hello');
var kssSelector = parser.selectors[1];
this.assertEquals(kssSelector.isEventSelector, true);
this.assertEquals(kssSelector.css, 'div a');
this.assertEquals(kssSelector.name, 'click');
this.assertEquals(kssSelector.namespace, null);
- this.assertEquals(kssSelector.id, null);
};
this.testSingleSelectorWithCommaInDoubleQuoteStringInSelector = function()
{
- var txt = 'a[value="Hi, I am a comma"]:drag(hello)';
+ var txt = 'a[value="Hi, I am a comma"]:dnd-drag(hello)';
var cursor = new kukit.tk.Cursor(txt);
var parser = new kukit.kssp.KssSelectors(cursor, null, true);
this.assertEquals(parser.finished, true);
@@ -1110,12 +1135,12 @@
this.assertEquals(kssSelector.isEventSelector, true);
this.assertEquals(kssSelector.css, 'a[value="Hi, I am a comma"]');
this.assertEquals(kssSelector.name, 'drag');
- this.assertEquals(kssSelector.namespace, null);
+ this.assertEquals(kssSelector.namespace, 'dnd');
this.assertEquals(kssSelector.id, 'hello');
};
this.testSingleSelectorWithCommaInSingleQuoteStringInSelector = function()
{
- var txt = "a[value='Hi, I am a comma']:drag(hello)";
+ var txt = "a[value='Hi, I am a comma']:dnd-drag(hello)";
var cursor = new kukit.tk.Cursor(txt);
var parser = new kukit.kssp.KssSelectors(cursor, null, true);
this.assertEquals(parser.finished, true);
@@ -1124,12 +1149,12 @@
this.assertEquals(kssSelector.isEventSelector, true);
this.assertEquals(kssSelector.css, "a[value='Hi, I am a comma']");
this.assertEquals(kssSelector.name, 'drag');
- this.assertEquals(kssSelector.namespace, null);
+ this.assertEquals(kssSelector.namespace, 'dnd');
this.assertEquals(kssSelector.id, 'hello');
};
this.testMultipleSelectorsWithCommaInDoubleQuoteStringInSelector =
function() {
- var txt = 'a[value="Hi, I am a comma"]:drag(hello), div a:click';
+ var txt = 'a[value="Hi, I am a comma"]:dnd-drag(hello), div a:click';
var cursor = new kukit.tk.Cursor(txt);
var parser = new kukit.kssp.KssSelectors(cursor, null, true);
this.assertEquals(parser.finished, true);
@@ -1138,18 +1163,17 @@
this.assertEquals(kssSelector.isEventSelector, true);
this.assertEquals(kssSelector.css, 'a[value="Hi, I am a comma"]');
this.assertEquals(kssSelector.name, 'drag');
- this.assertEquals(kssSelector.namespace, null);
+ this.assertEquals(kssSelector.namespace, 'dnd');
this.assertEquals(kssSelector.id, 'hello');
var kssSelector = parser.selectors[1];
this.assertEquals(kssSelector.isEventSelector, true);
this.assertEquals(kssSelector.css, 'div a');
this.assertEquals(kssSelector.name, 'click');
this.assertEquals(kssSelector.namespace, null);
- this.assertEquals(kssSelector.id, null);
};
this.testMultipleSelectorsWithCommaInSingleQuoteStringInSelector =
function() {
- var txt = "a[value='Hi, I am a comma']:drag(hello), div a:click";
+ var txt = "a[value='Hi, I am a comma']:dnd-drag(hello), div a:click";
var cursor = new kukit.tk.Cursor(txt);
var parser = new kukit.kssp.KssSelectors(cursor, null, true);
this.assertEquals(parser.finished, true);
@@ -1158,18 +1182,17 @@
this.assertEquals(kssSelector.isEventSelector, true);
this.assertEquals(kssSelector.css, "a[value='Hi, I am a comma']");
this.assertEquals(kssSelector.name, 'drag');
- this.assertEquals(kssSelector.namespace, null);
+ this.assertEquals(kssSelector.namespace, 'dnd');
this.assertEquals(kssSelector.id, 'hello');
var kssSelector = parser.selectors[1];
this.assertEquals(kssSelector.isEventSelector, true);
this.assertEquals(kssSelector.css, 'div a');
this.assertEquals(kssSelector.name, 'click');
this.assertEquals(kssSelector.namespace, null);
- this.assertEquals(kssSelector.id, null);
};
this.testMultipleSelectorsWithCommentAndNewline = function() {
- var txt= "a:drag(hello), /* a comment */ \n div a:click";
+ var txt= "a:dnd-drag(hello), /* a comment */ \n div a:click";
var cursor = new kukit.tk.Cursor(txt);
var parser = new kukit.kssp.KssSelectors(cursor, null, true);
this.assertEquals(parser.finished, true);
@@ -1178,18 +1201,17 @@
this.assertEquals(kssSelector.isEventSelector, true);
this.assertEquals(kssSelector.css, 'a');
this.assertEquals(kssSelector.name, 'drag');
- this.assertEquals(kssSelector.namespace, null);
+ this.assertEquals(kssSelector.namespace, 'dnd');
this.assertEquals(kssSelector.id, 'hello');
var kssSelector = parser.selectors[1];
this.assertEquals(kssSelector.isEventSelector, true);
this.assertEquals(kssSelector.css, 'div a');
this.assertEquals(kssSelector.name, 'click');
this.assertEquals(kssSelector.namespace, null);
- this.assertEquals(kssSelector.id, null);
};
this.testMultipleSelectorsWithNewline = function() {
- var txt= "a:drag(hello), \n div a:click";
+ var txt= "a:dnd-drag(hello), \n div a:click";
var cursor = new kukit.tk.Cursor(txt);
var parser = new kukit.kssp.KssSelectors(cursor, null, true);
this.assertEquals(parser.finished, true);
@@ -1198,18 +1220,17 @@
this.assertEquals(kssSelector.isEventSelector, true);
this.assertEquals(kssSelector.css, 'a');
this.assertEquals(kssSelector.name, 'drag');
- this.assertEquals(kssSelector.namespace, null);
+ this.assertEquals(kssSelector.namespace, 'dnd');
this.assertEquals(kssSelector.id, 'hello');
var kssSelector = parser.selectors[1];
this.assertEquals(kssSelector.isEventSelector, true);
this.assertEquals(kssSelector.css, 'div a');
this.assertEquals(kssSelector.name, 'click');
this.assertEquals(kssSelector.namespace, null);
- this.assertEquals(kssSelector.id, null);
};
this.testSingleSelectorWithFirstComma = function() {
- var txt= ",a:drag(hello),";
+ var txt= ",a:dnd-drag(hello),";
var cursor = new kukit.tk.Cursor(txt);
var msg = 'Wrong event selector : missing event';
this.assertParsingError(kukit.kssp.KssSelectors, cursor, null, true,
@@ -1217,7 +1238,7 @@
}
this.testSingleSelectorWithMiddleComma = function() {
- var txt= "a:drag(hello),,p:click";
+ var txt= "a:dnd-drag(hello),,p:click";
var cursor = new kukit.tk.Cursor(txt);
var msg = 'Wrong event selector : missing event';
this.assertParsingError(kukit.kssp.KssSelectors, cursor, null, true,
@@ -1225,7 +1246,7 @@
}
this.testSingleSelectorWithAdditionalComma = function() {
- var txt= "a:drag(hello),";
+ var txt= "a:dnd-drag(hello),";
var cursor = new kukit.tk.Cursor(txt);
var msg = 'Wrong event selector : trailing comma';
this.assertParsingError(kukit.kssp.KssSelectors, cursor, null, true,
@@ -1233,7 +1254,7 @@
}
this.testSingleSelectorWithAdditionalCommas = function() {
- var txt= "a:drag(hello),,";
+ var txt= "a:dnd-drag(hello),,";
var cursor = new kukit.tk.Cursor(txt);
var msg = 'Wrong event selector : missing event';
this.assertParsingError(kukit.kssp.KssSelectors, cursor, null, true,
@@ -1263,7 +1284,6 @@
this.assertEquals(rule.kssSelector.css, '#calendar-previous a');
this.assertEquals(rule.kssSelector.name, 'click');
this.assertEquals(rule.kssSelector.namespace, null);
- this.assertEquals(rule.kssSelector.id, null);
action = rule.actions.content['kukitresponse/kukitGetPreviousMonth'];
this.assertEquals(action.type, 'S');
this.assertEquals(action.name, 'kukitresponse/kukitGetPreviousMonth');
@@ -1276,7 +1296,6 @@
this.assertEquals(rule.kssSelector.css, '.inlineEditable');
this.assertEquals(rule.kssSelector.name, 'blur');
this.assertEquals(rule.kssSelector.namespace, null);
- this.assertEquals(rule.kssSelector.id, null);
action = rule.actions.content['kukitresponse/kukitGetPreviousMonth'];
this.assertEquals(action.type, 'S');
this.assertEquals(action.name, 'kukitresponse/kukitGetPreviousMonth');
@@ -1309,7 +1328,6 @@
this.assertEquals(rule.kssSelector.css, '#calendar-previous a');
this.assertEquals(rule.kssSelector.name, 'click');
this.assertEquals(rule.kssSelector.namespace, null);
- this.assertEquals(rule.kssSelector.id, null);
action = rule.actions.content['kukitresponse/kukitGetPreviousMonth'];
this.assertEquals(action.type, 'S');
this.assertEquals(action.name, 'kukitresponse/kukitGetPreviousMonth');
@@ -1322,7 +1340,6 @@
this.assertEquals(rule.kssSelector.css, '.inlineEditable');
this.assertEquals(rule.kssSelector.name, 'keydown');
this.assertEquals(rule.kssSelector.namespace, null);
- this.assertEquals(rule.kssSelector.id, null);
action = rule.actions.content['kukitresponse/kukitGetPreviousMonth'];
this.assertEquals(action.type, 'S');
@@ -1357,12 +1374,12 @@
+"#calendar-previous a:click,\n"
+".inlineEditable:keydown{ \n"
+" evt-click-allowbubbling: true;\n"
- +" evt-annoyClicker-annoy-preventdefault: true;\n"
+ +" evt-annoyclicker-annoy-preventdefault: true;\n"
+" action-server : kukitresponse/kukitGetPreviousMonth;\n"
+"}\n"
var cursor = new kukit.tk.Cursor(txt);
this.assertParsingError(kukit.kssp.Document, cursor, null, true,
- 'Wrong value for evt-[<NAMESPACE>-]<EVENTNAME>
[annoyClicker-annoy] : <NAMESPACE>-<EVENTNAME> should exist in the event of the
selectors.', 6);
+ 'Wrong value for evt-[<NAMESPACE>-]<EVENTNAME>
[annoyclicker-annoy] : <NAMESPACE>-<EVENTNAME> should exist in the event of the
selectors.', 6);
}
};
_______________________________________________
Kukit-checkins mailing list
[email protected]
http://codespeak.net/mailman/listinfo/kukit-checkins