view tests/test_gnusto_engine.js @ 12:a0c7b17ae1c6

Added more functionality to engine runner, testing suite
author Atul Varma <varmaa@toolness.com>
date Sun, 11 May 2008 15:52:18 -0700
parents 4b6b9ea26552
children ba38424a14c2
line wrap: on
line source

load("troll.js", "gnusto-engine.js");

var gInputTimes = 0;

function step() {
    var retval = 0;

    engine.run();
    var effect = engine.effect(0);
    var text = engine.consoleText();
    var desc = '['+effect+']';

    effect = '"' + effect + '"';

    switch (effect) {
    case GNUSTO_EFFECT_INPUT:
        var responses = ['quit', 'yes'];
        var response = responses[gInputTimes];
        desc = '[GNUSTO_EFFECT_INPUT]';
        print('responding with "' + response + '"');
        engine.answer(1, response);
        gInputTimes += 1;
        break;
    case GNUSTO_EFFECT_STYLE:
        desc = ('[GNUSTO_EFFECT_STYLE ' + engine.effect(1) +
                ' ' + engine.effect(2) + ' ' + engine.effect(3) + ']');
        break;
    case GNUSTO_EFFECT_QUIT:
        retval = 1;
        break;
    default:
        break;
    };

    print(desc);
    if (text)
        print(text);

    return retval;
}

var engine = new GnustoEngine();

engine.loadStory(troll_z5);

while (step() == 0) {}