c.s.tools.ide.analysis.modernize/test/unit/src/ide/analysis/modernize/HeaderTest.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/HeaderTest.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@18415
     4
import com.sun.tools.ide.analysis.modernize.impl.YamlParser;
ilia@18403
     5
import java.io.File;
ilia@18403
     6
import java.nio.file.Files;
ilia@18403
     7
import java.util.List;
ilia@18403
     8
import static junit.framework.TestCase.fail;
ilia@18403
     9
import org.netbeans.modules.cnd.test.CndCoreTestUtils;
ilia@18403
    10
import static org.netbeans.modules.nativeexecution.test.NativeExecutionBaseTestCase.createTempFile;
ilia@18403
    11
import org.openide.cookies.EditorCookie;
ilia@18403
    12
import org.openide.filesystems.FileObject;
ilia@18403
    13
import org.openide.filesystems.FileUtil;
ilia@18403
    14
import org.openide.loaders.DataObject;
ilia@18403
    15
ilia@18403
    16
/*
ilia@18403
    17
 * To change this license header, choose License Headers in Project Properties.
ilia@18403
    18
 * To change this template file, choose Tools | Templates
ilia@18403
    19
 * and open the template in the editor.
ilia@18403
    20
 */
ilia@18403
    21
/**
ilia@18403
    22
 *
ilia@18403
    23
 * @author Ilia Gromov
ilia@18403
    24
 */
ilia@18403
    25
public class HeaderTest extends TidyTestCase {
ilia@18403
    26
ilia@18403
    27
    private final String source = "src/llvm-header-guard.cpp";
ilia@18403
    28
    private final String header = "src/llvm-header-guard.h";
ilia@18403
    29
ilia@18403
    30
    public HeaderTest() {
ilia@18403
    31
        super("project-with-headers");
ilia@18403
    32
    }
ilia@18403
    33
ilia@18403
    34
    public void testLlvmHeaderGuard() {
ilia@18403
    35
        performTest(source, "llvm-header-guard", true);
ilia@18403
    36
    }
ilia@18403
    37
ilia@18403
    38
    @Override
ilia@18403
    39
    protected void processTestResults(List<ModernizeFix> fixes, String footerName) throws Exception {
ilia@18403
    40
        for (ModernizeFix fix : fixes) {
ilia@18403
    41
            fix.implement();
ilia@18403
    42
ilia@18403
    43
            for (YamlParser.Replacement replacement : fix.getReplacements()) {
ilia@18403
    44
                FileObject fo = FileUtil.toFileObject(new File(replacement.filePath));
ilia@18403
    45
ilia@18403
    46
                DataObject dObj = DataObject.find(fo);
ilia@18403
    47
                EditorCookie ec = dObj.getLookup().lookup(EditorCookie.class);
ilia@18403
    48
                ec.saveDocument();
ilia@18403
    49
            }
ilia@18403
    50
        }
ilia@18403
    51
ilia@18403
    52
        File diffFile = createTempFile("diff", null, false);
ilia@18403
    53
ilia@18403
    54
        boolean diff = CndCoreTestUtils.diff(new File(FileUtil.toFile(getProjectDir()), header), getGoldenFile(header), diffFile);
ilia@18403
    55
ilia@18403
    56
        if (diff) {
ilia@18403
    57
            byte[] readAllBytes = Files.readAllBytes(diffFile.toPath());
ilia@18403
    58
            System.err.println(new String(readAllBytes));
ilia@18403
    59
            fail();
ilia@18403
    60
        }
ilia@18403
    61
    }
ilia@18403
    62
}