| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| */ |
| package groovy.bugs |
| |
| /** |
| * @author Pilho Kim |
| */ |
| class Groovy675_Bug extends GroovyTestCase { |
| void testStringAndGString() { |
| assert "\\"!="\\\\" |
| assert "\\\$"=="\\"+"\$" |
| assert "\\"+"\\\\" == "\\"+"\\"+"\\" && "\\\\"+"\\" == "\\"+"\\"+"\\" |
| assert ("\\\\"+"\\").length() == 3 |
| assert "\\3 \$1\$2" == "\\" + "3" + " " + "\$" + "1" + "\$" + "2" |
| assert "\\\\3 \\\$1\$2" == "\\" + "\\" + "3" + " " + "\\"+ "\$" + "1" + "\$" + "2" |
| assert "\\\\\\3 \\\\\$1\$2" == "\\" + "\\\\" + "3" + " " + "\\\\"+ "\$" + "1" + "\$" + "2" |
| assert "\\\\\\\\3 \\\\\\\$1\$2" == "\\\\" + "\\\\" + "3" + " " + "\\\\\\"+ "\$" + "1" + "\$" + "2" |
| |
| assert "\\\\" == "\\" + "\\" |
| assert "\\\\".length() == 2 |
| |
| def z = 100 + 200 |
| assert "\\\\ \\ ${z}" == "\\\\ \\ 300" |
| assert "\\\\ \\ ${z}" == "\\" + "\\" + " " + "\\" + " " + "300" |
| assert "Hello\\, \\World\\".charAt(4) == "o".charAt(0) |
| assert "Hello\\, \\World\\".charAt(5) == "\\".charAt(0) |
| assert "Hello\\, \\World\\".charAt(6) == ",".charAt(0) |
| } |
| } |