require 'test_helper' require File.join(File.dirname(__FILE__), '..', 'lib/sifttter_redux/configuration.rb') class ConfigurationTest < Test::Unit::TestCase def setup SifttterRedux::Configuration::load('/tmp/srd_config') end def teardown File.delete('/tmp/srd_config') if File.exists?('/tmp/srd_config') end def test_add_data SifttterRedux::Configuration::add_section('section1') SifttterRedux::Configuration['section1'] = { 'a' => 'test', 'b' => 'test' } assert_equal(SifttterRedux::Configuration::dump, { 'section1' => { 'a' => 'test', 'b' => 'test' } }) SifttterRedux::Configuration['section1']['a'] = 'bigger test' SifttterRedux::Configuration['section1']['c'] = 'little test' assert_equal(SifttterRedux::Configuration::dump, { 'section1' => { 'a' => 'bigger test', 'b' => 'test', 'c' => 'little test' } }) end def test_add_section SifttterRedux::Configuration::add_section('section1') SifttterRedux::Configuration::add_section('section2') assert_equal(SifttterRedux::Configuration::dump, { 'section1' => {}, 'section2' => {} }) end def test_add_section_duplicate SifttterRedux::Configuration::add_section('section1') SifttterRedux::Configuration::add_section('section2') SifttterRedux::Configuration::add_section('section2') assert_equal(SifttterRedux::Configuration::dump, { 'section1' => {}, 'section2' => {} }) end def test_config_path assert_equal(SifttterRedux::Configuration::config_path, '/tmp/srd_config') end def test_delete_section SifttterRedux::Configuration::add_section('section1') SifttterRedux::Configuration::add_section('section2') SifttterRedux::Configuration::delete_section('section2') assert_equal(SifttterRedux::Configuration::dump, { 'section1' => {} }) end def test_delete_section_nonexistant SifttterRedux::Configuration::add_section('section1') SifttterRedux::Configuration::delete_section('section12723762323') assert_equal(SifttterRedux::Configuration::dump, { 'section1' => {} }) end def test_reset SifttterRedux::Configuration::add_section('section1') SifttterRedux::Configuration::add_section('section2') SifttterRedux::Configuration::add_section('section3') SifttterRedux::Configuration::reset assert_equal(SifttterRedux::Configuration::dump, {}) end def test_save SifttterRedux::Configuration::add_section('section1') SifttterRedux::Configuration['section1'] = { 'a' => 'test', 'b' => 'test' } SifttterRedux::Configuration::save File.open('/tmp/srd_config', 'r') do |f| assert_output("---\nsection1:\n a: test\n b: test\n") { puts f.read } end end def test_section_exists SifttterRedux::Configuration::add_section('section1') assert_equal(SifttterRedux::Configuration::section_exists?('section1'), true) end end