1from translate.lang import factory 2 3 4def test_punctranslate(): 5 """Tests that we can translate punctuation.""" 6 language = factory.getlanguage("nqo") 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!") == "abc efg߹" 11 assert language.punctranslate("abc, efg; d?") == "abc߸ efg؛ d؟" 12 # See https://github.com/translate/translate/issues/1819 13 assert language.punctranslate("It is called “abc”") == "It is called ”abc“" 14 15 16def test_sentences(): 17 """Tests basic functionality of sentence segmentation.""" 18 language = factory.getlanguage("nqo") 19 sentences = language.sentences("") 20 assert sentences == [] 21 22 # this text probably does not make sense, I just copied it from Firefox 23 # translation and added some punctuation marks 24 sentences = language.sentences( 25 "ߡߍ߲ ߠߎ߬ ߦߋ߫ ߓߊ߯ߙߊ߫ ߟߊ߫ ߢߐ߲߮ ߝߍ߬ ߞߊ߬ ߓߟߐߟߐ ߟߊߞߊ߬ߣߍ߲ ߕߏ߫. ߖߊ߬ߡߊ ߣߌ߫ ߓߍ߯ ߛߊ߬ߥߏ ߘߐ߫." 26 ) 27 print(sentences) 28 assert sentences == [ 29 "ߡߍ߲ ߠߎ߬ ߦߋ߫ ߓߊ߯ߙߊ߫ ߟߊ߫ ߢߐ߲߮ ߝߍ߬ ߞߊ߬ ߓߟߐߟߐ ߟߊߞߊ߬ߣߍ߲ ߕߏ߫.", 30 "ߖߊ߬ߡߊ ߣߌ߫ ߓߍ߯ ߛߊ߬ߥߏ ߘߐ߫.", 31 ] 32 sentences = language.sentences( 33 "ߡߍ߲ ߠߎ߬ ߦߋ߫ ߓߊ߯ߙߊ߫ ߟߊ߫ ߢߐ߲߮ ߝߍ߬ ߞߊ߬ ߓߟߐߟߐ ߟߊߞߊ߬ߣߍ߲ ߕߏ߫? ߖߊ߬ߡߊ ߣߌ߫ ߓߍ߯ ߛߊ߬ߥߏ ߘߐ߫." 34 ) 35 print(sentences) 36 assert sentences == [ 37 "ߡߍ߲ ߠߎ߬ ߦߋ߫ ߓߊ߯ߙߊ߫ ߟߊ߫ ߢߐ߲߮ ߝߍ߬ ߞߊ߬ ߓߟߐߟߐ ߟߊߞߊ߬ߣߍ߲ ߕߏ߫?", 38 "ߖߊ߬ߡߊ ߣߌ߫ ߓߍ߯ ߛߊ߬ߥߏ ߘߐ߫.", 39 ] 40