Skip to content

Commit

Permalink
Fix up MK locale and add tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
krisfremen committed Jun 5, 2020
1 parent 1619df9 commit 15ed80b
Show file tree
Hide file tree
Showing 2 changed files with 119 additions and 11 deletions.
2 changes: 1 addition & 1 deletion arrow/locales.py
Original file line number Diff line number Diff line change
Expand Up @@ -1617,7 +1617,7 @@ class MacedonianLocale(SlavicBaseLocale):
timeframes = {
"now": "сега",
"second": "секунда",
"seconds": "{0} секунди",
"seconds": ["{0} секунда", "{0} секунди", "{0} секунди"],
"minute": "една минута",
"minutes": ["{0} минута", "{0} минути", "{0} минути"],
"hour": "еден саат",
Expand Down
128 changes: 118 additions & 10 deletions tests/test_locales.py
Original file line number Diff line number Diff line change
Expand Up @@ -480,19 +480,62 @@ def test_plurals2(self):

@pytest.mark.usefixtures("lang_locale")
class TestMacedonianLocale:
def test_plurals_mk(self):
def test_singles_mk(self):
assert self.locale._format_timeframe("minute", 1) == "една минута"
assert self.locale._format_timeframe("hour", 1) == "еден саат"
assert self.locale._format_timeframe("day", 1) == "еден ден"
assert self.locale._format_timeframe("week", 1) == "една недела"
assert self.locale._format_timeframe("month", 1) == "еден месец"
assert self.locale._format_timeframe("year", 1) == "една година"

def test_meridians_mk(self):
assert self.locale.meridian(7, "A") == "претпладне"
assert self.locale.meridian(18, "A") == "попладне"
assert self.locale.meridian(10, "a") == "дп"
assert self.locale.meridian(22, "a") == "пп"

def test_describe_mk(self):
assert self.locale.describe("minute", only_distance=True) == "една минута"
assert self.locale.describe("minute", only_distance=False) == "за една минута"
assert self.locale.describe("hour", only_distance=True) == "еден саат"
assert self.locale.describe("hour", only_distance=False) == "за еден саат"
assert self.locale.describe("day", only_distance=True) == "еден ден"
assert self.locale.describe("day", only_distance=False) == "за еден ден"
assert self.locale.describe("week", only_distance=True) == "една недела"
assert self.locale.describe("week", only_distance=False) == "за една недела"
assert self.locale.describe("month", only_distance=True) == "еден месец"
assert self.locale.describe("month", only_distance=False) == "за еден месец"
assert self.locale.describe("year", only_distance=True) == "една година"
assert self.locale.describe("year", only_distance=False) == "за една година"

def test_relative_mk(self):
# time
assert self.locale._format_relative("сега", "now", 0) == "сега"
assert self.locale._format_relative("1 минута", "minutes", 1) == "за 1 минута"
assert self.locale._format_relative("1 саат", "hours", 1) == "за 1 саат"
assert self.locale._format_relative("1 ден", "days", 1) == "за 1 ден"
assert self.locale._format_relative("1 недела", "weeks", 1) == "за 1 недела"
assert self.locale._format_relative("1 месец", "months", 1) == "за 1 месец"
assert self.locale._format_relative("1 година", "years", 1) == "за 1 година"
assert (
self.locale._format_relative("1 минута", "minutes", -1) == "пред 1 минута"
)
assert self.locale._format_relative("1 саат", "hours", -1) == "пред 1 саат"
assert self.locale._format_relative("1 ден", "days", -1) == "пред 1 ден"
assert self.locale._format_relative("1 недела", "weeks", -1) == "пред 1 недела"
assert self.locale._format_relative("1 месец", "months", -1) == "пред 1 месец"
assert self.locale._format_relative("1 година", "years", -1) == "пред 1 година"

# Hours
assert self.locale._format_timeframe("hours", 0) == "0 саати"
assert self.locale._format_timeframe("hours", 1) == "1 саат"
assert self.locale._format_timeframe("hours", 2) == "2 саати"
assert self.locale._format_timeframe("hours", 4) == "4 саати"
assert self.locale._format_timeframe("hours", 5) == "5 саати"
assert self.locale._format_timeframe("hours", 21) == "21 саат"
assert self.locale._format_timeframe("hours", 22) == "22 саати"
assert self.locale._format_timeframe("hours", 25) == "25 саати"
def test_plurals_mk(self):
# Seconds
assert self.locale._format_timeframe("seconds", 0) == "0 секунди"
assert self.locale._format_timeframe("seconds", 1) == "1 секунда"
assert self.locale._format_timeframe("seconds", 2) == "2 секунди"
assert self.locale._format_timeframe("seconds", 4) == "4 секунди"
assert self.locale._format_timeframe("seconds", 5) == "5 секунди"
assert self.locale._format_timeframe("seconds", 21) == "21 секунда"
assert self.locale._format_timeframe("seconds", 22) == "22 секунди"
assert self.locale._format_timeframe("seconds", 25) == "25 секунди"

# Minutes
assert self.locale._format_timeframe("minutes", 0) == "0 минути"
Expand All @@ -504,6 +547,71 @@ def test_plurals_mk(self):
assert self.locale._format_timeframe("minutes", 22) == "22 минути"
assert self.locale._format_timeframe("minutes", 25) == "25 минути"

# Hours
assert self.locale._format_timeframe("hours", 0) == "0 саати"
assert self.locale._format_timeframe("hours", 1) == "1 саат"
assert self.locale._format_timeframe("hours", 2) == "2 саати"
assert self.locale._format_timeframe("hours", 4) == "4 саати"
assert self.locale._format_timeframe("hours", 5) == "5 саати"
assert self.locale._format_timeframe("hours", 21) == "21 саат"
assert self.locale._format_timeframe("hours", 22) == "22 саати"
assert self.locale._format_timeframe("hours", 25) == "25 саати"

# Days
assert self.locale._format_timeframe("days", 0) == "0 дена"
assert self.locale._format_timeframe("days", 1) == "1 ден"
assert self.locale._format_timeframe("days", 2) == "2 дена"
assert self.locale._format_timeframe("days", 3) == "3 дена"
assert self.locale._format_timeframe("days", 21) == "21 ден"

# Weeks
assert self.locale._format_timeframe("weeks", 0) == "0 недели"
assert self.locale._format_timeframe("weeks", 1) == "1 недела"
assert self.locale._format_timeframe("weeks", 2) == "2 недели"
assert self.locale._format_timeframe("weeks", 4) == "4 недели"
assert self.locale._format_timeframe("weeks", 5) == "5 недели"
assert self.locale._format_timeframe("weeks", 21) == "21 недела"
assert self.locale._format_timeframe("weeks", 22) == "22 недели"
assert self.locale._format_timeframe("weeks", 25) == "25 недели"

# Months
assert self.locale._format_timeframe("months", 0) == "0 месеци"
assert self.locale._format_timeframe("months", 1) == "1 месец"
assert self.locale._format_timeframe("months", 2) == "2 месеци"
assert self.locale._format_timeframe("months", 4) == "4 месеци"
assert self.locale._format_timeframe("months", 5) == "5 месеци"
assert self.locale._format_timeframe("months", 21) == "21 месец"
assert self.locale._format_timeframe("months", 22) == "22 месеци"
assert self.locale._format_timeframe("months", 25) == "25 месеци"

# Years
assert self.locale._format_timeframe("years", 1) == "1 година"
assert self.locale._format_timeframe("years", 2) == "2 години"
assert self.locale._format_timeframe("years", 5) == "5 години"

def test_multi_describe_mk(self):
describe = self.locale.describe_multi

fulltest = [("years", 5), ("weeks", 1), ("hours", 1), ("minutes", 6)]
assert describe(fulltest) == "за 5 години 1 недела 1 саат 6 минути"
seconds4000_0days = [("days", 0), ("hours", 1), ("minutes", 6)]
assert describe(seconds4000_0days) == "за 0 дена 1 саат 6 минути"
seconds4000 = [("hours", 1), ("minutes", 6)]
assert describe(seconds4000) == "за 1 саат 6 минути"
assert describe(seconds4000, only_distance=True) == "1 саат 6 минути"
seconds3700 = [("hours", 1), ("minutes", 1)]
assert describe(seconds3700) == "за 1 саат 1 минута"
seconds300_0hours = [("hours", 0), ("minutes", 5)]
assert describe(seconds300_0hours) == "за 0 саати 5 минути"
seconds300 = [("minutes", 5)]
assert describe(seconds300) == "за 5 минути"
seconds60 = [("minutes", 1)]
assert describe(seconds60) == "за 1 минута"
assert describe(seconds60, only_distance=True) == "1 минута"
seconds60 = [("seconds", 1)]
assert describe(seconds60) == "за 1 секунда"
assert describe(seconds60, only_distance=True) == "1 секунда"


@pytest.mark.usefixtures("time_2013_01_01")
@pytest.mark.usefixtures("lang_locale")
Expand Down

0 comments on commit 15ed80b

Please sign in to comment.