Files
openide/java/java-tests/testSrc/com/intellij/unscramble/UnscrambleDialogTest.java
Tagir Valeev adb060863f Text blocks used
GitOrigin-RevId: 7db538c0a10131a3f946436c85b42fe7d7dc5b10
2022-09-29 12:58:29 +00:00

90 lines
2.8 KiB
Java

// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.unscramble;
import com.intellij.JavaTestUtil;
import com.intellij.execution.ui.RunContentDescriptor;
import com.intellij.openapi.util.Disposer;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.testFramework.fixtures.JavaCodeInsightFixtureTestCase;
import javax.swing.*;
import java.io.File;
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
/**
* @author Dmitry Avdeev
*/
public class UnscrambleDialogTest extends JavaCodeInsightFixtureTestCase {
private RunContentDescriptor myContent;
@Override
protected boolean isIconRequired() {
return true;
}
@Override
protected void tearDown() throws Exception {
try {
Disposer.dispose(myContent);
}
catch (Throwable e) {
addSuppressedException(e);
}
finally {
myContent = null;
super.tearDown();
}
}
public void testStacktrace() {
showText("");
Icon icon = myContent.getIcon();
String name = myContent.getDisplayName();
assertEquals(null, icon);
assertEquals("<Stacktrace>", name);
}
public void testException() {
showText("""
java.lang.NullPointerException
\tat com.intellij.psi.css.resolve.impl.XhtmlFileInfo.findOneStyleSheet(XhtmlFileInfo.java:291)
\tat com.intellij.psi.css.resolve.impl.XhtmlFileInfo.getStylesheets(XhtmlFileInfo.java:174)
\tat com.intellij.psi.css.resolve.impl.XhtmlFileInfo.initStylesheets(XhtmlFileInfo.java:119)""");
assertIcon("lightning.svg", myContent.getIcon());
assertEquals("NPE", myContent.getDisplayName());
}
public void testThreadDump() throws Exception {
File file = new File(getTestDataPath() + "threaddump.txt");
String s = FileUtil.loadFile(file);
showText(s);
assertIcon("dump.svg", myContent.getIcon());
assertEquals("<Threads>", myContent.getDisplayName());
}
public void testDeadlock() throws Exception {
File file = new File(getTestDataPath() + "deadlock.txt");
String s = FileUtil.loadFile(file);
showText(s);
assertIcon("killProcess.svg", myContent.getIcon());
assertEquals("<Deadlock>", myContent.getDisplayName());
}
private void showText(String unscramble) {
RunContentDescriptor descriptor = UnscrambleDialog.showUnscrambledText(null, "foo", null, getProject(), unscramble);
assertNotNull(descriptor);
Disposer.register(myFixture.getTestRootDisposable(), descriptor);
myContent = descriptor;
}
private static void assertIcon(String s, Icon icon) {
assertThat(icon.toString()).contains(s);
}
@Override
protected String getBasePath() {
return JavaTestUtil.getRelativeJavaTestDataPath() + "/unscramble/";
}
}