[git tests] refresh correctly: with marking dirty
[idea/community.git] / plugins / git4idea / tests / git4idea / tests / GitUtilsTest.java
1 /*
2  * Copyright 2000-2009 JetBrains s.r.o.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package git4idea.tests;
17
18 import git4idea.GitUtil;
19 import git4idea.config.GitConfigUtil;
20 import org.junit.Test;
21
22 import static git4idea.GitUtil.unescapePath;
23 import static org.junit.Assert.assertEquals;
24
25 public class GitUtilsTest {
26
27   @Test
28   public void format_long_rev() {
29     assertEquals("0000000000000000", GitUtil.formatLongRev(0));
30     assertEquals("fffffffffffffffe", GitUtil.formatLongRev(-2));
31   }
32
33   @Test
34   public void unescape_cyrillic() throws Exception {
35     final String CHARSET = " Default charset: " + GitConfigUtil.getFileNameEncoding();
36     assertEquals("Cyrillic folder was unescaped incorrectly." + CHARSET,
37                   "папка/file.txt",
38                   unescapePath("\\320\\277\\320\\260\\320\\277\\320\\272\\320\\260/file.txt"));
39      assertEquals("Cyrillic folder with file name were unescaped incorrectly." + CHARSET,
40                   "папка/документ",
41                   unescapePath("\\320\\277\\320\\260\\320\\277\\320\\272\\320\\260/\\320\\264\\320\\276\\320\\272\\321\\203\\320\\274\\320\\265\\320\\275\\321\\202"));
42    }
43 }