| /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ |
| /* This Source Code Form is subject to the terms of the Mozilla Public |
| * License, v. 2.0. If a copy of the MPL was not distributed with this |
| * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
| |
| //----------------------------------------------------------------------------- |
| var BUGNUMBER = 351463; |
| var summary = 'Treat hyphens as not special adjacent to CharacterClassEscapes in character classes'; |
| var actual = ''; |
| var expect = ''; |
| |
| |
| //----------------------------------------------------------------------------- |
| test(); |
| //----------------------------------------------------------------------------- |
| |
| function test() |
| { |
| enterFunc ('test'); |
| printBugNumber(BUGNUMBER); |
| printStatus (summary); |
| |
| var r; |
| var s = 'a0- z'; |
| |
| r = '([\\d-\\s]+)'; |
| expect = ['0- ', '0- '] + ''; |
| actual = null; |
| |
| try |
| { |
| actual = new RegExp(r).exec(s) + ''; |
| } |
| catch(ex) |
| { |
| actual = ex + ''; |
| } |
| reportCompare(expect, actual, summary + ': /' + r + '/.exec("' + s + '")'); |
| |
| r = '([\\s-\\d]+)'; |
| expect = ['0- ', '0- '] + ''; |
| actual = null; |
| |
| try |
| { |
| actual = new RegExp(r).exec(s) + ''; |
| } |
| catch(ex) |
| { |
| actual = ex + ''; |
| } |
| reportCompare(expect, actual, summary + ': /' + r + '/.exec("' + s + '")'); |
| |
| r = '([\\D-\\s]+)'; |
| expect = ['a', 'a'] + ''; |
| actual = null; |
| |
| try |
| { |
| actual = new RegExp(r).exec(s) + ''; |
| } |
| catch(ex) |
| { |
| actual = ex + ''; |
| } |
| reportCompare(expect, actual, summary + ': /' + r + '/.exec("' + s + '")'); |
| |
| r = '([\\s-\\D]+)'; |
| expect = ['a', 'a'] + ''; |
| actual = null; |
| |
| try |
| { |
| actual = new RegExp(r).exec(s) + ''; |
| } |
| catch(ex) |
| { |
| actual = ex + ''; |
| } |
| reportCompare(expect, actual, summary + ': /' + r + '/.exec("' + s + '")'); |
| |
| r = '([\\d-\\S]+)'; |
| expect = ['a0-', 'a0-'] + ''; |
| actual = null; |
| |
| try |
| { |
| actual = new RegExp(r).exec(s) + ''; |
| } |
| catch(ex) |
| { |
| actual = ex + ''; |
| } |
| reportCompare(expect, actual, summary + ': /' + r + '/.exec("' + s + '")'); |
| |
| r = '([\\S-\\d]+)'; |
| expect = ['a0-', 'a0-'] + ''; |
| actual = null; |
| |
| try |
| { |
| actual = new RegExp(r).exec(s) + ''; |
| } |
| catch(ex) |
| { |
| actual = ex + ''; |
| } |
| reportCompare(expect, actual, summary + ': /' + r + '/.exec("' + s + '")'); |
| |
| r = '([\\D-\\S]+)'; |
| expect = ['a0- z', 'a0- z'] + ''; |
| actual = null; |
| |
| try |
| { |
| actual = new RegExp(r).exec(s) + ''; |
| } |
| catch(ex) |
| { |
| actual = ex + ''; |
| } |
| reportCompare(expect, actual, summary + ': /' + r + '/.exec("' + s + '")'); |
| |
| r = '([\\S-\\D]+)'; |
| expect = ['a0- z', 'a0- z'] + ''; |
| actual = null; |
| |
| try |
| { |
| actual = new RegExp(r).exec(s) + ''; |
| } |
| catch(ex) |
| { |
| actual = ex + ''; |
| } |
| reportCompare(expect, actual, summary + ': /' + r + '/.exec("' + s + '")'); |
| |
| // -- |
| |
| r = '([\\w-\\s]+)'; |
| expect = ['a0- z', 'a0- z'] + ''; |
| actual = null; |
| |
| try |
| { |
| actual = new RegExp(r).exec(s) + ''; |
| } |
| catch(ex) |
| { |
| actual = ex + ''; |
| } |
| reportCompare(expect, actual, summary + ': /' + r + '/.exec("' + s + '")'); |
| |
| r = '([\\s-\\w]+)'; |
| expect = ['a0- z', 'a0- z'] + ''; |
| actual = null; |
| |
| try |
| { |
| actual = new RegExp(r).exec(s) + ''; |
| } |
| catch(ex) |
| { |
| actual = ex + ''; |
| } |
| reportCompare(expect, actual, summary + ': /' + r + '/.exec("' + s + '")'); |
| |
| r = '([\\W-\\s]+)'; |
| expect = ['- ', '- '] + ''; |
| actual = null; |
| |
| try |
| { |
| actual = new RegExp(r).exec(s) + ''; |
| } |
| catch(ex) |
| { |
| actual = ex + ''; |
| } |
| reportCompare(expect, actual, summary + ': /' + r + '/.exec("' + s + '")'); |
| |
| r = '([\\s-\\W]+)'; |
| expect = ['- ', '- '] + ''; |
| actual = null; |
| |
| try |
| { |
| actual = new RegExp(r).exec(s) + ''; |
| } |
| catch(ex) |
| { |
| actual = ex + ''; |
| } |
| reportCompare(expect, actual, summary + ': /' + r + '/.exec("' + s + '")'); |
| |
| r = '([\\w-\\S]+)'; |
| expect = ['a0-', 'a0-'] + ''; |
| actual = null; |
| |
| try |
| { |
| actual = new RegExp(r).exec(s) + ''; |
| } |
| catch(ex) |
| { |
| actual = ex + ''; |
| } |
| reportCompare(expect, actual, summary + ': /' + r + '/.exec("' + s + '")'); |
| |
| r = '([\\S-\\w]+)'; |
| expect = ['a0-', 'a0-'] + ''; |
| actual = null; |
| |
| try |
| { |
| actual = new RegExp(r).exec(s) + ''; |
| } |
| catch(ex) |
| { |
| actual = ex + ''; |
| } |
| reportCompare(expect, actual, summary + ': /' + r + '/.exec("' + s + '")'); |
| |
| r = '([\\W-\\S]+)'; |
| expect = ['a0- z', 'a0- z'] + ''; |
| actual = null; |
| |
| try |
| { |
| actual = new RegExp(r).exec(s) + ''; |
| } |
| catch(ex) |
| { |
| actual = ex + ''; |
| } |
| reportCompare(expect, actual, summary + ': /' + r + '/.exec("' + s + '")'); |
| |
| r = '([\\S-\\W]+)'; |
| expect = ['a0- z', 'a0- z'] + ''; |
| actual = null; |
| |
| try |
| { |
| actual = new RegExp(r).exec(s) + ''; |
| } |
| catch(ex) |
| { |
| actual = ex + ''; |
| } |
| reportCompare(expect, actual, summary + ': /' + r + '/.exec("' + s + '")'); |
| |
| |
| exitFunc ('test'); |
| } |