c.s.tools.ide.analysis.modernize/test/unit/src/ide/analysis/modernize/SingleCppFileCheckTest.java
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/c.s.tools.ide.analysis.modernize/test/unit/src/ide/analysis/modernize/SingleCppFileCheckTest.java Wed Jun 07 20:23:29 2017 +0300
1.3 @@ -0,0 +1,64 @@
1.4 +package ide.analysis.modernize;
1.5 +
1.6 +import com.sun.tools.ide.analysis.modernize.impl.ModernizeFix;
1.7 +import java.io.File;
1.8 +import java.nio.file.Files;
1.9 +import java.util.List;
1.10 +import org.junit.Test;
1.11 +import org.netbeans.modules.cnd.test.CndCoreTestUtils;
1.12 +import org.openide.cookies.EditorCookie;
1.13 +import org.openide.filesystems.FileObject;
1.14 +import org.openide.filesystems.FileUtil;
1.15 +import org.openide.loaders.DataObject;
1.16 +
1.17 +/**
1.18 + *
1.19 + * @author Ilia Gromov
1.20 + */
1.21 +public class SingleCppFileCheckTest extends TidyTestCase {
1.22 +
1.23 + public SingleCppFileCheckTest() {
1.24 + super("hello-cmake-world");
1.25 + }
1.26 +
1.27 + @Override
1.28 + protected void setUp() throws Exception {
1.29 + super.setUp();
1.30 + }
1.31 +
1.32 + public void testModernizeUseNullptr() {
1.33 + performTest("src/modernize-use-nullptr.cpp", "modernize-use-nullptr", true);
1.34 + }
1.35 +
1.36 + public void testModernizeLoopConvert() {
1.37 + performTest("src/modernize-loop-convert.cpp", "modernize-loop-convert", true);
1.38 + }
1.39 +
1.40 + @Test
1.41 + public void testModernizeRawStringLiteral() {
1.42 + performTest("src/modernize-raw-string-literal.cpp", "modernize-raw-string-literal", true);
1.43 + }
1.44 +
1.45 + @Override
1.46 + protected void processTestResults(List<ModernizeFix> fixes, String startFileName) throws Exception {
1.47 + for (ModernizeFix fix : fixes) {
1.48 + fix.implement();
1.49 + }
1.50 +
1.51 + FileObject footer = getSourceFile(startFileName);
1.52 +
1.53 + DataObject dObj = DataObject.find(footer);
1.54 + EditorCookie ec = dObj.getLookup().lookup(EditorCookie.class);
1.55 + ec.saveDocument();
1.56 +
1.57 + File diffFile = createTempFile("diff", null, false);
1.58 +
1.59 + boolean diff = CndCoreTestUtils.diff(FileUtil.toFile(footer), getGoldenFile(startFileName), diffFile);
1.60 +
1.61 + if (diff) {
1.62 + byte[] readAllBytes = Files.readAllBytes(diffFile.toPath());
1.63 + System.err.println(new String(readAllBytes));
1.64 + fail();
1.65 + }
1.66 + }
1.67 +}