17 lines
616 B
Crystal
17 lines
616 B
Crystal
require "spec"
|
|
|
|
describe Core::Hook do
|
|
it "basic exec" do
|
|
hook = Core::Hook.from_json(%({ "function": "fct_test", "mod": "mod_test" }))
|
|
mods = Mods::Sandbox.new
|
|
Tempfile.open("mod_test") do |f|
|
|
f.puts %({fct_test: function(a, b) { return "result: " + a + " = " + b; }})
|
|
f.flush
|
|
mods.load f.path
|
|
end
|
|
core_model = Core::Model::Skill.from_json %({ "name": "tmodel" })
|
|
core_item = Core::Item::Skill.from_json %({ "id": 0, "model": "tmodel", "level": 0, "xp": 0.0 }), [core_model], Owner::Person.new(0)
|
|
hook.exec(mods, core_item, "ok").should eq "result: 0 = ok"
|
|
end
|
|
end
|