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