Skip to content

Commit

Permalink
Improve coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
maxpoletaev committed Oct 28, 2016
1 parent e30b04d commit 1df8118
Show file tree
Hide file tree
Showing 6 changed files with 50 additions and 20 deletions.
1 change: 0 additions & 1 deletion langpack/translators.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
from collections import defaultdict
from functools import reduce
import warnings
import os

Expand Down
13 changes: 0 additions & 13 deletions langpack/utils.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
from copy import deepcopy


class safedict(dict):
def __missing__(self, key):
return '{' + key + '}'
Expand All @@ -27,13 +24,3 @@ def flatten_dict(data, result=None, prevpath=None):

def safe_format(source, **kwargs):
return source.format_map(safedict(**kwargs))


def deep_merge(result, *dicts):
for source in dicts:
for key, value in source.items():
if key in result and isinstance(result[key], dict):
deep_merge(result[key], value)
else:
result[key] = deepcopy(value)
return result
29 changes: 25 additions & 4 deletions tests/django/test_shortcuts.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,35 @@
from langpack.contrib.django import trans, trans_lazy
from langpack.contrib.django import trans, localize, trans_lazy
from nose import tools as test
from datetime import datetime

from .cases import AppTestCase


class TestShortcuts(AppTestCase):
def setup(self):
def test_trans(self):
translator = self.get_translator()
translator.add_translations('en', {'foo': 'bar'})

def test_trans(self):
test.assert_equal(trans('foo'), 'bar')
test.assert_equal(trans_lazy('foo'), 'bar')

def test_localize(self):
translator = self.get_translator()

translator.add_translations('en', {
'datetime': {
'formats': {
'short': '%d.%M.%Y',
},
},
})

translator.add_formatter(self.format_datetime, ['datetime'])
now = datetime.now()

assert localize(now, 'short') == now.strftime('%d.%M.%Y')
assert localize(now, '%d.%M.%Y') == now.strftime('%d.%M.%Y')

@staticmethod
def format_datetime(value, format, translator):
format = translator.get_template('datetime.formats.' + format, default=format)
return value.strftime(format)
File renamed without changes.
Empty file.
27 changes: 25 additions & 2 deletions tests/test_translators.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,14 +70,37 @@ def test_add_translations(self):

def test_load_directory(self):
loader = mock.Mock()
loader.load_file.return_value = {'en': {'mainpage': {'foo': 'bar'}}}
loader.load_file.return_value = {
'en': {'mainpage': {'foo': 'bar'}},
}

locale_dir = os.path.join(
os.path.dirname(__file__),
'fixtures/load_directory')

locale_dir = os.path.join(os.path.dirname(__file__), 'fixtures')
self.translator._loaders['txt'] = loader
self.translator.load_directory(locale_dir)

test.assert_true(loader.load_file.called)

def test_load_directory_recursive(self):
loader = mock.Mock()
loader.load_file.return_value = {
'en': {'mainpage': {'foo': 'bar'}},
}

locale_dir = os.path.join(
os.path.dirname(__file__),
'fixtures/load_directory_recursive')

self.translator._loaders['txt'] = loader
self.translator.load_directory(locale_dir, recursive=True)

loader.load_file.assert_called_with(
os.path.join(locale_dir, 'inner', 'fixture.txt'))

test.assert_true(loader.load_file.called)

def test_localize(self):
self.translator._translations['en'] = flatten_dict({
'datetime': {
Expand Down

0 comments on commit 1df8118

Please sign in to comment.