package nl.hsac.fitnesse.junit.selenium;
import org.junit.AfterClass;
import org.junit.Test;
import java.util.Map;
import static org.junit.Assert.assertEquals;
public class SeleniumGridDriverFactoryFactoryTest {
private static final String ORIGINAL_PROP_VALUE = System.getProperty(SeleniumDriverFactoryFactoryBase.SELENIUM_CAPABILITIES);
private SeleniumGridDriverFactoryFactory factoryFactory = new SeleniumGridDriverFactoryFactory();
@AfterClass
public static void cleanUp() {
if (ORIGINAL_PROP_VALUE == null) {
System.clearProperty(SeleniumDriverFactoryFactoryBase.SELENIUM_CAPABILITIES);
} else {
setCapabilities(ORIGINAL_PROP_VALUE);
}
}
@Test
public void testCapabilitiesParseBasic() {
setCapabilities("browser: chrome, platform: Windows 8.1");
Map<String, Object> capa = factoryFactory.getCapabilities();
assertEquals("chrome", capa.get("browser"));
assertEquals("Windows 8.1", capa.get("platform"));
}
@Test
public void testCapabilitiesParseWithQuotes() {
setCapabilities("\"browser:chrome,platform:Windows 8.1\"");
Map<String, Object> capa = factoryFactory.getCapabilities();
assertEquals("chrome", capa.get("browser"));
assertEquals("Windows 8.1", capa.get("platform"));
}
@Test
public void testCapabilitiesParseWithColonInValue() {
setCapabilities("\"browser:chrome,platform:Windows 8.1, location: D:\\Program Files\\Chromium\\chromium.exe\"");
Map<String, Object> capa = factoryFactory.getCapabilities();
assertEquals("chrome", capa.get("browser"));
assertEquals("Windows 8.1", capa.get("platform"));
assertEquals("D:\\Program Files\\Chromium\\chromium.exe", capa.get("location"));
}
private static void setCapabilities(String value) {
System.setProperty(SeleniumDriverFactoryFactoryBase.SELENIUM_CAPABILITIES, value);
}
}