nul_character.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. var output = "";
  6. function echo(o) {
  7. try {
  8. document.write(o + "<br/>");
  9. } catch (ex) {
  10. try {
  11. WScript.Echo("" + o);
  12. } catch (ex2) {
  13. print("" + o);
  14. }
  15. }
  16. }
  17. echo("--- 1 ---");
  18. try { echo(eval('/a\0b/').toString().length); } catch (e) { echo("EXCEPTION"); }
  19. try { echo(eval("/\n/")); } catch (e) { echo("EXCEPTION"); }
  20. try { echo(eval("/\r/")); } catch (e) { echo("EXCEPTION"); }
  21. echo("--- 2 ---");
  22. try { echo(eval("/\\\0/").toString().length); } catch (e) { echo("EXCEPTION"); }
  23. try { echo(eval("/\\\n/")); } catch (e) { echo("EXCEPTION"); }
  24. try { echo(eval("/\\\r/")); } catch (e) { echo("EXCEPTION"); }
  25. try { echo(eval("/\\\u2028/")); } catch (e) { echo("EXCEPTION"); }
  26. try { echo(eval("/\\\u2029/")); } catch (e) { echo("EXCEPTION"); }
  27. try { echo(eval("/\\")); } catch (e) { echo("EXCEPTION"); }
  28. try { echo(eval("/\\\0/").toString().length); } catch (e) { echo("EXCEPTION"); }
  29. try { echo(eval("/\\\0a/").toString().length); } catch (e) { echo("EXCEPTION"); }
  30. echo("--- 3 ---");
  31. try { echo(eval("/[\n]/")); } catch (e) { echo("EXCEPTION"); }
  32. try { echo(eval("/[\r]/")); } catch (e) { echo("EXCEPTION"); }
  33. try { echo(eval("/[\u2028]/")); } catch (e) { echo("EXCEPTION"); }
  34. try { echo(eval("/[\u2029]/")); } catch (e) { echo("EXCEPTION"); }
  35. try { echo(eval("/[\0]/").toString().length); } catch (e) { echo("EXCEPTION"); }
  36. try { echo(eval("/[").toString().length); } catch (e) { echo("EXCEPTION"); }
  37. try { echo(eval("/a)/")); } catch (e) { echo("EXCEPTION"); }
  38. echo("--- 4 ---");
  39. try { echo(eval('/\u2028*/').toString().length) } catch (e) { echo("EXCEPTION"); }
  40. try { echo(eval('/\u2029*/').toString().length) } catch (e) { echo("EXCEPTION"); }
  41. try { echo(eval('/\r*/').toString().length) } catch (e) { echo("EXCEPTION"); }
  42. try { echo(eval('/\n*/').toString().length) } catch (e) { echo("EXCEPTION"); }
  43. try { echo(eval('\0*').toString().length) } catch (e) { echo("EXCEPTION"); }
  44. try { echo(eval('\0a*').toString().length) } catch (e) { echo("EXCEPTION"); }
  45. echo("--- 5 ---");
  46. try { echo(eval('\\\0*').toString().length) } catch (e) { echo("EXCEPTION"); }
  47. try { echo(eval('/\\\r*/').toString().length) } catch (e) { echo("EXCEPTION"); }
  48. try { echo(eval('/\\\n*/').toString().length) } catch (e) { echo("EXCEPTION"); }
  49. try { echo(eval('/[\r]/').toString().length) } catch (e) { echo("EXCEPTION"); }
  50. try { echo(eval('/[\n]/').toString().length) } catch (e) { echo("EXCEPTION"); }
  51. try { echo(eval('[\0]').toString().length) } catch (e) { echo("EXCEPTION"); }