package com.jetbrains.lang.dart.dartium;
import com.jetbrains.lang.dart.ide.runner.client.DartiumUtil;
import gnu.trove.THashMap;
import junit.framework.TestCase;
import org.jetbrains.annotations.Nullable;
import java.util.Map;
public class DartiumTest extends TestCase {
private static void doTest(@Nullable final String dartFlagsBefore,
final boolean checkedMode,
@Nullable final String expectedDartFlagsAfter) {
final Map<String, String> envVars = new THashMap<>();
if (dartFlagsBefore != null) {
envVars.put("DART_FLAGS", dartFlagsBefore);
}
DartiumUtil.setCheckedMode(envVars, checkedMode);
assertEquals(expectedDartFlagsAfter, envVars.get("DART_FLAGS"));
}
public void testCheckedMode() throws Exception {
doTest(null, false, null);
doTest("foo bar", false, "foo bar");
doTest("--checked", false, null);
doTest(" --checked ", false, null);
doTest("--checked foo", false, "foo");
doTest("foo --checked", false, "foo");
doTest("foo --checked bar", false, "foo bar");
doTest(null, true, "--checked");
doTest("--checked", true, "--checked");
doTest("foo", true, "foo --checked");
}
}