//------------------------------------------------------------------------------------------------------- // Copyright (C) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. //------------------------------------------------------------------------------------------------------- var sources = [ "/(?:)/", "", "(?:)", "/a\\tb/", "a\tb", "a\\tb", "/a\\nb/", "a\nb", "a\\nb", "/a\\x0ab/", "a\x0ab", "a\\x0ab", "/a\\u000ab/", "a\u000ab", "a\\u000ab" ]; var sourceIndex = 0; var flags = ["g", "i", "m", "gi", "ig", "gm", "mg", "im", "mi", "gim", "gmi", "igm", "img", "mgi", "mig"]; var flagIndex = 0; var n = Math.max(sources.length, flags.length); for(var i = 0; i < n; ++i) { var s = sources[sourceIndex++ % sources.length]; var f = flags[flagIndex++ % flags.length]; var r; if(s.charAt(0) === "/") r = eval(s + f); else r = new RegExp(s, f); runTest(r); } function runTest(r) { echo(r.source); echo(r.toString()); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// function echo() { var doEcho; if(this.WScript) doEcho = function (s) { this.WScript.Echo(s); }; else if(this.document) doEcho = function (s) { var div = this.document.createElement("div"); div.innerText = s; this.document.body.appendChild(div); }; else doEcho = function (s) { this.print(s); }; echo = function () { var s = ""; for(var i = 0; i < arguments.length; ++i) s += arguments[i]; doEcho(s); }; echo.apply(this, arguments); }