Welcome to mirror list, hosted at ThFree Co, Russian Federation.

test_twine_file.rb « test - github.com/mapsme/twine.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 65057e59feb4fba570752cbb10b2cade8b7577ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
require 'twine_test_case'

class TestTwineFile < TwineTestCase
  class Reading < TwineTestCase
    def setup
      super

      @twine_file = Twine::TwineFile.new
      @twine_file.read fixture_path('twine_accent_values.txt')
    end

    def test_reading_keeps_leading_accent
      assert_equal '`value', @twine_file.definitions_by_key['value_with_leading_accent'].translations['en']
    end

    def test_reading_keeps_trailing_accent
      assert_equal 'value`', @twine_file.definitions_by_key['value_with_trailing_accent'].translations['en']
    end

    def test_reading_keeps_leading_space
      assert_equal ' value', @twine_file.definitions_by_key['value_with_leading_space'].translations['en']
    end

    def test_reading_keeps_trailing_space
      assert_equal 'value ', @twine_file.definitions_by_key['value_with_trailing_space'].translations['en']
    end

    def test_reading_keeps_wrapping_spaces
      assert_equal ' value ', @twine_file.definitions_by_key['value_wrapped_by_spaces'].translations['en']
    end

    def test_reading_keeps_wrapping_accents
      assert_equal '`value`', @twine_file.definitions_by_key['value_wrapped_by_accents'].translations['en']
    end
  end

  class Writing < TwineTestCase

    def test_accent_wrapping
      @twine_file = build_twine_file 'en' do
        add_section 'Section' do
          add_definition value_with_leading_accent: '`value'
          add_definition value_with_trailing_accent: 'value`'
          add_definition value_with_leading_space: ' value'
          add_definition value_with_trailing_space: 'value '
          add_definition value_wrapped_by_spaces: ' value '
          add_definition value_wrapped_by_accents: '`value`'
        end
      end

      @twine_file.write @output_path

      assert_equal content('twine_accent_values.txt'), File.read(@output_path)
    end

  end

end