ilia@18403
|
1 |
package ide.analysis.modernize;
|
ilia@18403
|
2 |
|
ilia@18415
|
3 |
import com.sun.tools.ide.analysis.modernize.impl.ModernizeFix;
|
ilia@18403
|
4 |
import java.io.File;
|
ilia@18403
|
5 |
import java.nio.file.Files;
|
ilia@18403
|
6 |
import java.util.List;
|
ilia@18403
|
7 |
import org.junit.Test;
|
ilia@18403
|
8 |
import org.netbeans.modules.cnd.test.CndCoreTestUtils;
|
ilia@18403
|
9 |
import org.openide.cookies.EditorCookie;
|
ilia@18403
|
10 |
import org.openide.filesystems.FileObject;
|
ilia@18403
|
11 |
import org.openide.filesystems.FileUtil;
|
ilia@18403
|
12 |
import org.openide.loaders.DataObject;
|
ilia@18403
|
13 |
|
ilia@18403
|
14 |
/**
|
ilia@18403
|
15 |
*
|
ilia@18403
|
16 |
* @author Ilia Gromov
|
ilia@18403
|
17 |
*/
|
ilia@18403
|
18 |
public class SingleCppFileCheckTest extends TidyTestCase {
|
ilia@18403
|
19 |
|
ilia@18403
|
20 |
public SingleCppFileCheckTest() {
|
ilia@18403
|
21 |
super("hello-cmake-world");
|
ilia@18403
|
22 |
}
|
ilia@18403
|
23 |
|
ilia@18403
|
24 |
@Override
|
ilia@18403
|
25 |
protected void setUp() throws Exception {
|
ilia@18403
|
26 |
super.setUp();
|
ilia@18403
|
27 |
}
|
ilia@18403
|
28 |
|
ilia@18403
|
29 |
public void testModernizeUseNullptr() {
|
ilia@18403
|
30 |
performTest("src/modernize-use-nullptr.cpp", "modernize-use-nullptr", true);
|
ilia@18403
|
31 |
}
|
ilia@18403
|
32 |
|
ilia@18403
|
33 |
public void testModernizeLoopConvert() {
|
ilia@18403
|
34 |
performTest("src/modernize-loop-convert.cpp", "modernize-loop-convert", true);
|
ilia@18403
|
35 |
}
|
ilia@18403
|
36 |
|
ilia@18403
|
37 |
@Test
|
ilia@18403
|
38 |
public void testModernizeRawStringLiteral() {
|
ilia@18403
|
39 |
performTest("src/modernize-raw-string-literal.cpp", "modernize-raw-string-literal", true);
|
ilia@18403
|
40 |
}
|
ilia@18403
|
41 |
|
ilia@18403
|
42 |
@Override
|
ilia@18403
|
43 |
protected void processTestResults(List<ModernizeFix> fixes, String startFileName) throws Exception {
|
ilia@18403
|
44 |
for (ModernizeFix fix : fixes) {
|
ilia@18403
|
45 |
fix.implement();
|
ilia@18403
|
46 |
}
|
ilia@18403
|
47 |
|
ilia@18403
|
48 |
FileObject footer = getSourceFile(startFileName);
|
ilia@18403
|
49 |
|
ilia@18403
|
50 |
DataObject dObj = DataObject.find(footer);
|
ilia@18403
|
51 |
EditorCookie ec = dObj.getLookup().lookup(EditorCookie.class);
|
ilia@18403
|
52 |
ec.saveDocument();
|
ilia@18403
|
53 |
|
ilia@18403
|
54 |
File diffFile = createTempFile("diff", null, false);
|
ilia@18403
|
55 |
|
ilia@18403
|
56 |
boolean diff = CndCoreTestUtils.diff(FileUtil.toFile(footer), getGoldenFile(startFileName), diffFile);
|
ilia@18403
|
57 |
|
ilia@18403
|
58 |
if (diff) {
|
ilia@18403
|
59 |
byte[] readAllBytes = Files.readAllBytes(diffFile.toPath());
|
ilia@18403
|
60 |
System.err.println(new String(readAllBytes));
|
ilia@18403
|
61 |
fail();
|
ilia@18403
|
62 |
}
|
ilia@18403
|
63 |
}
|
ilia@18403
|
64 |
}
|