diff options
Diffstat (limited to 'plugins/gradle/testSources/org/jetbrains/plugins/gradle/compiler/GradleCompilingTestCase.java')
-rw-r--r-- | plugins/gradle/testSources/org/jetbrains/plugins/gradle/compiler/GradleCompilingTestCase.java | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/plugins/gradle/testSources/org/jetbrains/plugins/gradle/compiler/GradleCompilingTestCase.java b/plugins/gradle/testSources/org/jetbrains/plugins/gradle/compiler/GradleCompilingTestCase.java new file mode 100644 index 000000000000..3b508c8cf289 --- /dev/null +++ b/plugins/gradle/testSources/org/jetbrains/plugins/gradle/compiler/GradleCompilingTestCase.java @@ -0,0 +1,89 @@ +/* + * Copyright 2000-2014 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jetbrains.plugins.gradle.compiler; + +import com.intellij.compiler.artifacts.ArtifactsTestUtil; +import com.intellij.openapi.application.AccessToken; +import com.intellij.openapi.application.ReadAction; +import com.intellij.openapi.compiler.CompileContext; +import com.intellij.openapi.compiler.CompileTask; +import com.intellij.openapi.compiler.CompilerManager; +import com.intellij.openapi.util.io.FileUtil; +import com.intellij.packaging.impl.artifacts.ArtifactUtil; +import com.intellij.util.io.TestFileSystemItem; +import org.jetbrains.plugins.gradle.config.GradleResourceCompilerConfigurationGenerator; +import org.jetbrains.plugins.gradle.importing.GradleImportingTestCase; + +import java.io.File; + +/** + * @author Vladislav.Soroka + * @since 7/21/2014 + */ +public abstract class GradleCompilingTestCase extends GradleImportingTestCase { + @Override + protected void setUpInWriteAction() throws Exception { + super.setUpInWriteAction(); + CompilerManager.getInstance(myProject).addBeforeTask(new CompileTask() { + @Override + public boolean execute(CompileContext context) { + AccessToken token = ReadAction.start(); + try { + new GradleResourceCompilerConfigurationGenerator(myProject, context).generateBuildConfiguration(); + } + finally { + token.finish(); + } + return true; + } + }); + } + + protected void assertCopied(String path) { + assertTrue(new File(myProjectConfig.getParent().getPath(), path).exists()); + } + + protected void assertCopied(String path, String content) { + assertCopied(path); + assertSameLinesWithFile(new File(myProjectConfig.getParent().getPath(), path).getPath(), content); + } + + protected void assertNotCopied(String path) { + assertFalse(new File(myProjectConfig.getParent().getPath(), path).exists()); + } + + @Override + protected void assertArtifactOutputPath(String artifactName, String expected) { + final String defaultArtifactOutputPath = ArtifactUtil.getDefaultArtifactOutputPath(artifactName, myProject); + assert defaultArtifactOutputPath != null; + final String basePath = FileUtil.toSystemIndependentName(new File(defaultArtifactOutputPath).getParent()); + super.assertArtifactOutputPath(artifactName, basePath + expected); + } + + protected void assertArtifactOutputFile(String artifactName, String path, String content) { + final String defaultArtifactOutputPath = ArtifactUtil.getDefaultArtifactOutputPath(artifactName, myProject); + assert defaultArtifactOutputPath != null; + final String basePath = FileUtil.toSystemIndependentName(new File(defaultArtifactOutputPath).getParent()); + assertSameLinesWithFile(basePath + path, content); + } + + protected void assertArtifactOutputFile(String artifactName, String path) { + final String defaultArtifactOutputPath = ArtifactUtil.getDefaultArtifactOutputPath(artifactName, myProject); + assert defaultArtifactOutputPath != null; + final String basePath = FileUtil.toSystemIndependentName(new File(defaultArtifactOutputPath).getParent()); + assertExists(new File(basePath + path)); + } +} |