Created
May 6, 2013 02:20
-
-
Save ZachMassia/5523042 to your computer and use it in GitHub Desktop.
Hatter config spec
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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