1from translate.lang import factory
2
3
4def test_punctranslate():
5    """Tests that we can translate punctuation."""
6    language = factory.getlanguage("ar")
7    assert language.punctranslate("") == ""
8    assert language.punctranslate("abc efg") == "abc efg"
9    assert language.punctranslate("abc efg.") == "abc efg."
10    assert language.punctranslate("abc, efg; d?") == "abc، efg؛ d؟"
11    # See https://github.com/translate/translate/issues/1819
12    assert language.punctranslate("It is called “abc”") == "It is called ”abc“"
13
14
15def test_sentences():
16    """Tests basic functionality of sentence segmentation."""
17    language = factory.getlanguage("ar")
18    sentences = language.sentences("")
19    assert sentences == []
20
21    sentences = language.sentences('يوجد بالفعل مجلد بالإسم "%s". أترغب في استبداله؟')
22    print(sentences)
23    assert sentences == ['يوجد بالفعل مجلد بالإسم "%s".', "أترغب في استبداله؟"]
24    # This probably doesn't make sense: it is just the above reversed, to make sure
25    # we test the '؟' as an end of sentence marker.
26    sentences = language.sentences('أترغب في استبداله؟ يوجد بالفعل مجلد بالإسم "%s".')
27    print(sentences)
28    assert sentences == ["أترغب في استبداله؟", 'يوجد بالفعل مجلد بالإسم "%s".']
29