class YAMLLoaderTest

Public Instance Methods

setup() click to toggle source
# File ../../../../../test/test_yamlloader.rb, line 7
def setup
  @loader = ReVIEW::YAMLLoader.new
end
teardown() click to toggle source
# File ../../../../../test/test_yamlloader.rb, line 11
def teardown
end
test_load_file() click to toggle source
# File ../../../../../test/test_yamlloader.rb, line 14
  def test_load_file
    Dir.mktmpdir do |dir|
      yaml_file = File.join(dir, 'test.yml')
      File.open(yaml_file, 'w') do |f|
        f.write <<EOB
foo:
  bar: "test"
EOB
      end
      yaml = @loader.load_file(yaml_file)
      assert_equal yaml, 'foo' => { 'bar' => 'test' }
    end
  end
test_load_file_inherit() click to toggle source
# File ../../../../../test/test_yamlloader.rb, line 28
  def test_load_file_inherit
    Dir.mktmpdir do |dir|
      yaml_file = File.join(dir, 'test.yml')
      yaml_file2 = File.join(dir, 'test2.yml')
      File.open(yaml_file, 'w') do |f|
        f.write <<EOB
k0: 2
k1:
  name: "test"
  array: [{name: "N", val: "V"}]
inherit: ["test2.yml"]
EOB
      end
      File.open(yaml_file2, 'w') do |f|
        f.write <<EOB
k1:
  name: "test2"
  name2: "value2"
  array: [{name: "shoudoverridden_name", val: "shouldoverridden_val"}]
k2: "3"
EOB
      end
      yaml = @loader.load_file(yaml_file)
      assert_equal({ 'k0' => 2,
                     'k1' => { 'name' => 'test', 'name2' => 'value2',
                               'array' => [{ 'name' => 'N', 'val' => 'V' }] },
                     'k2' => '3' },
                   yaml)
    end
  end
test_load_file_inherit2() click to toggle source
# File ../../../../../test/test_yamlloader.rb, line 59
  def test_load_file_inherit2
    Dir.mktmpdir do |dir|
      yaml_file = File.join(dir, 'test.yml')
      yaml_file2 = File.join(dir, 'test2.yml')
      yaml_file3 = File.join(dir, 'test3.yml')
      File.open(yaml_file, 'w') do |f|
        f.write <<EOB
k0: 2
k1:
  name1: "value1-1"
inherit: ["test3.yml", "test2.yml"]
EOB
      end
      File.open(yaml_file2, 'w') do |f|
        f.write <<EOB
k1:
  name1: "value1-2"
  name2: "value2-2"
k2: "B"
EOB
      end
      File.open(yaml_file3, 'w') do |f|
        f.write <<EOB
k1:
  name1: "value1-3"
  name2: "value2-3"
  name3: "value3-3"
k3: "C"
EOB
      end
      yaml = @loader.load_file(yaml_file)
      assert_equal({
                     'k0' => 2,
                     'k1' => { 'name1' => 'value1-1', 'name2' => 'value2-2', 'name3' => 'value3-3' },
                     'k2' => 'B',
                     'k3' => 'C'
                   },
                   yaml)
    end
  end
test_load_file_inherit3() click to toggle source
# File ../../../../../test/test_yamlloader.rb, line 100
  def test_load_file_inherit3
    Dir.mktmpdir do |dir|
      yaml_file1 = File.join(dir, 'test1.yml')
      yaml_file2 = File.join(dir, 'test2.yml')
      yaml_file3 = File.join(dir, 'test3.yml')
      yaml_file4 = File.join(dir, 'test4.yml')
      yaml_file5 = File.join(dir, 'test5.yml')
      yaml_file6 = File.join(dir, 'test6.yml')
      yaml_file7 = File.join(dir, 'test7.yml')
      File.open(yaml_file7, 'w') do |f|
        f.write <<EOB
k1:
  name1: "N7"
inherit: ["test3.yml", "test6.yml"]
EOB
      end
      File.open(yaml_file6, 'w') do |f|
        f.write <<EOB
k1:
  name1: "N6"
  name2: "N6"
inherit: ["test4.yml", "test5.yml"]
EOB
      end
      File.open(yaml_file5, 'w') do |f|
        f.write <<EOB
k1:
  name1: "N5"
  name2: "N5"
  name3: "N5"
EOB
      end
      File.open(yaml_file4, 'w') do |f|
        f.write <<EOB
k1:
  name1: "N4"
  name2: "N4"
  name3: "N4"
  name4: "N4"
EOB
      end
      File.open(yaml_file3, 'w') do |f|
        f.write <<EOB
k1:
  name1: "N3"
  name2: "N3"
  name3: "N3"
  name4: "N3"
  name5: "N3"
inherit: ["test1.yml", "test2.yml"]
EOB
      end
      File.open(yaml_file2, 'w') do |f|
        f.write <<EOB
k1:
  name1: "N2"
  name2: "N2"
  name3: "N2"
  name4: "N2"
  name5: "N2"
  name6: "N2"
EOB
      end
      File.open(yaml_file1, 'w') do |f|
        f.write <<EOB
k1:
  name1: "N1"
  name2: "N1"
  name3: "N1"
  name4: "N1"
  name5: "N1"
  name6: "N1"
  name7: "N1"
EOB
      end

      yaml = @loader.load_file(yaml_file7)
      assert_equal({ 'k1' => { 'name1' => 'N7',
                               'name2' => 'N6',
                               'name3' => 'N5',
                               'name4' => 'N4',
                               'name5' => 'N3',
                               'name6' => 'N2',
                               'name7' => 'N1' } },
                   yaml)
    end
  end