IDEA-305112: enable async tests for CLion
[idea/community.git] / plugins / stream-debugger / test / com / intellij / debugger / streams / exec / streamex / StreamExTestCase.kt
1 // Copyright 2000-2017 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.
2 package com.intellij.debugger.streams.exec.streamex
3
4 import com.intellij.debugger.streams.exec.LibraryTraceExecutionTestCase
5 import com.intellij.debugger.streams.lib.LibrarySupportProvider
6 import com.intellij.debugger.streams.lib.impl.StreamExLibrarySupportProvider
7 import com.intellij.util.PathUtil
8 import one.util.streamex.StreamEx
9
10 /**
11  * @author Vitaliy.Bibaev
12  */
13 abstract class StreamExTestCase : LibraryTraceExecutionTestCase(PathUtil.getJarPathForClass(StreamEx::class.java)) {
14   protected abstract val packageName: String
15
16   override fun getLibrarySupportProvider(): LibrarySupportProvider {
17     return StreamExLibrarySupportProvider()
18   }
19
20   override fun replaceAdditionalInOutput(str: String): String {
21     return super.replaceAdditionalInOutput(str)
22       .replace("file:/!LIBRARY_JAR!", "file:!LIBRARY_JAR!")
23   }
24
25   private val className: String
26     get() = packageName + "." + getTestName(false)
27
28   final override fun getTestAppRelativePath(): String = "streamex"
29
30   protected fun doStreamExVoidTest() = doTest(true, className)
31   protected fun doStreamExWithResultTest() = doTest(false, className)
32 }