You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
vore-rpg/src/scripting/ExampleScripts.test.ts

36 lines
1.2 KiB

import {parse} from "./NomScript.peggy";
import {scriptFile} from "./ScriptFile";
import {versionStatement} from "./TopLevelStatement";
import {battlerAttribute, BattlerAttributeType, battlerDeclaration} from "./BattlerStatement";
import {numberValue} from "./ScriptValue";
test("integration test", () => {
const result = parse(`
script version 1
battler reya
health 90
confidence 2000
stamina 50
end battler
battler kun_chan
health 500
confidence 1000
stamina 200
end battler
`, {grammarSource: "testData", start: "ScriptFile"})
expect(result).toEqual(scriptFile([
versionStatement(1),
battlerDeclaration("reya", [
battlerAttribute(BattlerAttributeType.HEALTH, numberValue(90)),
battlerAttribute(BattlerAttributeType.CONFIDENCE, numberValue(2000)),
battlerAttribute(BattlerAttributeType.STAMINA, numberValue(50))
]),
battlerDeclaration("kun_chan", [
battlerAttribute(BattlerAttributeType.HEALTH, numberValue(500)),
battlerAttribute(BattlerAttributeType.CONFIDENCE, numberValue(1000)),
battlerAttribute(BattlerAttributeType.STAMINA, numberValue(200))
]),
]))
})