[KSS-checkins] r50393 - in kukit/kukit.js/branch/ree-service-layer-and-refactoring: . tests
reebalazs at codespeak.net
reebalazs at codespeak.net
Sun Jan 6 17:08:14 CET 2008
Author: reebalazs
Date: Sun Jan 6 17:08:13 2008
New Revision: 50393
Modified:
kukit/kukit.js/branch/ree-service-layer-and-refactoring/ (props changed)
kukit/kukit.js/branch/ree-service-layer-and-refactoring/tests/test_tokenizer.js
Log:
Fix the ecma test testException itself, to run on IE
All ecma is green on IE6, and Safari 3.0.3
Modified: kukit/kukit.js/branch/ree-service-layer-and-refactoring/tests/test_tokenizer.js
==============================================================================
--- kukit/kukit.js/branch/ree-service-layer-and-refactoring/tests/test_tokenizer.js (original)
+++ kukit/kukit.js/branch/ree-service-layer-and-refactoring/tests/test_tokenizer.js Sun Jan 6 17:08:13 2008
@@ -105,26 +105,19 @@
} catch(e) {
exc = e;
}
+ // It is pointless to test for exc.toString(), first IE returns the constant
+ // '[object Error]' in some versions, then it is not really important
+ // for us since we use our own annotation info anyway.
this.assertNotEquals(exc, null);
this.assertEquals(exc.name, 'ParsingError');
- // test here under tries to discriminate IE
- // it does work for IE 6.0.2900.2180.xpsp_sp2
- // it does not work at least for IE 6.0.2800.1106
- if (typeof(exc.number) == 'number') {
- // IE
- this.assertEquals(exc.description, 'ParsingError: Error happened');
- this.assertEquals(exc.info.message, 'Error happened');
- } else {
- // toString result is browser dependent.
- // colon in FF
- // dash in Safari
- // reason for the indexOf below
- var toString = exc.toString();
- this.assertTrue(toString.indexOf('ParsingError') != -1, '"ParsingError" not in toString() : ' + toString);
- this.assertTrue(toString.indexOf('Error happened') != -1, '"Error happened" not in toString() : ' + toString);
- this.assertEquals(exc.message, 'ParsingError: Error happened');
- this.assertEquals(exc.info.message, 'Error happened');
- };
+ // exc.description is needed for IE,
+ // ... exc.message is for all W3C compliant browsers.
+ this.assert(exc.message =='ParsingError: Error happened' ||
+ exc.description == 'ParsingError: Error happened');
+ // Most important is to have the annotation info,
+ // since we use this for logging and testing:
+ this.assertEquals(exc.info.message, 'Error happened');
+ // check positions
this.assertEquals(exc.errpos, null);
this.assertEquals(exc.errrow, null);
this.assertEquals(exc.errcol, null);
@@ -143,24 +136,19 @@
}
this.assertNotEquals(exc, null);
this.assertEquals(exc.name, 'ParsingError');
- // test here under tries to discriminate IE
- // it does work for IE 6.0.2900.2180.xpsp_sp2
- // it does not work at least for IE 6.0.2800.1106
- if (typeof(exc.number) == 'number') {
- // IE
- this.assertEquals(exc.description, 'ParsingError: Error happened, at row 3, column 4');
- this.assertEquals(exc.info.message, 'Error happened, at row 3, column 4');
- } else {
- // toString result is browser dependent.
- // colon in FF
- // dash in Safari
- // reason for the indexOf below
- var toString = exc.toString();
- this.assertTrue(toString.indexOf('ParsingError') != -1, '"ParsingError" not in toString() : ' + toString);
- this.assertTrue(toString.indexOf('Error happened, at row 3, column 4') != -1, '"Error happened, at row 3, column 4" not in toString() : ' + toString);
- this.assertEquals(exc.message, 'ParsingError: Error happened, at row 3, column 4');
- this.assertEquals(exc.info.message, 'Error happened, at row 3, column 4');
- };
+ // It is pointless to test for exc.toString(), first IE returns the constant
+ // '[object Error]' in some versions, then it is not really important
+ // for us since we use our own annotation info anyway.
+ this.assertNotEquals(exc, null);
+ this.assertEquals(exc.name, 'ParsingError');
+ // exc.description is needed for IE,
+ // ... exc.message is for all W3C compliant browsers.
+ this.assert(exc.message == 'ParsingError: Error happened, at row 3, column 4' ||
+ exc.description == 'Error happened');
+ // Most important is to have the annotation info,
+ // since we use this for logging and testing:
+ this.assertEquals(exc.info.message, 'Error happened, at row 3, column 4');
+ // check positions
this.assertEquals(exc.info.kw.errpos, 13);
this.assertEquals(exc.info.kw.errrow, 3);
this.assertEquals(exc.info.kw.errcol, 4);
More information about the Kukit-checkins
mailing list