@@ -38,16 +38,16 @@ def test_nested_calls(self):
38
38
extract .DEFAULT_KEYWORDS .keys (),
39
39
[], {}))
40
40
self .assertEqual ([
41
- (1 , '_' , None , []),
42
- (2 , 'ungettext' , (None , None , None ), []),
43
- (3 , 'ungettext' , (u'Babel' , None , None ), []),
44
- (4 , 'ungettext' , (None , u'Babels' , None ), []),
45
- (5 , 'ungettext' , (u'bunny' , u'bunnies' , None ), []),
46
- (6 , 'ungettext' , (None , u'bunnies' , None ), []),
47
- (7 , '_' , None , []),
48
- (8 , 'gettext' , u'Rabbit' , []),
49
- (9 , 'dgettext' , (u'wiki' , None ), []),
50
- (10 , 'dngettext' , (None , u'Page' , u'Pages' , None ), [])],
41
+ (1 , '_' , None , [], () ),
42
+ (2 , 'ungettext' , (None , None , None ), [], () ),
43
+ (3 , 'ungettext' , (u'Babel' , None , None ), [], () ),
44
+ (4 , 'ungettext' , (None , u'Babels' , None ), [], () ),
45
+ (5 , 'ungettext' , (u'bunny' , u'bunnies' , None ), [], () ),
46
+ (6 , 'ungettext' , (None , u'bunnies' , None ), [], () ),
47
+ (7 , '_' , None , [], () ),
48
+ (8 , 'gettext' , u'Rabbit' , [], () ),
49
+ (9 , 'dgettext' , (u'wiki' , None ), [], () ),
50
+ (10 , 'dngettext' , (None , u'Page' , u'Pages' , None ), [], () )],
51
51
messages )
52
52
53
53
def test_nested_comments (self ):
@@ -58,7 +58,7 @@ def test_nested_comments(self):
58
58
""" )
59
59
messages = list (extract .extract_python (buf , ('ngettext' ,),
60
60
['TRANSLATORS:' ], {}))
61
- self .assertEqual ([(1 , 'ngettext' , (u'pylon' , u'pylons' , None ), [])],
61
+ self .assertEqual ([(1 , 'ngettext' , (u'pylon' , u'pylons' , None ), [], () )],
62
62
messages )
63
63
64
64
def test_comments_with_calls_that_spawn_multiple_lines (self ):
@@ -83,21 +83,21 @@ def test_comments_with_calls_that_spawn_multiple_lines(self):
83
83
84
84
{'strip_comment_tags' :False }))
85
85
self .assertEqual ((6 , '_' , 'Locale deleted.' ,
86
- [u'NOTE: This Comment SHOULD Be Extracted' ]),
86
+ [u'NOTE: This Comment SHOULD Be Extracted' ], () ),
87
87
messages [1 ])
88
88
self .assertEqual ((10 , 'ngettext' , (u'Foo deleted.' , u'Foos deleted.' ,
89
89
None ),
90
- [u'NOTE: This Comment SHOULD Be Extracted' ]),
90
+ [u'NOTE: This Comment SHOULD Be Extracted' ], () ),
91
91
messages [2 ])
92
92
self .assertEqual ((3 , 'ngettext' ,
93
93
(u'Catalog deleted.' ,
94
94
u'Catalogs deleted.' , None ),
95
- [u'NOTE: This Comment SHOULD Be Extracted' ]),
95
+ [u'NOTE: This Comment SHOULD Be Extracted' ], () ),
96
96
messages [0 ])
97
97
self .assertEqual ((15 , 'ngettext' , (u'Bar deleted.' , u'Bars deleted.' ,
98
98
None ),
99
99
[u'NOTE: This Comment SHOULD Be Extracted' ,
100
- u'NOTE: And This One Too' ]),
100
+ u'NOTE: And This One Too' ], () ),
101
101
messages [3 ])
102
102
103
103
def test_declarations (self ):
@@ -114,9 +114,9 @@ class Meta:
114
114
messages = list (extract .extract_python (buf ,
115
115
extract .DEFAULT_KEYWORDS .keys (),
116
116
[], {}))
117
- self .assertEqual ([(3 , '_' , u'Page arg 1' , []),
118
- (3 , '_' , u'Page arg 2' , []),
119
- (8 , '_' , u'log entry' , [])],
117
+ self .assertEqual ([(3 , '_' , u'Page arg 1' , [], () ),
118
+ (3 , '_' , u'Page arg 2' , [], () ),
119
+ (8 , '_' , u'log entry' , [], () )],
120
120
messages )
121
121
122
122
def test_multiline (self ):
@@ -128,8 +128,8 @@ def test_multiline(self):
128
128
count)
129
129
""" )
130
130
messages = list (extract .extract_python (buf , ('ngettext' ,), [], {}))
131
- self .assertEqual ([(1 , 'ngettext' , (u'pylon' , u'pylons' , None ), []),
132
- (3 , 'ngettext' , (u'elvis' , u'elvises' , None ), [])],
131
+ self .assertEqual ([(1 , 'ngettext' , (u'pylon' , u'pylons' , None ), [], () ),
132
+ (3 , 'ngettext' , (u'elvis' , u'elvises' , None ), [], () )],
133
133
messages )
134
134
135
135
def test_triple_quoted_strings (self ):
@@ -141,9 +141,9 @@ def test_triple_quoted_strings(self):
141
141
messages = list (extract .extract_python (buf ,
142
142
extract .DEFAULT_KEYWORDS .keys (),
143
143
[], {}))
144
- self .assertEqual ([(1 , '_' , (u'pylons' ), []),
145
- (2 , 'ngettext' , (u'elvis' , u'elvises' , None ), []),
146
- (3 , 'ngettext' , (u'elvis' , u'elvises' , None ), [])],
144
+ self .assertEqual ([(1 , '_' , (u'pylons' ), [], () ),
145
+ (2 , 'ngettext' , (u'elvis' , u'elvises' , None ), [], () ),
146
+ (3 , 'ngettext' , (u'elvis' , u'elvises' , None ), [], () )],
147
147
messages )
148
148
149
149
def test_multiline_strings (self ):
@@ -159,7 +159,7 @@ def test_multiline_strings(self):
159
159
[(1 , '_' ,
160
160
u'This module provides internationalization and localization\n '
161
161
'support for your Python programs by providing an interface to '
162
- 'the GNU\n gettext message catalog library.' , [])],
162
+ 'the GNU\n gettext message catalog library.' , [], () )],
163
163
messages )
164
164
165
165
def test_concatenated_strings (self ):
@@ -400,9 +400,9 @@ def test_simple_extract(self):
400
400
list (extract .extract ('javascript' , buf , extract .DEFAULT_KEYWORDS ,
401
401
[], {}))
402
402
403
- self .assertEqual ([(1 , 'simple' , [], None ),
404
- (2 , 'simple' , [], None ),
405
- (3 , ('s' , 'p' ), [], None )], messages )
403
+ self .assertEqual ([(1 , 'simple' , [], None , () ),
404
+ (2 , 'simple' , [], None , () ),
405
+ (3 , ('s' , 'p' ), [], None , () )], messages )
406
406
407
407
def test_various_calls (self ):
408
408
buf = BytesIO (b"""\
@@ -420,9 +420,9 @@ def test_various_calls(self):
420
420
messages = \
421
421
list (extract .extract ('javascript' , buf , extract .DEFAULT_KEYWORDS , [],
422
422
{}))
423
- self .assertEqual ([(5 , (u'bunny' , u'bunnies' ), [], None ),
424
- (8 , u'Rabbit' , [], None ),
425
- (10 , (u'Page' , u'Pages' ), [], None )], messages )
423
+ self .assertEqual ([(5 , (u'bunny' , u'bunnies' ), [], None , () ),
424
+ (8 , u'Rabbit' , [], None , () ),
425
+ (10 , (u'Page' , u'Pages' ), [], None , () )], messages )
426
426
427
427
def test_message_with_line_comment (self ):
428
428
buf = BytesIO (u"""\
@@ -479,6 +479,10 @@ def test_misplaced_comments(self):
479
479
self .assertEqual ([], messages [2 ][3 ])
480
480
481
481
482
+ def extract_bad (fileobj , keywords , comment_tags , options ):
483
+ yield (None ,)
484
+
485
+
482
486
class ExtractTestCase (unittest .TestCase ):
483
487
484
488
def test_invalid_filter (self ):
@@ -497,14 +501,19 @@ def test_invalid_filter(self):
497
501
messages = \
498
502
list (extract .extract ('python' , buf , extract .DEFAULT_KEYWORDS , [],
499
503
{}))
500
- self .assertEqual ([(5 , (u'bunny' , u'bunnies' ), [], None ),
501
- (8 , u'Rabbit' , [], None ),
502
- (10 , (u'Page' , u'Pages' ), [], None )], messages )
504
+ self .assertEqual ([(5 , (u'bunny' , u'bunnies' ), [], None , () ),
505
+ (8 , u'Rabbit' , [], None , () ),
506
+ (10 , (u'Page' , u'Pages' ), [], None , () )], messages )
503
507
504
508
def test_invalid_extract_method (self ):
505
509
buf = BytesIO (b'' )
506
510
self .assertRaises (ValueError , list , extract .extract ('spam' , buf ))
507
511
512
+ def test_bad_extract_function (self ):
513
+ self .assertRaises (
514
+ ValueError , list ,
515
+ extract .extract ('tests.messages.test_extract:extract_bad' , '' ))
516
+
508
517
def test_different_signatures (self ):
509
518
buf = BytesIO (b"""
510
519
foo = _('foo', 'bar')
0 commit comments