PageRenderTime 45ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/public/node_modules/xmldom/test/error.js

https://bitbucket.org/davidagraf/svg-converter
JavaScript | 71 lines | 67 code | 2 blank | 2 comment | 2 complexity | 129f5a3e944b3631a540055d96416a3d MD5 | raw file
  1. var wows = require('vows');
  2. var DOMParser = require('xmldom').DOMParser;
  3. wows.describe('errorHandle').addBatch({
  4. 'only function two args': function() {
  5. var error = {}
  6. var parser = new DOMParser({
  7. errorHandler:function(key,msg){error[key] = msg}
  8. });
  9. try{
  10. var doc = parser.parseFromString('<html disabled><1 1="2"/></body></html>', 'text/xml');
  11. console.assert(error.warning!=null ,'error.error:'+error.warning);
  12. console.assert(error.error!=null ,'error.error:'+error.error);
  13. console.assert(error.fatalError!=null ,'error.error:'+error.fatalError);
  14. //console.log(doc+'')
  15. }catch(e){
  16. }
  17. },
  18. 'only function': function() {
  19. var error = []
  20. var parser = new DOMParser({
  21. errorHandler:function(msg){error.push(msg)}
  22. });
  23. try{
  24. var doc = parser.parseFromString('<html disabled><1 1="2"/></body></html>', 'text/xml');
  25. error.map(function(e){error[e.replace(/\:[\s\S]*/,'')]=e})
  26. console.assert(error.warning!=null ,'error.error:'+error.warning);
  27. console.assert(error.error!=null ,'error.error:'+error.error);
  28. console.assert(error.fatalError!=null ,'error.error:'+error.fatalError);
  29. //console.log(doc+'')
  30. }catch(e){
  31. }
  32. },
  33. 'only function': function() {
  34. var error = []
  35. var errorMap = []
  36. new DOMParser({
  37. errorHandler:function(msg){error.push(msg)}
  38. }).parseFromString('<html><body title="1<2">test</body></html>', 'text/xml');
  39. 'warn,warning,error,fatalError'.replace(/\w+/g,function(k){
  40. var errorHandler = {};
  41. errorMap[k] = [];
  42. errorHandler[k] = function(msg){errorMap[k] .push(msg)}
  43. new DOMParser({errorHandler:errorHandler}).parseFromString('<html><body title="1<2">test</body></html>', 'text/xml');
  44. });
  45. for(var n in errorMap){
  46. console.assert(error.length == errorMap[n].length)
  47. }
  48. },
  49. 'error function': function() {
  50. var error = []
  51. var parser = new DOMParser({
  52. locator:{},
  53. errorHandler:{
  54. error:function(msg){
  55. error.push(msg);
  56. throw new Error(msg)
  57. }
  58. }
  59. });
  60. try{
  61. var doc = parser.parseFromString('<html><body title="1<2"><table>&lt;;test</body></body></html>', 'text/html');
  62. }catch(e){
  63. console.log(e);
  64. console.assert(/\n@#\[line\:\d+,col\:\d+\]/.test(error.join(' ')),'line,col must record:'+error)
  65. return;
  66. }
  67. console.assert(false,doc+' should be null');
  68. }
  69. }).run();