Skip to content
This repository has been archived by the owner on Jan 29, 2024. It is now read-only.

Commit

Permalink
Merge pull request #18 from mabras/master
Browse files Browse the repository at this point in the history
remove some repetitions in test
  • Loading branch information
kaspth committed Oct 19, 2015
2 parents 2527eec + d7d2be2 commit 241fb27
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 59 deletions.
35 changes: 17 additions & 18 deletions test/unit/test_key.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,40 +4,39 @@
require "i18n_yaml_editor/key"

class TestKey < Minitest::Test
def setup
@key = Key.new(name: "session.login")
end

def test_category
key = Key.new(name: "session.login")
assert_equal "session", key.category
assert_equal "session", @key.category
end

def test_complete_with_text_for_all_translations
key = Key.new(name: "session.login")
key.add_translation Translation.new(name: "da.session.login", text: "Log ind")
key.add_translation Translation.new(name: "en.session.login", text: "Sign in")
@key.add_translation Translation.new(name: "da.session.login", text: "Log ind")
@key.add_translation Translation.new(name: "en.session.login", text: "Sign in")

assert key.complete?
assert @key.complete?
end

def test_complete_with_no_texts
key = Key.new(name: "session.login")
key.add_translation Translation.new(name: "da.session.login")
key.add_translation Translation.new(name: "en.session.login")
@key.add_translation Translation.new(name: "da.session.login")
@key.add_translation Translation.new(name: "en.session.login")

assert key.complete?
assert @key.complete?
end

def test_not_complete_without_text_for_some_translations
key = Key.new(name: "session.login")
key.add_translation Translation.new(name: "da.session.login", text: "Log ind")
key.add_translation Translation.new(name: "en.session.login")
@key.add_translation Translation.new(name: "da.session.login", text: "Log ind")
@key.add_translation Translation.new(name: "en.session.login")

assert_equal false, key.complete?
assert_equal false, @key.complete?
end

def testemptycomplete_with_no_texts
key = Key.new(name: "session.login")
key.add_translation Translation.new(name: "da.session.login")
key.add_translation Translation.new(name: "en.session.login")
@key.add_translation Translation.new(name: "da.session.login")
@key.add_translation Translation.new(name: "en.session.login")

assert key.empty?
assert @key.empty?
end
end
78 changes: 37 additions & 41 deletions test/unit/test_store.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,103 +4,99 @@
require "i18n_yaml_editor/store"

class TestStore < Minitest::Test
def setup
@store = Store.new
end

def test_add_translations
store = Store.new
translation = Translation.new(:name => "da.session.login")

store.add_translation(translation)
@store.add_translation(translation)

assert_equal 1, store.translations.size
assert_equal translation, store.translations[translation.name]
assert_equal 1, @store.translations.size
assert_equal translation, @store.translations[translation.name]

assert_equal 1, store.keys.size
assert_equal Set.new([translation]), store.keys["session.login"].translations
assert_equal 1, @store.keys.size
assert_equal Set.new([translation]), @store.keys["session.login"].translations

assert_equal 1, store.categories.size
assert_equal %w(session.login), store.categories["session"].keys.map(&:name)
assert_equal 1, @store.categories.size
assert_equal %w(session.login), @store.categories["session"].keys.map(&:name)

assert_equal 1, store.locales.size
assert_equal %w(da), store.locales.to_a
assert_equal 1, @store.locales.size
assert_equal %w(da), @store.locales.to_a
end

def test_add_duplicate_translation
store = Store.new
t1 = Translation.new(:name => "da.session.login")
t2 = Translation.new(:name => "da.session.login")
store.add_translation(t1)
@store.add_translation(t1)

assert_raises(DuplicateTranslationError) {
store.add_translation(t2)
@store.add_translation(t2)
}
end

def test_filter_keys_on_key
store = Store.new
store.add_key(Key.new(name: "session.login"))
store.add_key(Key.new(name: "session.logout"))
@store.add_key(Key.new(name: "session.login"))
@store.add_key(Key.new(name: "session.logout"))

result = store.filter_keys(key: /login/)
result = @store.filter_keys(key: /login/)

assert_equal 1, result.size
assert_equal %w(session.login), result.keys
end

def test_filter_keys_on_complete
store = Store.new
store.add_translation Translation.new(name: "da.session.login", text: "Log ind")
store.add_translation Translation.new(name: "en.session.login")
store.add_translation Translation.new(name: "da.session.logout", text: "Log ud")
@store.add_translation Translation.new(name: "da.session.login", text: "Log ind")
@store.add_translation Translation.new(name: "en.session.login")
@store.add_translation Translation.new(name: "da.session.logout", text: "Log ud")

result = store.filter_keys(complete: false)
result = @store.filter_keys(complete: false)

assert_equal 1, result.size
assert_equal %w(session.login), result.keys
end

def test_filter_keys_on_empty
store = Store.new
store.add_translation Translation.new(name: "da.session.login", text: "Log ind")
store.add_translation Translation.new(name: "da.session.logout")
@store.add_translation Translation.new(name: "da.session.login", text: "Log ind")
@store.add_translation Translation.new(name: "da.session.logout")

result = store.filter_keys(empty: true)
result = @store.filter_keys(empty: true)

assert_equal 1, result.size
assert_equal %w(session.logout), result.keys
end

def test_filter_keys_on_text
store = Store.new
store.add_translation Translation.new(name: "da.session.login", text: "Log ind")
store.add_translation Translation.new(name: "da.session.logout", text: "Log ud")
store.add_translation Translation.new(name: "da.app.name", text: "Translator")
@store.add_translation Translation.new(name: "da.session.login", text: "Log ind")
@store.add_translation Translation.new(name: "da.session.logout", text: "Log ud")
@store.add_translation Translation.new(name: "da.app.name", text: "Translator")

result = store.filter_keys(text: /Log/)
result = @store.filter_keys(text: /Log/)

assert_equal 2, result.size
assert_equal %w(session.login session.logout).sort, result.keys.sort
end

def test_create_missing_translations
store = Store.new
store.add_translation Translation.new(name: "da.session.login", text: "Log ind", file: "/tmp/session.da.yml")
store.add_locale("en")
@store.add_translation Translation.new(name: "da.session.login", text: "Log ind", file: "/tmp/session.da.yml")
@store.add_locale("en")

store.create_missing_keys
@store.create_missing_keys

assert(translation = store.translations["en.session.login"])
assert(translation = @store.translations["en.session.login"])
assert_equal "en.session.login", translation.name
assert_equal "/tmp/session.en.yml", translation.file
assert_nil translation.text
end

def test_create_missing_translations_in_top_level_file
store = Store.new
store.add_translation Translation.new(name: "da.app_name", text: "Oversætter", file: "/tmp/da.yml")
store.add_locale("en")
@store.add_translation Translation.new(name: "da.app_name", text: "Oversætter", file: "/tmp/da.yml")
@store.add_locale("en")

store.create_missing_keys
@store.create_missing_keys

assert(translation = store.translations["en.app_name"])
assert(translation = @store.translations["en.app_name"])
assert_equal "en.app_name", translation.name
assert_equal "/tmp/en.yml", translation.file
assert_nil translation.text
Expand Down

0 comments on commit 241fb27

Please sign in to comment.