Author: reebalazs
Date: Fri Dec 28 12:41:08 2007
New Revision: 50150
Modified:
kukit/kukit.js/branch/ree-service-layer-and-refactoring/ (props changed)
kukit/kukit.js/branch/ree-service-layer-and-refactoring/kukit/errors.js
kukit/kukit.js/branch/ree-service-layer-and-refactoring/kukit/forms.js
kukit/kukit.js/branch/ree-service-layer-and-refactoring/kukit/interfaces.js
kukit/kukit.js/branch/ree-service-layer-and-refactoring/kukit/kssparser.js
kukit/kukit.js/branch/ree-service-layer-and-refactoring/kukit/providerreg.js
kukit/kukit.js/branch/ree-service-layer-and-refactoring/kukit/resourcedata.js
kukit/kukit.js/branch/ree-service-layer-and-refactoring/kukit/selectorreg.js
kukit/kukit.js/branch/ree-service-layer-and-refactoring/tests/test_kssparser.js
Log:
Fix tests to fullow changes during the simplification
of the text values.
Modified:
kukit/kukit.js/branch/ree-service-layer-and-refactoring/kukit/errors.js
==============================================================================
--- kukit/kukit.js/branch/ree-service-layer-and-refactoring/kukit/errors.js
(original)
+++ kukit/kukit.js/branch/ree-service-layer-and-refactoring/kukit/errors.js
Fri Dec 28 12:41:08 2007
@@ -201,13 +201,12 @@
;;; };
-;;; err.eventSetupError = function(e, message){
+;;; err.eventSetupError = function(e){
;;; var message = 'Error setting up events';
;;; return setErrorInfo(e, 'EventSetupError', message);
;;; };
;;; err.valueProviderError = function(e, message){
-;;; var message = 'Error checking value provider';
;;; return setErrorInfo(e, 'ValueProviderError', message);
;;; };
Modified: kukit/kukit.js/branch/ree-service-layer-and-refactoring/kukit/forms.js
==============================================================================
--- kukit/kukit.js/branch/ree-service-layer-and-refactoring/kukit/forms.js
(original)
+++ kukit/kukit.js/branch/ree-service-layer-and-refactoring/kukit/forms.js
Fri Dec 28 12:41:08 2007
@@ -309,8 +309,7 @@
// Registry of the pprovider functions for kssSubmitForm
-fo.pproviderFormRegistry = new kukit.pr.ValueProviderRegistry(
- kukit.interfaces.global.get('formproviders',
kukit.interfaces.PluginMethodDescriptor));
+fo.pproviderFormRegistry = new kukit.pr.ValueProviderRegistry('formproviders');
// form, currentForm will provide identical functions to those
// in normal parameters
Modified:
kukit/kukit.js/branch/ree-service-layer-and-refactoring/kukit/interfaces.js
==============================================================================
--- kukit/kukit.js/branch/ree-service-layer-and-refactoring/kukit/interfaces.js
(original)
+++ kukit/kukit.js/branch/ree-service-layer-and-refactoring/kukit/interfaces.js
Fri Dec 28 12:41:08 2007
@@ -393,8 +393,9 @@
this.global.get('binditerations',
this.BindIterationDescriptor).finalize({});
// this is not strictly necessary, as we don't get as far as execution
this.global.get('actions', this.PluginMethodDescriptor).finalize({});
+ this.global.get('formproviders', this.PluginMethodDescriptor).finalize({});
this.global.get('valueproviders',
this.PluginMethodDescriptor).finalize({});
- this.global.get('selectors', this.PluginMethodDescriptor).finalize({});
+ this.global.get('selectorproviders',
this.PluginMethodDescriptor).finalize({});
};
this.cleanRoomTearDown = function(suite) {
Modified:
kukit/kukit.js/branch/ree-service-layer-and-refactoring/kukit/kssparser.js
==============================================================================
--- kukit/kukit.js/branch/ree-service-layer-and-refactoring/kukit/kssparser.js
(original)
+++ kukit/kukit.js/branch/ree-service-layer-and-refactoring/kukit/kssparser.js
Fri Dec 28 12:41:08 2007
@@ -286,7 +286,7 @@
var iface = interfaceForAction[key];
if (typeof(iface) == 'undefined') {
// for all other actions:
- // use default value pproviders
+ // use default value providers
iface = interfaceForAction[''];
}
//
@@ -295,7 +295,7 @@
value.check(iface);
;;; } catch(e) {
;;; kukit.E = 'Error in value provider for parameter [' + key + '].';
-;;; kukit.err.valueProviderError(e, kukit.E);
+;;; throw kukit.err.valueProviderError(e, kukit.E);
;;; }
action.parms[key] = value;
}
@@ -476,7 +476,7 @@
// Parse all tokens (including first and last)
var context = {'nextTokenIndex': 0};
this.digestTxt(context, kukit.tk.Fraction, kukit.kssp.Comment);
- this.txt = '';
+ //this.txt = '';
var txt = context.txt;
if (this.notInTokens(context, kukit.kssp.String)) {
// The previous txt must be all whitespace.
Modified:
kukit/kukit.js/branch/ree-service-layer-and-refactoring/kukit/providerreg.js
==============================================================================
---
kukit/kukit.js/branch/ree-service-layer-and-refactoring/kukit/providerreg.js
(original)
+++
kukit/kukit.js/branch/ree-service-layer-and-refactoring/kukit/providerreg.js
Fri Dec 28 12:41:08 2007
@@ -25,8 +25,8 @@
* The parameter providers need to be registered here.
*/
-kukit.pr.ValueProviderRegistry = function (iface) {
- this.iface = iface;
+kukit.pr.ValueProviderRegistry = function (name) {
+ this.name = name
};
kukit.pr.ValueProviderRegistry.prototype.register = function(name, func) {
@@ -35,12 +35,14 @@
;;; kukit.E += ' provider [ValueProviderRegistry.register].';
throw new Error(kukit.E);
}
- var descriptor = this.iface.getMethodDescriptor(name);
+ // Always use the global interfaces to get the descriptor.
+ var iface = kukit.interfaces.global.get(this.name,
+ kukit.interfaces.PluginMethodDescriptor);
+ var descriptor = iface.getMethodDescriptor(name);
descriptor.register(func);
};
-kukit.pprovidersGlobalRegistry = new kukit.pr.ValueProviderRegistry(
- kukit.interfaces.global.get('valueproviders',
kukit.interfaces.PluginMethodDescriptor));
+kukit.pprovidersGlobalRegistry = new
kukit.pr.ValueProviderRegistry('valueproviders');
/*
* Register the core parameter providers
Modified:
kukit/kukit.js/branch/ree-service-layer-and-refactoring/kukit/resourcedata.js
==============================================================================
---
kukit/kukit.js/branch/ree-service-layer-and-refactoring/kukit/resourcedata.js
(original)
+++
kukit/kukit.js/branch/ree-service-layer-and-refactoring/kukit/resourcedata.js
Fri Dec 28 12:41:08 2007
@@ -251,9 +251,15 @@
kukit.rd.KssMethodValue.prototype.check = function(iface) {
// Check syntax
var f = iface[this.methodName];
- // XXX TODO not found error?
+ // Check if the method name really existed.
+ if (! f) {
+;;; kukit.E = 'Undefined value provider [';
+;;; kukit.E += this.methodName + ']';
+ throw new Error(kukit.E);
+ }
+ // Create the provider checker and evaluator object
this.pprovider = new f();
- // Check the providers, this will give diagnostics errors
+ // Check the providers, this will give errors
// in case something is wrong with the parameters.
// Checking is also needed in production mode.
// XXX We use global interfaces
Modified:
kukit/kukit.js/branch/ree-service-layer-and-refactoring/kukit/selectorreg.js
==============================================================================
---
kukit/kukit.js/branch/ree-service-layer-and-refactoring/kukit/selectorreg.js
(original)
+++
kukit/kukit.js/branch/ree-service-layer-and-refactoring/kukit/selectorreg.js
Fri Dec 28 12:41:08 2007
@@ -21,8 +21,8 @@
// Registry of the pprovider functions for selecting
-kukit.sr.pproviderSelRegistry = new kukit.pr.ValueProviderRegistry(
- kukit.interfaces.global.get('selectorproviders',
kukit.interfaces.PluginMethodDescriptor)); // XXX XXX XXX
+// XXX XXX XXX TODO factor this with selector reg
+kukit.sr.pproviderSelRegistry = new
kukit.pr.ValueProviderRegistry('selectorproviders');
// this will provide an arbitrary selector, and is designed to
Modified:
kukit/kukit.js/branch/ree-service-layer-and-refactoring/tests/test_kssparser.js
==============================================================================
---
kukit/kukit.js/branch/ree-service-layer-and-refactoring/tests/test_kssparser.js
(original)
+++
kukit/kukit.js/branch/ree-service-layer-and-refactoring/tests/test_kssparser.js
Fri Dec 28 12:41:08 2007
@@ -24,9 +24,15 @@
kukit.KssParserTestCaseBase = function() {
this.setUp = function() {
- // create a clean room interface registry
kukit.interfaces.cleanRoomSetUp(this);
- // add my events
+ //
+ // XXX Important remark when you extend the setup
+ //
+ // The tests test at numerous occasion a non-existent
+ // event, so be careful when you add a new one.
+ // create a clean room interface registry
+ //
+ // Add somw events
kukit.eventsGlobalRegistry.register('dnd', 'drag',
kukit.pl.NativeEventBinder, null, null);
kukit.eventsGlobalRegistry.register(null, 'click',
@@ -39,8 +45,19 @@
kukit.pl.NativeEventBinder, null, null);
kukit.eventsGlobalRegistry.register(null, 'keydown',
kukit.pl.NativeEventBinder, null, null);
- // XXX the tests test at numerous occasion a non-existent
- // event, so be careful when you add a new one.
+ //
+ // Create the identity value provider, this is needed
+ // at least to evaluate strings.
+ kukit.pprovidersGlobalRegistry.register('', kukit.pr.IdentityPP);
+ // Create other value providers
+ kukit.pprovidersGlobalRegistry.register('kssAttr', kukit.pr.KssAttrPP);
+ kukit.pprovidersGlobalRegistry.register('formVar', kukit.pr.FormVarPP);
+ kukit.pprovidersGlobalRegistry.register('nodeAttr',
kukit.pr.NodeAttrPP);
+ //
+ //Create some selectors
+ //XXX this is temporary untul the selectors registry is finished
+ kukit.sr.pproviderSelRegistry.register('', kukit.sr.AnyPP);
+ kukit.sr.pproviderSelRegistry.register('htmlid', kukit.sr.AnyPP);
//
// finalize the interfaces we just set up
kukit.interfaces.cleanRoomFinalize(this);
@@ -94,31 +111,31 @@
var cursor = new kukit.tk.Cursor(txt);
var parser = new kukit.kssp.PropValueInMethod(cursor, null, true);
this.assertEquals(parser.finished, true);
- this.assertEquals(parser.txt, 'apple');
+ this.assertEquals(parser.value.txt, 'apple');
txt= "'a string';";
cursor = new kukit.tk.Cursor(txt);
parser = new kukit.kssp.PropValueInMethod(cursor, null, true);
this.assertEquals(parser.finished, true);
- this.assertEquals(parser.txt, 'a string');
+ this.assertEquals(parser.value.txt, 'a string');
txt= '"a string";';
cursor = new kukit.tk.Cursor(txt);
parser = new kukit.kssp.PropValueInMethod(cursor, null, true);
this.assertEquals(parser.finished, true);
- this.assertEquals(parser.txt, 'a string');
+ this.assertEquals(parser.value.txt, 'a string');
txt= '"a \\"string";';
cursor = new kukit.tk.Cursor(txt);
parser = new kukit.kssp.PropValueInMethod(cursor, null, true);
this.assertEquals(parser.finished, true);
- this.assertEquals(parser.txt, 'a "string');
+ this.assertEquals(parser.value.txt, 'a "string');
txt= " /* valid */ 'a string' /* here*/ /*and*/ /*there*/;";
cursor = new kukit.tk.Cursor(txt);
parser = new kukit.kssp.PropValueInMethod(cursor, null, true);
this.assertEquals(parser.finished, true);
- this.assertEquals(parser.txt, 'a string');
+ this.assertEquals(parser.value.txt, 'a string');
txt= " in /* valid */ 'a string';";
cursor = new kukit.tk.Cursor(txt);
@@ -154,7 +171,7 @@
cursor = new kukit.tk.Cursor(txt);
parser = new kukit.kssp.PropValueInMethod(cursor, null, true);
this.assertEquals(parser.finished, true);
- this.assertEquals(parser.txt, 'b c');
+ this.assertEquals(parser.value.txt, 'b c');
this.assertEquals(parser.parms, null);
// Not ok
@@ -210,7 +227,9 @@
this.assertEquals(parser.finished, true);
this.assertEquals(parser.value.isMethod, true);
this.assertEquals(parser.value.methodName, 'formVar');
- this.assertListEquals(parser.value.args, ['x', 'y']);
+ this.assertEquals(parser.value.args.length, 2);
+ this.assertEquals(parser.value.args[0].txt, 'x');
+ this.assertEquals(parser.value.args[1].txt, 'y');
// params ok
txt= "formVar(x, y)";
@@ -219,7 +238,9 @@
this.assertEquals(parser.finished, true);
this.assertEquals(parser.value.isMethod, true);
this.assertEquals(parser.value.methodName, 'formVar');
- this.assertListEquals(parser.value.args, ['x', 'y']);
+ this.assertEquals(parser.value.args.length, 2);
+ this.assertEquals(parser.value.args[0].txt, 'x');
+ this.assertEquals(parser.value.args[1].txt, 'y');
//ok
txt= " formVar (x, y)";
@@ -228,7 +249,9 @@
this.assertEquals(parser.finished, true);
this.assertEquals(parser.value.isMethod, true);
this.assertEquals(parser.value.methodName, 'formVar');
- this.assertListEquals(parser.value.args, ['x', 'y']);
+ this.assertEquals(parser.value.args.length, 2);
+ this.assertEquals(parser.value.args[0].txt, 'x');
+ this.assertEquals(parser.value.args[1].txt, 'y');
txt= " a formVar(x, y)";
cursor = new kukit.tk.Cursor(txt);
@@ -252,7 +275,8 @@
var cursor = new kukit.tk.Cursor(txt);
var parser = new kukit.kssp.EventValue(cursor, null, true);
this.assertEquals(parser.finished, true);
- this.assertEquals(parser.value.methodName, 'b');
+ this.assertEquals(parser.value.isMethod, false);
+ this.assertEquals(parser.value.txt, 'b');
};
this.testEventValueMultiword = function() {
@@ -262,7 +286,8 @@
var parser = new kukit.kssp.EventValue(cursor, null, true);
this.assertEquals(parser.finished, true);
this.assertEquals(cursor.pos, 1);
- this.assertEquals(parser.value.methodName, 'b');
+ this.assertEquals(parser.value.isMethod, false);
+ this.assertEquals(parser.value.txt, 'b');
};
this.testEventValueStartsWithSpace = function() {
@@ -272,7 +297,8 @@
var parser = new kukit.kssp.EventValue(cursor, null, true);
this.assertEquals(parser.finished, true);
this.assertEquals(cursor.pos, 0);
- this.assertEquals(parser.value.methodName, '');
+ this.assertEquals(parser.value.isMethod, false);
+ this.assertEquals(parser.value.txt, '');
};
this.testEventValueWithComment = function() {
@@ -282,7 +308,8 @@
var parser = new kukit.kssp.EventValue(cursor, null, true);
this.assertEquals(parser.finished, true);
this.assertEquals(cursor.pos, 6);
- this.assertEquals(parser.value.methodName, 'apples');
+ this.assertEquals(parser.value.isMethod, false);
+ this.assertEquals(parser.value.txt, 'apples');
};
this.testEventValueWithBinderId = function() {
@@ -291,9 +318,11 @@
var cursor = new kukit.tk.Cursor(txt);
var parser = new kukit.kssp.EventValue(cursor, null, true);
this.assertEquals(parser.finished, true);
+ this.assertEquals(parser.value.isMethod, true);
this.assertEquals(parser.value.methodName, 'click');
- this.assertEquals(parser.value.arg.isMethod, false);
- this.assertEquals(parser.value.arg.txt, 'x');
+ this.assertEquals(parser.value.args.length, 1);
+ this.assertEquals(parser.value.args[0].isMethod, false);
+ this.assertEquals(parser.value.args[0].txt, 'x');
// more then 1 args not ok (but we check it only from kss selector)
//txt= "drag(x, y)";
@@ -312,10 +341,14 @@
var cursor = new kukit.tk.Cursor(txt);
var parser = new kukit.kssp.EventValue(cursor, null, true);
this.assertEquals(parser.finished, true);
+ this.assertEquals(parser.value.isMethod, true);
this.assertEquals(parser.value.methodName, 'click');
- this.assertEquals(parser.value.arg.isMethod, true);
- this.assertEquals(parser.value.arg.methodName, 'kssAttr');
- this.assertListEquals(parser.value.arg.args, ['x']);
+ this.assertEquals(parser.value.args.length, 1);
+ this.assertEquals(parser.value.args[0].isMethod, true);
+ this.assertEquals(parser.value.args[0].methodName, 'kssAttr');
+ this.assertEquals(parser.value.args[0].args.length, 1);
+ this.assertEquals(parser.value.args[0].args[0].isMethod, false);
+ this.assertEquals(parser.value.args[0].args[0].txt, 'x');
};
this.testEventValueWithValueProviderRejectsAccessValues = function() {
@@ -334,31 +367,41 @@
var cursor = new kukit.tk.Cursor(txt);
var parser = new kukit.kssp.MethodArgs(cursor, kukit.kssp.openParent,
true);
this.assertEquals(parser.finished, true);
- this.assertListEquals(parser.args, ['a', 'b']);
+ this.assertEquals(parser.args.length, 2);
+ this.assertEquals(parser.args[0].txt, 'a');
+ this.assertEquals(parser.args[1].txt, 'b');
txt= "('a', /* to annoy you */ \"b\")";
cursor = new kukit.tk.Cursor(txt);
parser = new kukit.kssp.MethodArgs(cursor, kukit.kssp.openParent,
true);
this.assertEquals(parser.finished, true);
- this.assertListEquals(parser.args, ['a', 'b']);
+ this.assertEquals(parser.args.length, 2);
+ this.assertEquals(parser.args[0].txt, 'a');
+ this.assertEquals(parser.args[1].txt, 'b');
txt= "(' a multi', /* to annoy you */ \"b multi \")";
cursor = new kukit.tk.Cursor(txt);
parser = new kukit.kssp.MethodArgs(cursor, kukit.kssp.openParent,
true);
this.assertEquals(parser.finished, true);
- this.assertListEquals(parser.args, [' a multi','b multi ']);
+ this.assertEquals(parser.args.length, 2);
+ this.assertEquals(parser.args[0].txt, ' a multi');
+ this.assertEquals(parser.args[1].txt, 'b multi ');
txt= "('a', /*comment*/ /* to annoy you */ \"b\")";
cursor = new kukit.tk.Cursor(txt);
parser = new kukit.kssp.MethodArgs(cursor, kukit.kssp.openParent,
true);
this.assertEquals(parser.finished, true);
- this.assertListEquals(parser.args, ['a', 'b']);
+ this.assertEquals(parser.args.length, 2);
+ this.assertEquals(parser.args[0].txt, 'a');
+ this.assertEquals(parser.args[1].txt, 'b');
txt= "(a, b, )";
cursor = new kukit.tk.Cursor(txt);
parser = new kukit.kssp.MethodArgs(cursor, kukit.kssp.openParent,
true);
this.assertEquals(parser.finished, true);
- this.assertListEquals(parser.args, ['a', 'b']);
+ this.assertEquals(parser.args.length, 2);
+ this.assertEquals(parser.args[0].txt, 'a');
+ this.assertEquals(parser.args[1].txt, 'b');
txt= "(a, b c )";
cursor = new kukit.tk.Cursor(txt);
@@ -378,10 +421,13 @@
var parser = new kukit.kssp.MethodArgs(cursor, kukit.kssp.openParent,
true);
this.assertEquals(parser.finished, true);
this.assertEquals(parser.args.length, 2);
- this.assertEquals(parser.args[0], 'a');
+ this.assertEquals(parser.args[0].isMethod, false);
+ this.assertEquals(parser.args[0].txt, 'a');
this.assertEquals(parser.args[1].isMethod, true);
this.assertEquals(parser.args[1].methodName, 'b');
- this.assertListEquals(parser.args[1].args, ['c', 'd']);
+ this.assertEquals(parser.args[1].args.length, 2);
+ this.assertEquals(parser.args[1].args[0].txt, 'c');
+ this.assertEquals(parser.args[1].args[1].txt, 'd');
};
this.testEmptyDoc = function() {
@@ -544,7 +590,9 @@
this.assertEquals(action.name, 'kukitGetPreviousMonth');
this.assertEquals(action.error, null);
this.assertKssParmEquals(action.parms, {
- 'member': new kukit.rd.KssMethodValue('formVar', ['edit',
'f_member'])
+ 'member': new kukit.rd.KssMethodValue('formVar',
+ [new kukit.rd.KssTextValue('edit'),
+ new kukit.rd.KssTextValue('f_member')])
});
// rule 4
@@ -580,7 +628,8 @@
this.assertEquals(action.name, 'clickedButton');
this.assertEquals(action.error, null);
this.assertKssParmEquals(action.parms, {
- 'id': new kukit.rd.KssMethodValue('nodeAttr', ['id'])
+ 'id': new kukit.rd.KssMethodValue('nodeAttr',
+ [new kukit.rd.KssTextValue('f_member')])
});
// rule 6
@@ -682,7 +731,8 @@
this.assertKssParmEquals(action.parms, {
'name': new kukit.rd.KssTextValue('backgroundColor'),
'value': new kukit.rd.KssTextValue('#FFa0a0'),
- 'kssSelector': new kukit.rd.KssMethodValue('htmlid',
['button_2'])
+ 'kssSelector': new kukit.rd.KssMethodValue('htmlid',
+ [new kukit.rd.KssTextValue('button_2')])
});
// rule 11
@@ -724,10 +774,15 @@
this.assertEquals(action.error, null);
var formVar = action.parms.member;
this.assertEquals(formVar.methodName, 'formVar');
- this.assertEquals(formVar.args[0], 'edit');
+ this.assertEquals(formVar.args.length, 2);
+ this.assertEquals(formVar.args[0].isMethod, false);
+ this.assertEquals(formVar.args[0].txt, 'edit');
var kssAttr = formVar.args[1];
+ this.assertEquals(kssAttr.isMethod, true);
this.assertEquals(kssAttr.methodName, 'kssAttr');
- this.assertListEquals(kssAttr.args, ['foo']);
+ this.assertEquals(kssAttr.args.length, 1);
+ this.assertEquals(kssAttr.args[0].isMethod, false);
+ this.assertEquals(kssAttr.args[0].txt, 'foo');
// rule 13
// #button-one:click(kssAttr(widannoy)) {\n"
@@ -740,7 +795,8 @@
this.assertEquals(rule.kssSelector.name, 'click');
this.assertEquals(rule.kssSelector.id, null);
this.assertEquals(rule.kssSelector.ppid.methodName, 'kssAttr');
- this.assertListEquals(rule.kssSelector.ppid.args, ['widannoy']);
+ this.assertEquals(rule.kssSelector.ppid.args.length, 1);
+ this.assertEquals(rule.kssSelector.ppid.args[0].txt, 'widannoy');
action = rule.actions.content['alert'];
this.assertEquals(action.type, 'C');
this.assertEquals(action.name, 'alert');
@@ -1045,7 +1101,7 @@
txt= "document: ";
cursor = new kukit.tk.Cursor(txt);
this.assertParsingError(kukit.kssp.KssSelector, cursor, null, true,
- 'Wrong event selector : event name cannot have spaces.', 10);
+ 'Wrong event selector : event name must exist.', 10);
// also, "behaviour:" works
txt= " behaviour:click(hello) ";
@@ -1413,7 +1469,8 @@
this.assertEquals(parser.kssSelector.name, 'click');
this.assertEquals(parser.kssSelector.id, null);
this.assertEquals(parser.kssSelector.ppid.methodName, 'kssAttr');
- this.assertListEquals(parser.kssSelector.ppid.args, ['hello']);
+ this.assertEquals(parser.kssSelector.ppid.args.length, 1);
+ this.assertEquals(parser.kssSelector.ppid.args[0].txt, 'hello');
};
this.testValueProvidersInEventIdentification2 = function() {
@@ -1426,7 +1483,9 @@
this.assertEquals(parser.kssSelector.name, 'click');
this.assertEquals(parser.kssSelector.id, null);
this.assertEquals(parser.kssSelector.ppid.methodName, 'kssAttr');
- this.assertListEquals(parser.kssSelector.ppid.args, ['hello', 'true']);
+ this.assertEquals(parser.kssSelector.ppid.args.length, 2);
+ this.assertEquals(parser.kssSelector.ppid.args[0].txt, 'hello');
+ this.assertEquals(parser.kssSelector.ppid.args[1].txt, 'true');
};
this.testValueProvidersInEventIdentificationRejectsMoreParameters =
function() {
_______________________________________________
Kukit-checkins mailing list
[email protected]
http://codespeak.net/mailman/listinfo/kukit-checkins