| var BUGNUMBER = 1130860; |
| var summary = 'Slash and LineTerminator should be escaped correctly.'; |
| |
| print(BUGNUMBER + ": " + summary); |
| |
| function test(re, source) { |
| assertEq(re.source, source); |
| assertEq(eval("/" + re.source + "/").source, source); |
| assertEq(re.toString(), "/" + source + "/"); |
| } |
| |
| test(/\\n/, "\\\\n"); |
| test(/\\\n/, "\\\\\\n"); |
| test(/\\\\n/, "\\\\\\\\n"); |
| test(RegExp("\\n"), "\\n"); |
| test(RegExp("\\\n"), "\\n"); |
| test(RegExp("\\\\n"), "\\\\n"); |
| |
| test(/\\r/, "\\\\r"); |
| test(/\\\r/, "\\\\\\r"); |
| test(/\\\\r/, "\\\\\\\\r"); |
| test(RegExp("\\r"), "\\r"); |
| test(RegExp("\\\r"), "\\r"); |
| test(RegExp("\\\\r"), "\\\\r"); |
| |
| test(/\\u2028/, "\\\\u2028"); |
| test(/\\\u2028/, "\\\\\\u2028"); |
| test(/\\\\u2028/, "\\\\\\\\u2028"); |
| test(RegExp("\\u2028"), "\\u2028"); |
| test(RegExp("\\\u2028"), "\\u2028"); |
| test(RegExp("\\\\u2028"), "\\\\u2028"); |
| |
| test(/\\u2029/, "\\\\u2029"); |
| test(/\\\u2029/, "\\\\\\u2029"); |
| test(/\\\\u2029/, "\\\\\\\\u2029"); |
| test(RegExp("\\u2029"), "\\u2029"); |
| test(RegExp("\\\u2029"), "\\u2029"); |
| test(RegExp("\\\\u2029"), "\\\\u2029"); |
| |
| test(/\//, "\\/"); |
| test(/\\\//, "\\\\\\/"); |
| test(RegExp("/"), "\\/"); |
| test(RegExp("\/"), "\\/"); |
| test(RegExp("\\/"), "\\/"); |
| test(RegExp("\\\/"), "\\/"); |
| test(RegExp("\\\\/"), "\\\\\\/"); |
| |
| test(/[/]/, "[/]"); |
| test(/[\/]/, "[\\/]"); |
| test(/[\\/]/, "[\\\\/]"); |
| test(/[\\\/]/, "[\\\\\\/]"); |
| test(RegExp("[/]"), "[/]"); |
| test(RegExp("[\/]"), "[/]"); |
| test(RegExp("[\\/]"), "[\\/]"); |
| test(RegExp("[\\\/]"), "[\\/]"); |
| test(RegExp("[\\\\/]"), "[\\\\/]"); |
| |
| test(RegExp("\[/\]"), "[/]"); |
| test(RegExp("\[\\/\]"), "[\\/]"); |
| |
| test(/\[\/\]/, "\\[\\/\\]"); |
| test(/\[\\\/\]/, "\\[\\\\\\/\\]"); |
| test(RegExp("\\[/\\]"), "\\[\\/\\]"); |
| test(RegExp("\\[\/\\]"), "\\[\\/\\]"); |
| test(RegExp("\\[\\/\\]"), "\\[\\/\\]"); |
| test(RegExp("\\[\\\/\\]"), "\\[\\/\\]"); |
| test(RegExp("\\[\\\\/\\]"), "\\[\\\\\\/\\]"); |
| |
| if (typeof reportCompare === "function") |
| reportCompare(true, true); |