package org.kefirsf.bb.test.blackbox;
import org.junit.Test;
import org.kefirsf.bb.BBProcessorFactory;
import org.kefirsf.bb.ConfigurationFactory;
import org.kefirsf.bb.TextProcessor;
import org.kefirsf.bb.conf.*;
import org.kefirsf.bb.test.Assert;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
/**
* Test dynamic configuration
*
* @author Vitaliy Samolovskih aka Kefir
*/
public class DynamicConfigurationTest {
@Test
public void testAddCodeToRoot() {
Configuration cfg = ConfigurationFactory.getInstance().create();
Map<String, CharSequence> params = new HashMap<String, CharSequence>();
params.putAll(cfg.getParams());
params.put("path", "/img/");
cfg.setParams(params);
Code code = new Code();
code.setPattern(new Pattern(Arrays.asList(new Constant(":)"))));
code.setTemplate(
new Template(
Arrays.asList(
new Constant("<img src=\""),
new NamedValue("path"),
new Constant("smile.gif"),
new Constant("\"/>")
)
)
);
cfg.getRootScope().addCode(code);
TextProcessor processor = BBProcessorFactory.getInstance().create(cfg);
Assert.assertEquals("<img src=\"/img/smile.gif\"/>", processor.process(":)"));
}
}