twine 0.9.1 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +56 -69
- data/lib/twine.rb +11 -3
- data/lib/twine/cli.rb +375 -155
- data/lib/twine/formatters.rb +0 -5
- data/lib/twine/formatters/abstract.rb +43 -43
- data/lib/twine/formatters/android.rb +58 -59
- data/lib/twine/formatters/apple.rb +3 -3
- data/lib/twine/formatters/django.rb +15 -21
- data/lib/twine/formatters/flash.rb +17 -20
- data/lib/twine/formatters/gettext.rb +11 -15
- data/lib/twine/formatters/jquery.rb +8 -11
- data/lib/twine/formatters/tizen.rb +4 -4
- data/lib/twine/output_processor.rb +15 -15
- data/lib/twine/placeholders.rb +26 -6
- data/lib/twine/runner.rb +95 -95
- data/lib/twine/{stringsfile.rb → twine_file.rb} +53 -48
- data/lib/twine/version.rb +1 -1
- data/test/{command_test_case.rb → command_test.rb} +5 -5
- data/test/fixtures/{consume_loc_drop.zip → consume_localization_archive.zip} +0 -0
- data/test/fixtures/formatter_django.po +3 -1
- data/test/test_abstract_formatter.rb +40 -40
- data/test/test_cli.rb +313 -211
- data/test/test_consume_localization_archive.rb +27 -0
- data/test/{test_consume_string_file.rb → test_consume_localization_file.rb} +19 -19
- data/test/test_formatters.rb +108 -43
- data/test/{test_generate_all_string_files.rb → test_generate_all_localization_files.rb} +18 -18
- data/test/{test_generate_loc_drop.rb → test_generate_localization_archive.rb} +14 -14
- data/test/{test_generate_string_file.rb → test_generate_localization_file.rb} +18 -18
- data/test/test_output_processor.rb +26 -26
- data/test/test_placeholders.rb +44 -9
- data/test/test_twine_definition.rb +111 -0
- data/test/test_twine_file.rb +58 -0
- data/test/test_validate_twine_file.rb +61 -0
- data/test/twine_file_dsl.rb +12 -12
- data/test/{twine_test_case.rb → twine_test.rb} +1 -1
- metadata +23 -23
- data/test/test_consume_loc_drop.rb +0 -27
- data/test/test_strings_file.rb +0 -58
- data/test/test_strings_row.rb +0 -47
- data/test/test_validate_strings_file.rb +0 -61
data/test/test_strings_row.rb
DELETED
@@ -1,47 +0,0 @@
|
|
1
|
-
require 'twine_test_case'
|
2
|
-
|
3
|
-
class TestStringsRow < TwineTestCase
|
4
|
-
def setup
|
5
|
-
super
|
6
|
-
|
7
|
-
@reference = Twine::StringsRow.new 'reference-key'
|
8
|
-
@reference.comment = 'reference comment'
|
9
|
-
@reference.tags = ['ref1']
|
10
|
-
@reference.translations['en'] = 'ref-value'
|
11
|
-
|
12
|
-
@row = Twine::StringsRow.new 'key'
|
13
|
-
@row.reference_key = @reference.key
|
14
|
-
@row.reference = @reference
|
15
|
-
end
|
16
|
-
|
17
|
-
def test_reference_comment_used
|
18
|
-
assert_equal 'reference comment', @row.comment
|
19
|
-
end
|
20
|
-
|
21
|
-
def test_reference_comment_override
|
22
|
-
@row.comment = 'row comment'
|
23
|
-
|
24
|
-
assert_equal 'row comment', @row.comment
|
25
|
-
end
|
26
|
-
|
27
|
-
def test_reference_tags_used
|
28
|
-
assert @row.matches_tags?(['ref1'], false)
|
29
|
-
end
|
30
|
-
|
31
|
-
def test_reference_tags_override
|
32
|
-
@row.tags = ['tag1']
|
33
|
-
|
34
|
-
refute @row.matches_tags?(['ref1'], false)
|
35
|
-
assert @row.matches_tags?(['tag1'], false)
|
36
|
-
end
|
37
|
-
|
38
|
-
def test_reference_translation_used
|
39
|
-
assert_equal 'ref-value', @row.translated_string_for_lang('en')
|
40
|
-
end
|
41
|
-
|
42
|
-
def test_reference_translation_override
|
43
|
-
@row.translations['en'] = 'value'
|
44
|
-
|
45
|
-
assert_equal 'value', @row.translated_string_for_lang('en')
|
46
|
-
end
|
47
|
-
end
|
@@ -1,61 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'command_test_case'
|
4
|
-
|
5
|
-
class TestValidateStringsFile < CommandTestCase
|
6
|
-
def setup
|
7
|
-
super
|
8
|
-
@options = { strings_file: 'input.txt' }
|
9
|
-
|
10
|
-
@twine_file = build_twine_file 'en' do
|
11
|
-
add_section 'Section 1' do
|
12
|
-
add_row key1: 'value1', tags: ['tag1']
|
13
|
-
add_row key2: 'value2', tags: ['tag1']
|
14
|
-
end
|
15
|
-
|
16
|
-
add_section 'Section 2' do
|
17
|
-
add_row key3: 'value3', tags: ['tag1', 'tag2']
|
18
|
-
add_row key4: 'value4', tags: ['tag2']
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
def random_row
|
24
|
-
@twine_file.strings_map[@twine_file.strings_map.keys.sample]
|
25
|
-
end
|
26
|
-
|
27
|
-
def test_recognizes_valid_file
|
28
|
-
Twine::Runner.new(@options, @twine_file).validate_strings_file
|
29
|
-
assert_equal "input.txt is valid.\n", Twine::stdout.string
|
30
|
-
end
|
31
|
-
|
32
|
-
def test_reports_duplicate_keys
|
33
|
-
@twine_file.sections[0].rows << random_row
|
34
|
-
|
35
|
-
assert_raises Twine::Error do
|
36
|
-
Twine::Runner.new(@options, @twine_file).validate_strings_file
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
def test_reports_invalid_characters_in_keys
|
41
|
-
random_row.key[0] = "!?;:,^`´'\"\\|/(){}[]~-+*=#$%".chars.to_a.sample
|
42
|
-
|
43
|
-
assert_raises Twine::Error do
|
44
|
-
Twine::Runner.new(@options, @twine_file).validate_strings_file
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
def test_does_not_reports_missing_tags_by_default
|
49
|
-
random_row.tags.clear
|
50
|
-
|
51
|
-
Twine::Runner.new(@options, @twine_file).validate_strings_file
|
52
|
-
end
|
53
|
-
|
54
|
-
def test_reports_missing_tags
|
55
|
-
random_row.tags.clear
|
56
|
-
|
57
|
-
assert_raises Twine::Error do
|
58
|
-
Twine::Runner.new(@options.merge(pedantic: true), @twine_file).validate_strings_file
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|