Skip to content

Instantly share code, notes, and snippets.

@ZachMassia
Created May 6, 2013 02:20
Show Gist options
  • Save ZachMassia/5523042 to your computer and use it in GitHub Desktop.
Save ZachMassia/5523042 to your computer and use it in GitHub Desktop.
Hatter config spec
require 'spec_helper'
require 'relative'
require 'configtoolkit/keyvaluereader'
describe 'Configuration' do
let(:config_file) { File.expand_path_relative_to_caller("../hatterrc") }
let(:maildir_path) { "/path/to/maildir" }
let(:maildir_format) { "maildir" }
let(:termbox_library_path) { "/usr/lib/libtermbox.so" }
context "with an invalid config file" do
let(:config) { File.read config_file }
it "barfs when required values are missing" do
config.gsub!(/maildir/, 'asdf')
File.open("invalid_config", "w") {|file| file.write config }
expect {Configuration.instance "invalid_config"}.to raise_error
FileUtils::rm("invalid_config")
end
end
context "with a valid config file" do
let(:config) { Configuration.instance }
subject { config }
its(:maildir) { should eq maildir_path }
its(:maildir_format) { should eq maildir_format }
its(:termbox_library_path) { should eq termbox_library_path }
describe "colors settings" do
subject { config.colors }
its(:foreground) { should eq "green" }
its(:background) { should eq "black" }
end
describe "nested config" do
subject { config.keys }
its(:c) { should eq "compose" }
its(:q) { should eq "quit" }
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment