blob: f55c2c5f377c8c647a4216b26218f2645c59c942 [file] [log] [blame]
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
package com.google.gwt.dev;
import java.util.Collection;
/**
* Test for {@ArgHandlerSetProperties}.
*/
public class ArgHandlerSetPropertiesTest extends ArgProcessorTestBase {
private final Compiler.ArgProcessor argProcessor;
private final CompilerOptionsImpl options = new CompilerOptionsImpl();
public ArgHandlerSetPropertiesTest() {
argProcessor = new Compiler.ArgProcessor(options);
}
public void testSinglePropertySingleValue() {
assertProcessSuccess(argProcessor,
new String[] {"-setProperty", "locale=zh", "my.Module"});
assertEquals("{locale=[zh]}", options.getProperties().toString());
}
public void testMultiplePropertiesSingleValue() {
assertProcessSuccess(argProcessor, new String[] {
"-setProperty", "locale=zh",
"-setProperty", "user.agent=safari",
"-setProperty", "stackTraces=false", "my.Module"});
assertEquals(3, options.getProperties().keySet().size());
assertEquals("[zh]", options.getProperties().get("locale").toString());
assertEquals("[safari]", options.getProperties().get("user.agent").toString());
assertEquals("[false]", options.getProperties().get("stackTraces").toString());
}
public void testSinglePropertyMultipleValues() {
assertProcessSuccess(argProcessor,
new String[] {"-setProperty", "locale=zh,en", "my.Module"});
assertEquals(1, options.getProperties().keySet().size());
Collection<String> locales = options.getProperties().get("locale");
assertEquals(2, locales.size());
assertTrue(locales.contains("zh") && locales.contains("en"));
}
public void testMultiplePropertiesMultipleValues() {
assertProcessSuccess(argProcessor, new String[] {
"-setProperty", "locale=zh,en",
"-setProperty", "user.agent=safari,opera",
"-setProperty", "stackTraces=true,false",
"my.Module"});
assertEquals(3, options.getProperties().keySet().size());
Collection<String> locales = options.getProperties().get("locale");
Collection<String> userAgents = options.getProperties().get("user.agent");
Collection<String> stackTraces = options.getProperties().get("stackTraces");
assertEquals(2, locales.size());
assertTrue(locales.contains("zh") && locales.contains("en"));
assertEquals(2, userAgents.size());
assertTrue(userAgents.contains("opera") && userAgents.contains("safari"));
assertEquals(2, stackTraces.size());
assertTrue(stackTraces.contains("false") && stackTraces.contains("true"));
}
public void testSetOnePropertyMultipleTimes() {
assertProcessSuccess(argProcessor, new String[] {
"-setProperty", "locale = zh",
"-setProperty", "locale = en, fr",
"my.Module"
});
assertEquals(1, options.getProperties().keySet().size());
Collection<String> locales = options.getProperties().get("locale");
assertEquals(2, locales.size());
assertTrue(locales.contains("en") && locales.contains("fr"));
}
}