discourse/spec/models/plugin_store_spec.rb
Sam 818bf1355d PluginStore for plugin specific bits of storage
Amended plugin interfaces so they work with the vk sample
2013-08-26 12:59:17 +10:00

50 lines
924 B
Ruby

require "spec_helper"
require_dependency "plugin_store"
describe PluginStore do
def set(k,v)
PluginStore.set("my_plugin", k, v)
end
def get(k)
PluginStore.get("my_plugin", k)
end
it "sets strings correctly" do
set("hello", "world")
expect(get("hello")).to eq("world")
set("hello", "world1")
expect(get("hello")).to eq("world1")
end
it "sets fixnums correctly" do
set("hello", 1)
expect(get("hello")).to eq(1)
end
it "sets bools correctly" do
set("hello", true)
expect(get("hello")).to eq(true)
set("hello", false)
expect(get("hello")).to eq(false)
set("hello", nil)
expect(get("hello")).to eq(nil)
end
it "handles hashes correctly" do
val = {"hi" => "there", "1" => 1}
set("hello", val)
result = get("hello")
expect(result).to eq(val)
# ensure indiff access holds
expect(result[:hi]).to eq("there")
end
end