diff --git a/platform/xdebugger-impl/testSrc/com/intellij/xdebugger/XDebuggerTestUtil.java b/platform/xdebugger-impl/testSrc/com/intellij/xdebugger/XDebuggerTestUtil.java index 8c4a8a396108..f55526e46eb3 100644 --- a/platform/xdebugger-impl/testSrc/com/intellij/xdebugger/XDebuggerTestUtil.java +++ b/platform/xdebugger-impl/testSrc/com/intellij/xdebugger/XDebuggerTestUtil.java @@ -24,6 +24,7 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.Ref; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.testFramework.UsefulTestCase; import com.intellij.util.ui.UIUtil; @@ -278,6 +279,20 @@ public class XDebuggerTestUtil { UsefulTestCase.assertOrderedEquals(actualNames, expectedNames); } + public static void assertVariablesContain(List vars, String... names) throws InterruptedException { + List expectedNames = new ArrayList(Arrays.asList(names)); + + List actualNames = new ArrayList(); + for (XValue each : vars) { + actualNames.add(computePresentation(each).myName); + } + + expectedNames.removeAll(actualNames); + UsefulTestCase.assertTrue("Missing variables:" + StringUtil.join(expectedNames, ", ") + + "\nAll Variables: " + StringUtil.join(actualNames, ", "), + expectedNames.isEmpty()); + } + public static void assertSourcePosition(final XValue value, VirtualFile file, int offset) { final XTestNavigatable n = new XTestNavigatable(); ApplicationManager.getApplication().runReadAction(new Runnable() {