shard-kemal/spec/config_spec.cr

55 lines
1.3 KiB
Crystal
Raw Normal View History

2015-11-14 21:45:20 +00:00
require "./spec_helper"
describe "Config" do
it "sets default port to 3000" do
config = Kemal.config
config.port.should eq 3000
end
2015-11-18 20:45:49 +00:00
it "sets default environment to development" do
config = Kemal.config
config.env.should eq "development"
end
2016-01-03 14:04:11 +00:00
it "sets environment to production" do
2015-11-18 20:45:49 +00:00
config = Kemal.config
config.env = "production"
config.env.should eq "production"
end
2016-01-03 14:04:11 +00:00
it "sets host binding" do
config = Kemal.config
config.host_binding = "127.0.0.1"
config.host_binding.should eq "127.0.0.1"
end
it "sets session values" do
config = Kemal.config
config.session["name"] = "kemal"
config.session["expire_time"] = 1.hours
config.session["name"].as(String).should eq "kemal"
config.session["expire_time"].as(Time::Span).should eq 1.hours
end
2015-11-14 21:45:20 +00:00
it "adds a custom handler" do
config = Kemal.config
config.add_handler CustomTestHandler.new
config.handlers.size.should eq(6)
2015-11-14 21:45:20 +00:00
end
it "adds custom options" do
config = Kemal.config
ARGV.push("--test")
ARGV.push("FOOBAR")
2016-07-04 17:23:16 +00:00
test_option = nil
2016-07-04 17:23:16 +00:00
config.extra_options do |parser|
parser.on("--test TEST_OPTION", "Test an option") do |opt|
2016-07-04 17:23:16 +00:00
test_option = opt
end
2016-07-04 17:23:16 +00:00
end
Kemal::CLI.new
2016-07-04 17:23:16 +00:00
test_option.should eq("FOOBAR")
end
2015-11-14 21:45:20 +00:00
end