Mercurial > hg > mercurial
annotate mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/BaseCommandTest.java @ 976:7bf4d943d5bb
Update copyright
author | pavel.sher |
---|---|
date | Mon, 22 Jan 2018 11:39:20 +0100 |
parents | f86c06f4ab8a |
children | 4c2548700627 |
rev | line source |
---|---|
732
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
480
diff
changeset
|
1 /* |
976 | 2 * Copyright 2000-2018 JetBrains s.r.o. |
732
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
480
diff
changeset
|
3 * |
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
480
diff
changeset
|
4 * Licensed under the Apache License, Version 2.0 (the "License"); |
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
480
diff
changeset
|
5 * you may not use this file except in compliance with the License. |
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
480
diff
changeset
|
6 * You may obtain a copy of the License at |
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
480
diff
changeset
|
7 * |
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
480
diff
changeset
|
8 * http://www.apache.org/licenses/LICENSE-2.0 |
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
480
diff
changeset
|
9 * |
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
480
diff
changeset
|
10 * Unless required by applicable law or agreed to in writing, software |
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
480
diff
changeset
|
11 * distributed under the License is distributed on an "AS IS" BASIS, |
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
480
diff
changeset
|
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
480
diff
changeset
|
13 * See the License for the specific language governing permissions and |
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
480
diff
changeset
|
14 * limitations under the License. |
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
480
diff
changeset
|
15 */ |
31a1aca3305c
Update copyright
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
480
diff
changeset
|
16 |
229
9e60b6d1e5fd
Escape quotes in command line parameters
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
17 package jetbrains.buildServer.buildTriggers.vcs.mercurial.command; |
9e60b6d1e5fd
Escape quotes in command line parameters
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
18 |
9e60b6d1e5fd
Escape quotes in command line parameters
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
19 import com.intellij.openapi.util.SystemInfo; |
9e60b6d1e5fd
Escape quotes in command line parameters
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
20 import junit.framework.TestCase; |
9e60b6d1e5fd
Escape quotes in command line parameters
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
21 import org.testng.annotations.Test; |
9e60b6d1e5fd
Escape quotes in command line parameters
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
22 |
9e60b6d1e5fd
Escape quotes in command line parameters
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
23 import java.io.File; |
9e60b6d1e5fd
Escape quotes in command line parameters
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
24 import java.io.IOException; |
9e60b6d1e5fd
Escape quotes in command line parameters
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
25 |
9e60b6d1e5fd
Escape quotes in command line parameters
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
26 /** |
9e60b6d1e5fd
Escape quotes in command line parameters
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
27 * @author dmitry.neverov |
9e60b6d1e5fd
Escape quotes in command line parameters
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
28 */ |
9e60b6d1e5fd
Escape quotes in command line parameters
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
29 @Test |
9e60b6d1e5fd
Escape quotes in command line parameters
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
30 public class BaseCommandTest extends TestCase { |
9e60b6d1e5fd
Escape quotes in command line parameters
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
31 |
9e60b6d1e5fd
Escape quotes in command line parameters
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
32 public void should_quote_command_line_arguments() throws IOException { |
9e60b6d1e5fd
Escape quotes in command line parameters
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
33 File workingDir = new File("some dir"); |
480
efba721f9a1d
TW-23382 agent logs with info, server logs with debug
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
280
diff
changeset
|
34 BaseCommand command = new BaseCommand(new CommandSettings(), "/path/to/hg", workingDir); |
824
f86c06f4ab8a
MercurialCommandLine now delegates to GeneralCommandLine
eugene.petrenko@jetbrains.com
parents:
732
diff
changeset
|
35 MercurialCommandLine cl = command.createCommandLine(); |
229
9e60b6d1e5fd
Escape quotes in command line parameters
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
36 cl.addParameter("param with spaces"); |
9e60b6d1e5fd
Escape quotes in command line parameters
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
37 cl.addParameter("param with quote \" rm -rf /"); |
9e60b6d1e5fd
Escape quotes in command line parameters
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
38 if (SystemInfo.isWindows) { |
9e60b6d1e5fd
Escape quotes in command line parameters
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
39 assertTrue(cl.getCommandLineString().endsWith(" \"param with spaces\" \"param with quote \\\" rm -rf /\"")); |
824
f86c06f4ab8a
MercurialCommandLine now delegates to GeneralCommandLine
eugene.petrenko@jetbrains.com
parents:
732
diff
changeset
|
40 assertTrue(cl.toGeneralCommandLine().getCommandLineString().endsWith(" \"param with spaces\" \"param with quote \\\" rm -rf /\"")); |
229
9e60b6d1e5fd
Escape quotes in command line parameters
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
41 } else { |
9e60b6d1e5fd
Escape quotes in command line parameters
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
42 assertTrue(cl.getCommandLineString().endsWith(" param with spaces param with quote \" rm -rf /")); |
824
f86c06f4ab8a
MercurialCommandLine now delegates to GeneralCommandLine
eugene.petrenko@jetbrains.com
parents:
732
diff
changeset
|
43 assertTrue(cl.toGeneralCommandLine().getCommandLineString().endsWith(" param with spaces param with quote \" rm -rf /")); |
229
9e60b6d1e5fd
Escape quotes in command line parameters
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
44 } |
9e60b6d1e5fd
Escape quotes in command line parameters
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
45 } |
9e60b6d1e5fd
Escape quotes in command line parameters
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
46 |
9e60b6d1e5fd
Escape quotes in command line parameters
Dmitry Neverov <dmitry.neverov@jetbrains.com>
parents:
diff
changeset
|
47 } |