Search in sources :

Example 21 with Interpreter

use of io.github.wysohn.triggerreactor.core.script.interpreter.Interpreter in project TriggerReactor by wysohn.

the class TriggerTest method testArray.

@Test
public void testArray() throws Exception {
    Charset charset = Charset.forName("UTF-8");
    String text = "" + "args[0] = \"arg1\"\n" + "args[1] = \"arg2\"\n" + "#MESSAGE args[0]+\", \"+args[1*-1*-1+1-1--1-1]\n";
    Lexer lexer = new Lexer(text, charset);
    Parser parser = new Parser(lexer);
    Node root = parser.parse();
    Map<String, Executor> executorMap = new HashMap<>();
    executorMap.put("MESSAGE", new Executor() {

        @Override
        public Integer execute(boolean sync, Object context, Object... args) {
            Assert.assertEquals("arg1, arg2", args[0]);
            return null;
        }
    });
    Map<String, Object> map = new HashMap<String, Object>();
    Interpreter interpreter = new Interpreter(root, executorMap, new HashMap<>(), map, new HashMap<>(), new CommonFunctions(null));
    String[] args = new String[] { "item1", "item2" };
    interpreter.getVars().put("args", args);
    interpreter.startWithContext(null);
}
Also used : Interpreter(io.github.wysohn.triggerreactor.core.script.interpreter.Interpreter) HashMap(java.util.HashMap) Node(io.github.wysohn.triggerreactor.core.script.parser.Node) Charset(java.nio.charset.Charset) Parser(io.github.wysohn.triggerreactor.core.script.parser.Parser) Lexer(io.github.wysohn.triggerreactor.core.script.lexer.Lexer) Executor(io.github.wysohn.triggerreactor.core.script.interpreter.Executor) CommonFunctions(io.github.wysohn.triggerreactor.bukkit.manager.trigger.share.CommonFunctions) Test(org.junit.Test)

Aggregations

CommonFunctions (io.github.wysohn.triggerreactor.bukkit.manager.trigger.share.CommonFunctions)21 Executor (io.github.wysohn.triggerreactor.core.script.interpreter.Executor)21 Interpreter (io.github.wysohn.triggerreactor.core.script.interpreter.Interpreter)21 Lexer (io.github.wysohn.triggerreactor.core.script.lexer.Lexer)21 Node (io.github.wysohn.triggerreactor.core.script.parser.Node)21 Parser (io.github.wysohn.triggerreactor.core.script.parser.Parser)21 Charset (java.nio.charset.Charset)21 HashMap (java.util.HashMap)21 Test (org.junit.Test)21 Placeholder (io.github.wysohn.triggerreactor.core.script.interpreter.Placeholder)7 Player (org.bukkit.entity.Player)4 ArrayList (java.util.ArrayList)2 Collection (java.util.Collection)2 Location (org.bukkit.Location)1 ItemStack (org.bukkit.inventory.ItemStack)1 PlayerInventory (org.bukkit.inventory.PlayerInventory)1