aboutsummaryrefslogtreecommitdiff
path: root/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/adt/internal/lint/ProjectLintConfigurationTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/adt/internal/lint/ProjectLintConfigurationTest.java')
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/adt/internal/lint/ProjectLintConfigurationTest.java218
1 files changed, 0 insertions, 218 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/adt/internal/lint/ProjectLintConfigurationTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/adt/internal/lint/ProjectLintConfigurationTest.java
deleted file mode 100644
index f8ea8c435..000000000
--- a/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/adt/internal/lint/ProjectLintConfigurationTest.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Eclipse Public License, Version 1.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.eclipse.org/org/documents/epl-v10.php
- *
- * 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 com.android.ide.eclipse.adt.internal.lint;
-
-import com.android.annotations.NonNull;
-import com.android.annotations.Nullable;
-import com.android.ide.eclipse.adt.internal.editors.layout.refactoring.AdtProjectTest;
-import com.android.tools.lint.checks.DuplicateIdDetector;
-import com.android.tools.lint.checks.UnusedResourceDetector;
-import com.android.tools.lint.client.api.Configuration;
-import com.android.tools.lint.client.api.JavaParser;
-import com.android.tools.lint.client.api.LintClient;
-import com.android.tools.lint.client.api.XmlParser;
-import com.android.tools.lint.detector.api.Context;
-import com.android.tools.lint.detector.api.Issue;
-import com.android.tools.lint.detector.api.Location;
-import com.android.tools.lint.detector.api.Project;
-import com.android.tools.lint.detector.api.Severity;
-import com.android.tools.lint.detector.api.TextFormat;
-
-import org.eclipse.core.resources.IProject;
-
-import java.io.File;
-
-@SuppressWarnings("javadoc")
-public class ProjectLintConfigurationTest extends AdtProjectTest {
- public void testBasic() {
- Configuration parent = null;
- LintClient client = new TestClient();
-
- File dir = getTargetDir();
- if (!dir.exists()) {
- boolean ok = dir.mkdirs();
- assertTrue(dir.getPath(), ok);
- }
- Project project = client.getProject(dir, dir);
-
- ProjectLintConfiguration config =
- new ProjectLintConfiguration(client, project, parent, false /*fatalOnly*/);
-
- Issue usuallyEnabledIssue = DuplicateIdDetector.WITHIN_LAYOUT;
- Issue usuallyDisabledIssue = UnusedResourceDetector.ISSUE_IDS;
-
- assertTrue(config.isEnabled(usuallyEnabledIssue));
- assertFalse(config.isEnabled(usuallyDisabledIssue));
-
- config.setSeverity(usuallyEnabledIssue, Severity.IGNORE);
- config.setSeverity(usuallyDisabledIssue, Severity.ERROR);
- assertFalse(config.isEnabled(usuallyEnabledIssue));
- assertTrue(config.isEnabled(usuallyDisabledIssue));
-
- // Make a NEW config object to ensure the state is persisted properly, not just
- // kept on the config object!
- config = new ProjectLintConfiguration(client, project, parent, false /*fatalOnly*/);
- assertFalse(config.isEnabled(usuallyEnabledIssue));
- assertTrue(config.isEnabled(usuallyDisabledIssue));
- }
-
- public void testInheritance() {
- Configuration parent = null;
- LintClient client = new TestClient();
-
- File dir = getTargetDir();
- assertTrue(dir.mkdirs());
- Project project = client.getProject(dir, dir);
-
- File otherDir = new File(dir, "otherConfig");
- assertTrue(otherDir.mkdir());
- Project otherProject = client.getProject(otherDir, otherDir);
-
- ProjectLintConfiguration otherConfig =
- new ProjectLintConfiguration(client, otherProject, parent, false);
-
- ProjectLintConfiguration config =
- new ProjectLintConfiguration(client, project, otherConfig, false);
-
- Issue usuallyEnabledIssue = DuplicateIdDetector.WITHIN_LAYOUT;
- Issue usuallyDisabledIssue = UnusedResourceDetector.ISSUE_IDS;
-
- assertTrue(config.isEnabled(usuallyEnabledIssue));
- assertFalse(config.isEnabled(usuallyDisabledIssue));
-
- otherConfig.setSeverity(usuallyEnabledIssue, Severity.IGNORE);
- otherConfig.setSeverity(usuallyDisabledIssue, Severity.ERROR);
-
- // Ensure inheritance works
- assertFalse(config.isEnabled(usuallyEnabledIssue));
- assertTrue(config.isEnabled(usuallyDisabledIssue));
-
- // Revert
- otherConfig.setSeverity(usuallyEnabledIssue, Severity.ERROR);
- otherConfig.setSeverity(usuallyDisabledIssue, Severity.IGNORE);
- assertTrue(config.isEnabled(usuallyEnabledIssue));
- assertFalse(config.isEnabled(usuallyDisabledIssue));
-
- // Now override in child
- config.setSeverity(usuallyEnabledIssue, Severity.ERROR);
- config.setSeverity(usuallyDisabledIssue, Severity.IGNORE);
- assertTrue(config.isEnabled(usuallyEnabledIssue));
- assertFalse(config.isEnabled(usuallyDisabledIssue));
-
- // Now change in parent: no change in child
- otherConfig.setSeverity(usuallyEnabledIssue, Severity.IGNORE);
- otherConfig.setSeverity(usuallyDisabledIssue, Severity.ERROR);
- assertTrue(config.isEnabled(usuallyEnabledIssue));
- assertFalse(config.isEnabled(usuallyDisabledIssue));
- assertFalse(otherConfig.isEnabled(usuallyEnabledIssue));
- assertTrue(otherConfig.isEnabled(usuallyDisabledIssue));
-
- // Clear override in child
- config.setSeverity(usuallyEnabledIssue, null);
- config.setSeverity(usuallyDisabledIssue, null);
- assertFalse(config.isEnabled(usuallyEnabledIssue));
- assertTrue(config.isEnabled(usuallyDisabledIssue));
- }
-
- public void testBulkEditing() {
- Configuration parent = null;
- LintClient client = new TestClient();
-
- File dir = getTargetDir();
- assertTrue(dir.mkdirs());
- Project project = client.getProject(dir, dir);
-
- ProjectLintConfiguration config =
- new ProjectLintConfiguration(client, project, parent, false /*fatalOnly*/);
-
- Issue usuallyEnabledIssue = DuplicateIdDetector.WITHIN_LAYOUT;
- Issue usuallyDisabledIssue = UnusedResourceDetector.ISSUE_IDS;
-
- assertTrue(config.isEnabled(usuallyEnabledIssue));
- assertFalse(config.isEnabled(usuallyDisabledIssue));
-
- config.setSeverity(usuallyEnabledIssue, Severity.IGNORE);
- assertFalse(config.isEnabled(usuallyEnabledIssue));
- assertFalse(config.isEnabled(usuallyDisabledIssue));
-
- File configFile = new File(dir, "lint.xml");
- assertTrue(configFile.getPath(), configFile.exists());
- long lastModified = configFile.lastModified();
-
- // We need to make sure that the timestamp of the file is a couple of seconds
- // after the last update or we can't tell whether the file was updated or not
-
- try {
- Thread.sleep(1000);
- } catch (InterruptedException e) {
- System.err.println("Sleep interrupted, test may not work.");
- }
- config.startBulkEditing();
- assertFalse(lastModified < configFile.lastModified());
- assertEquals(lastModified, configFile.lastModified());
- config.setSeverity(usuallyDisabledIssue, Severity.ERROR);
- config.finishBulkEditing();
- assertTrue(lastModified < configFile.lastModified());
-
- assertTrue(config.isEnabled(usuallyDisabledIssue));
- }
-
- public void testPersistence() {
- // Ensure that we use the same configuration object repeatedly for a
- // single project, such that we don't recompute and parse XML for each and
- // every lint run!
- IProject project = getProject();
- TestClient client = new TestClient();
- ProjectLintConfiguration config1 = ProjectLintConfiguration.get(client, project, false);
- ProjectLintConfiguration config2 = ProjectLintConfiguration.get(client, project, false);
- assertSame(config1, config2);
- }
-
- @Override
- protected File getTargetDir() {
- File targetDir = new File(getTempDir(), getClass().getSimpleName() + "_" + getName());
- addCleanupDir(targetDir);
- return targetDir;
- }
-
- private static class TestClient extends LintClient {
- @Override
- public void report(@NonNull Context context, @NonNull Issue issue,
- @NonNull Severity severity, @Nullable Location location,
- @NonNull String message, @NonNull TextFormat format) {
- }
-
- @Override
- public void log(@NonNull Severity severity, @Nullable Throwable exception,
- @Nullable String format, @Nullable Object... args) {
- }
-
- @Override
- public XmlParser getXmlParser() {
- return null;
- }
-
- @Override
- public @NonNull String readFile(@NonNull File file) {
- return null;
- }
-
- @Override
- public JavaParser getJavaParser(@Nullable Project project) {
- return null;
- }
- }
-}