c.s.tools.ide.analysis.modernize/test/unit/src/ide/analysis/modernize/SingleCppFileCheckTest.java
author Ilia Gromov <ilia@netbeans.org>
Wed, 07 Jun 2017 20:23:29 +0300
branchrelease82
changeset 18423 b9d9af239a0c
parent 18403 ide.analysis.modernize/test/unit/src/ide/analysis/modernize/SingleCppFileCheckTest.java@67d78b11d2e0
permissions -rw-r--r--
Fixing #270763 - Move clang-tidy integration to nb contrib
* * *
Fixing #270763 - Move clang-tidy integration to nb contrib - move wrapper
* * *
Fixing #270763 - Move clang-tidy integration to nb contrib - sign nbm
* * *
Fixing #270763 - Move clang-tidy integration to nb contrib - move tests
* * *
Fixing #270763 - Move clang-tidy integration to nb contrib - data for a new test
* * *
Fixed #270839 - [clang-tidy] Group checks in Editor hints
(transplanted from 35b6125ef00c470655dac6673075f5c12ec74593)
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
}