3
3
import unittest
4
4
from unittest import mock
5
5
6
+ from . import normalize_path
7
+
6
8
from fluent .runtime import FluentLocalization , FluentResourceLoader
7
9
8
10
ISFILE = os .path .isfile
9
11
12
+ def show_bundle (bundle ):
13
+ for name in ["one" , "two" , "three" , "four" , "five" ]:
14
+ if bundle .has_message (name ):
15
+ print (name + ":" , bundle .format_pattern (bundle .get_message (name ).value ))
16
+ else :
17
+ print (name + ": Not present" )
18
+
10
19
11
20
class TestLocalization (unittest .TestCase ):
12
21
def test_init (self ):
@@ -25,22 +34,28 @@ def test_bundles(self, codecs_open, isfile):
25
34
"en/one.ftl" : "four = exists" ,
26
35
"en/two.ftl" : "five = exists" ,
27
36
}
28
- isfile .side_effect = lambda p : p in data or ISFILE (p )
29
- codecs_open .side_effect = lambda p , _ , __ : io .StringIO (data [p ])
37
+ #isfile.side_effect = lambda p: p in data or ISFILE(p)
38
+ isfile .side_effect = lambda p : normalize_path (p ) in data or ISFILE (p )
39
+ codecs_open .side_effect = lambda p , _ , __ : io .StringIO (data [normalize_path (p )])
30
40
l10n = FluentLocalization (
31
41
["de" , "fr" , "en" ], ["one.ftl" , "two.ftl" ], FluentResourceLoader ("{locale}" )
32
42
)
43
+ # Curious
44
+ print ("\n test_bundles" )
33
45
bundles_gen = l10n ._bundles ()
34
46
bundle_de = next (bundles_gen )
47
+ show_bundle (bundle_de )
35
48
self .assertEqual (bundle_de .locales [0 ], "de" )
36
49
self .assertTrue (bundle_de .has_message ("one" ))
37
50
self .assertTrue (bundle_de .has_message ("two" ))
38
51
bundle_fr = next (bundles_gen )
52
+ show_bundle (bundle_fr )
39
53
self .assertEqual (bundle_fr .locales [0 ], "fr" )
40
54
self .assertFalse (bundle_fr .has_message ("one" ))
41
55
self .assertTrue (bundle_fr .has_message ("three" ))
42
56
self .assertListEqual (list (l10n ._bundles ())[:2 ], [bundle_de , bundle_fr ])
43
57
bundle_en = next (bundles_gen )
58
+ show_bundle (bundle_en )
44
59
self .assertEqual (bundle_en .locales [0 ], "en" )
45
60
self .assertEqual (l10n .format_value ("one" ), "in German" )
46
61
self .assertEqual (l10n .format_value ("two" ), "in German" )
@@ -57,8 +72,8 @@ def test_all_exist(self, codecs_open, isfile):
57
72
"en/one.ftl" : "one = exists" ,
58
73
"en/two.ftl" : "two = exists" ,
59
74
}
60
- isfile .side_effect = lambda p : p in data
61
- codecs_open .side_effect = lambda p , _ , __ : io .StringIO (data [p ])
75
+ isfile .side_effect = lambda p : normalize_path ( p ) in data
76
+ codecs_open .side_effect = lambda p , _ , __ : io .StringIO (data [normalize_path ( p ) ])
62
77
loader = FluentResourceLoader ("{locale}" )
63
78
resources_list = list (loader .resources ("en" , ["one.ftl" , "two.ftl" ]))
64
79
self .assertEqual (len (resources_list ), 1 )
@@ -69,8 +84,8 @@ def test_one_exists(self, codecs_open, isfile):
69
84
data = {
70
85
"en/two.ftl" : "two = exists" ,
71
86
}
72
- isfile .side_effect = lambda p : p in data
73
- codecs_open .side_effect = lambda p , _ , __ : io .StringIO (data [p ])
87
+ isfile .side_effect = lambda p : normalize_path ( p ) in data
88
+ codecs_open .side_effect = lambda p , _ , __ : io .StringIO (data [normalize_path ( p ) ])
74
89
loader = FluentResourceLoader ("{locale}" )
75
90
resources_list = list (loader .resources ("en" , ["one.ftl" , "two.ftl" ]))
76
91
self .assertEqual (len (resources_list ), 1 )
@@ -79,8 +94,8 @@ def test_one_exists(self, codecs_open, isfile):
79
94
80
95
def test_none_exist (self , codecs_open , isfile ):
81
96
data = {}
82
- isfile .side_effect = lambda p : p in data
83
- codecs_open .side_effect = lambda p , _ , __ : io .StringIO (data [p ])
97
+ isfile .side_effect = lambda p : normalize_path ( p ) in data
98
+ codecs_open .side_effect = lambda p , _ , __ : io .StringIO (data [normalize_path ( p ) ])
84
99
loader = FluentResourceLoader ("{locale}" )
85
100
resources_list = list (loader .resources ("en" , ["one.ftl" , "two.ftl" ]))
86
101
self .assertEqual (len (resources_list ), 0 )
0 commit comments