Package cuke4duke.internal.ik

Source Code of cuke4duke.internal.ik.IkLanguage

package cuke4duke.internal.ik;

import cuke4duke.Scenario;
import cuke4duke.internal.language.AbstractProgrammingLanguage;
import cuke4duke.internal.language.LanguageMixin;
import cuke4duke.spi.ExceptionFactory;
import ioke.lang.IokeObject;
import ioke.lang.Runtime;
import ioke.lang.exceptions.ControlFlow;

import java.util.Locale;

public class IkLanguage extends AbstractProgrammingLanguage {
    private final Runtime ioke;
    final IokeObject pendingCondition;
    final IokeObject failedExpectationCondition;


    public IkLanguage(LanguageMixin languageMixin, ExceptionFactory exceptionFactory) throws Exception, ControlFlow {
        super(languageMixin, exceptionFactory);

        ioke = new Runtime();
        ioke.init();
        ioke.ground.setCell("CucumberLanguage", this);
        ioke.evaluateString("use(\"cuke4duke/internal/ik/ik_dsl\")");
        clearHooksAndStepDefinitions();

        pendingCondition = IokeObject.as(IokeObject.getCellChain(ioke.condition,
                ioke.message,
                ioke.ground,
                "Pending"), ioke.ground);

        failedExpectationCondition = IokeObject.as(IokeObject.getCellChain(ioke.condition,
                ioke.message,
                ioke.ground,
                "ISpec",
                "ExpectationNotMet"), ioke.ground);
    }

    public void addIokeStepDefinition(Object iokeStepDefObject) throws Throwable {
        // Cast because of Ioke bug (?)
        addStepDefinition(new IkStepDefinition(this, ioke, (IokeObject) iokeStepDefObject));
    }

    public void load_code_file(String ikFile) throws Throwable {
        this.ioke.evaluateString("use(\"" + ikFile + "\")");
    }

    protected void begin_scenario(Scenario scenario) throws Throwable {
    }

    public void end_scenario() throws Throwable {
    }

    @Override
    protected Object customTransform(Object arg, Class<?> parameterType, Locale locale) {
        return null;
    }

}
TOP

Related Classes of cuke4duke.internal.ik.IkLanguage

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.