1 /*
   2  * Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  */
  23 
  24 /**
  25  * JDK-8030202: Nashorn: Multiple RegExp#ignoreCase issues
  26  *
  27  * @test
  28  * @run
  29  */
  30 
  31 print(/\u2160/i.test("\u2170"));
  32 print(/[\u2160]/i.test("\u2170"));
  33 print(/\u2170/i.test("\u2160"));
  34 print(/[\u2170]/i.test("\u2160"));
  35 
  36 print(/\u0130/i.test("\u0069"));
  37 print(/[\u0130]/i.test("\u0069"));
  38 print(/\u0069/i.test("\u0130"));
  39 print(/[\u0069]/i.test("\u0130"));
  40 
  41 print(/\u1e9e/i.test("\u00df"));
  42 print(/[\u1e9e]/i.test("\u00df"));
  43 print(/\u00df/i.test("\u1e9e"));
  44 print(/[\u00df]/i.test("\u1e9e"));
  45 
  46 print(/[^\u1e9e]/i.test("\u00df"));
  47 print(/[^\u00df]/i.test("\u1e9e"));
  48 
  49 print(/\u0345{4}/i.test("\u0345\u0399\u03b9\u1fbe"));
  50 print(/\u0399{4}/i.test("\u0345\u0399\u03b9\u1fbe"));
  51 print(/\u03b9{4}/i.test("\u0345\u0399\u03b9\u1fbe"));
  52 print(/\u1fbe{4}/i.test("\u0345\u0399\u03b9\u1fbe"));
  53 
  54 print(/[\u0345]{4}/i.test("\u0345\u0399\u03b9\u1fbe"));
  55 print(/[\u0399]{4}/i.test("\u0345\u0399\u03b9\u1fbe"));
  56 print(/[\u03b9]{4}/i.test("\u0345\u0399\u03b9\u1fbe"));
  57 print(/[\u1fbe]{4}/i.test("\u0345\u0399\u03b9\u1fbe"));