Author: fschulze Date: Wed Nov 16 14:51:14 2005 New Revision: 1840 Modified: azax/trunk/TODO.txt azax/trunk/azax/azax.js azax/trunk/tests/js/testStyleParse.js (contents, props changed) Log: Fixed test cases. Added some more todos.
Modified: azax/trunk/TODO.txt ============================================================================== --- azax/trunk/TODO.txt (original) +++ azax/trunk/TODO.txt Wed Nov 16 14:51:14 2005 @@ -1 +1,3 @@ * add logging where needed in js client +* add exception raising for fatal errors +* add and fix test cases Modified: azax/trunk/azax/azax.js ============================================================================== --- azax/trunk/azax/azax.js (original) +++ azax/trunk/azax/azax.js Wed Nov 16 14:51:14 2005 @@ -83,7 +83,9 @@ if (name == null) name = ""; - var action = event_node.firstChild.nodeValue; + var action = ""; + if (event_node.firstChild) + action = event_node.firstChild.nodeValue; if (selector != "" && property_type != "" && name != "" && action != "") { Modified: azax/trunk/tests/js/testStyleParse.js ============================================================================== --- azax/trunk/tests/js/testStyleParse.js (original) +++ azax/trunk/tests/js/testStyleParse.js Wed Nov 16 14:51:14 2005 @@ -1,9 +1,9 @@ -function StyleParseTestCase() { - this.name = 'StyleParseTestCase'; +function RuleParseTestCase() { + this.name = 'RuleParseTestCase'; } -StyleParseTestCase.prototype = new TestCase; -Class = StyleParseTestCase.prototype; +RuleParseTestCase.prototype = new TestCase; +Class = RuleParseTestCase.prototype; Class.setUp = function() { this.preprocessor = new AzaxPreProcessor(); @@ -14,93 +14,91 @@ }; -Class.testOneStyle = function() { - input = '<?xml version="1.0"?><styles><style><selector>button.button</selector><event>click</event><action>getDivContent</action></style></styles>'; +Class.testOneRule = function() { + input = '<?xml version="1.0"?><rules><rule selector="button.button"><event name="click">getDivContent</event></rule></rules>'; var dom = this.doc.parseFromString(input, 'text/xml') - this.preprocessor.parseStyleDom(dom); - styles = this.preprocessor.styles; - this.assertEquals(styles.length, 1); - style = styles[0]; - this.assertEquals(style.selector, 'button.button'); - this.assertEquals(style.event, 'click'); - this.assertEquals(style.action, 'getDivContent'); + this.preprocessor.parseRuleDom(dom); + rules = this.preprocessor.rules; + this.assertEquals(rules.length, 1); + rule = rules[0]; + this.assertEquals(rule.selector, 'button.button'); + this.assertEquals(rule.property_type, 'event'); + this.assertEquals(rule.name, 'click'); + this.assertEquals(rule.action, 'getDivContent'); } Class.testOneWrongSelector = function() { - input = '<?xml version="1.0"?><styles><style><selector></selector><event>click</event><action>getDivContent</action></style></styles>'; + input = '<?xml version="1.0"?><rules><rule selector=""><event name="click">getDivContent</event></rule></rules>'; var dom = this.doc.parseFromString(input, 'text/xml') - this.preprocessor.parseStyleDom(dom); - styles = this.preprocessor.styles; - this.assertEquals(styles.length, 0); - - input = '<?xml version="1.0"?><styles><style><selector>button</selector><selector>button</selector><event>click</event><action>getDivContent</action></style></styles>'; - var dom = this.doc.parseFromString(input, 'text/xml') - this.preprocessor.parseStyleDom(dom); - styles = this.preprocessor.styles; - this.assertEquals(styles.length, 0); + this.preprocessor.parseRuleDom(dom); + rules = this.preprocessor.rules; + this.assertEquals(rules.length, 0); } Class.testOneWrongEvent = function() { - input = '<?xml version="1.0"?><styles><style><selector>button</selector><event></event><action>getDivContent</action></style></styles>'; + input = '<?xml version="1.0"?><rules><rule selector="button"><event name="">getDivContent</event></rule></rules>'; var dom = this.doc.parseFromString(input, 'text/xml') - this.preprocessor.parseStyleDom(dom); - styles = this.preprocessor.styles; - this.assertEquals(styles.length, 0); - - input = '<?xml version="1.0"?><styles><style><selector>button</selector><event>click</event><event>click</event><action>getDivContent</action></style></styles>'; - var dom = this.doc.parseFromString(input, 'text/xml') - this.preprocessor.parseStyleDom(dom); - styles = this.preprocessor.styles; - this.assertEquals(styles.length, 0); + this.preprocessor.parseRuleDom(dom); + rules = this.preprocessor.rules; + this.assertEquals(rules.length, 0); } Class.testOneWrongAction = function() { - input = '<?xml version="1.0"?><styles><style><selector>button</selector><event>click</event><action></action></style></styles>'; + input = '<?xml version="1.0"?><rules><rule selector="button"><event name="click"></event></rule></rules>'; var dom = this.doc.parseFromString(input, 'text/xml') - this.preprocessor.parseStyleDom(dom); - styles = this.preprocessor.styles; - this.assertEquals(styles.length, 0); - - input = '<?xml version="1.0"?><styles><style><selector>button</selector><event>click</event><action>getDivContent</action><action>getDivContent</action></style></styles>'; - var dom = this.doc.parseFromString(input, 'text/xml') - this.preprocessor.parseStyleDom(dom); - styles = this.preprocessor.styles; - this.assertEquals(styles.length, 0); -} - -Class.testCorrectStyles = function() { - input = '<?xml version="1.0"?><styles><style><selector>button.button</selector><event>click</event><action>getDivContent</action></style><style><selector>button.second</selector><event>click</event><action>Second</action></style></styles>'; - var dom = this.doc.parseFromString(input, 'text/xml') - this.preprocessor.parseStyleDom(dom); - styles = this.preprocessor.styles; - this.assertEquals(styles.length, 2); - style = styles[0]; - this.assertEquals(style.selector, 'button.button'); - this.assertEquals(style.event, 'click'); - this.assertEquals(style.action, 'getDivContent'); - style = styles[1]; - this.assertEquals(style.selector, 'button.second'); - this.assertEquals(style.event, 'click'); - this.assertEquals(style.action, 'Second'); -} - -Class.testCorrectStylesPlusOneWrong = function() { - input = '<?xml version="1.0"?><styles><style><selector>button.button</selector><event>click</event><action>getDivContent</action></style><style><selector>button.second</selector><event>click</event><action>Second</action></style><style><selector>button</selector><event>click</event><action>getDivContent</action><action>getDivContent</action></style></styles>'; - var dom = this.doc.parseFromString(input, 'text/xml') - this.preprocessor.parseStyleDom(dom); - styles = this.preprocessor.styles; - this.assertEquals(styles.length, 2); - style = styles[0]; - this.assertEquals(style.selector, 'button.button'); - this.assertEquals(style.event, 'click'); - this.assertEquals(style.action, 'getDivContent'); - style = styles[1]; - this.assertEquals(style.selector, 'button.second'); - this.assertEquals(style.event, 'click'); - this.assertEquals(style.action, 'Second'); + this.preprocessor.parseRuleDom(dom); + rules = this.preprocessor.rules; + this.assertEquals(rules.length, 0); +} + +Class.testCorrectRules = function() { + input = '<?xml version="1.0"?><rules><rule selector="button.button"><event name="click">getDivContent</event></rule><rule selector="button.second"><event name="click">Second</event></rule></rules>'; + var dom = this.doc.parseFromString(input, 'text/xml') + this.preprocessor.parseRuleDom(dom); + rules = this.preprocessor.rules; + this.assertEquals(rules.length, 2); + rule = rules[0]; + this.assertEquals(rule.selector, 'button.button'); + this.assertEquals(rule.property_type, 'event'); + this.assertEquals(rule.name, 'click'); + this.assertEquals(rule.action, 'getDivContent'); + rule = rules[1]; + this.assertEquals(rule.selector, 'button.second'); + this.assertEquals(rule.property_type, 'event'); + this.assertEquals(rule.name, 'click'); + this.assertEquals(rule.action, 'Second'); +} + +Class.xxx_testCorrectRulesPlusOneWrong = function() { + // this should throw an error, diabled till this is implemented + input = '<?xml version="1.0"?>' + + '<rules>' + + '<rule selector="button.button">' + + '<event name="click">getDivContent</event>' + + '</rule>' + + '<rule selector="button.second">' + + '<event name="click">Second</event>' + + '</rule>' + + '<rule selector="button">' + + '<event name="click">getDivContent</event>' + + '<event name="click">getDivContent</event>' + + '</rule>' + + '</rules>'; + var dom = this.doc.parseFromString(input, 'text/xml') + this.preprocessor.parseRuleDom(dom); + rules = this.preprocessor.rules; + this.assertEquals(rules.length, 2); + rule = rules[0]; + this.assertEquals(rule.selector, 'button.button'); + this.assertEquals(rule.event, 'click'); + this.assertEquals(rule.action, 'getDivContent'); + rule = rules[1]; + this.assertEquals(rule.selector, 'button.second'); + this.assertEquals(rule.event, 'click'); + this.assertEquals(rule.action, 'Second'); } -testcase_registry.registerTestCase(StyleParseTestCase, 'styleparse'); +testcase_registry.registerTestCase(RuleParseTestCase, 'ruleparse'); function CommandsParseTestCase() { this.name = 'CommandsParseTestCase'; @@ -119,15 +117,15 @@ Class.testOneCommand = function() { - /*input = '<?xml version="1.0"?><styles><style><selector>button.button</selector><event>click</event><action>getDivContent</action></style></styles>'; + /*input = '<?xml version="1.0"?><rules><rule><selector>button.button</selector><event>click</event><action>getDivContent</action></rule></rules>'; var dom = this.doc.parseFromString(input, 'text/xml') - this.preprocessor.parseStyleDom(dom); - styles = this.preprocessor.styles; - this.assertEquals(styles.length, 1); - style = styles[0]; - this.assertEquals(style.selector, 'button.button'); - this.assertEquals(style.event, 'click'); - this.assertEquals(style.action, 'getDivContent');*/ + this.preprocessor.parseRuleDom(dom); + rules = this.preprocessor.rules; + this.assertEquals(rules.length, 1); + rule = rules[0]; + this.assertEquals(rule.selector, 'button.button'); + this.assertEquals(rule.event, 'click'); + this.assertEquals(rule.action, 'getDivContent');*/ } testcase_registry.registerTestCase(CommandsParseTestCase, 'commandparse'); -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins