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
7bf4d943d5bb Update copyright
pavel.sher
parents: 824
diff changeset
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 }