gettext 3.0.1 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/doc/text/news.md +13 -0
- data/lib/gettext/po.rb +11 -9
- data/lib/gettext/po_entry.rb +10 -1
- data/lib/gettext/tools/msgmerge.rb +1 -1
- data/lib/gettext/tools/xgettext.rb +107 -72
- data/lib/gettext/version.rb +1 -1
- data/po/gettext.pot +411 -412
- data/test/test_po.rb +15 -0
- data/test/test_po_entry.rb +17 -0
- data/test/tools/test_xgettext.rb +188 -9
- metadata +2 -2
data/test/test_po.rb
CHANGED
@@ -504,4 +504,19 @@ msgstr ""
|
|
504
504
|
end
|
505
505
|
end
|
506
506
|
end
|
507
|
+
|
508
|
+
class TestEmpty < self
|
509
|
+
def setup
|
510
|
+
@po = GetText::PO.new
|
511
|
+
end
|
512
|
+
|
513
|
+
def test_true
|
514
|
+
assert_true(@po.empty?)
|
515
|
+
end
|
516
|
+
|
517
|
+
def test_false
|
518
|
+
@po["Hello"] = "Bonjour"
|
519
|
+
assert_false(@po.empty?)
|
520
|
+
end
|
521
|
+
end
|
507
522
|
end
|
data/test/test_po_entry.rb
CHANGED
@@ -378,6 +378,23 @@ msgstr ""
|
|
378
378
|
PO
|
379
379
|
end
|
380
380
|
end
|
381
|
+
|
382
|
+
class TestEncoding < self
|
383
|
+
def setup
|
384
|
+
@entry = GetText::POEntry.new(:normal)
|
385
|
+
@entry.msgid = "hello"
|
386
|
+
@entry.msgstr = "こんにちは"
|
387
|
+
end
|
388
|
+
|
389
|
+
def test_default
|
390
|
+
assert_equal(Encoding::UTF_8, @entry.to_s.encoding)
|
391
|
+
end
|
392
|
+
|
393
|
+
def test_valid
|
394
|
+
assert_equal(Encoding::EUC_JP,
|
395
|
+
@entry.to_s(:encoding => "EUC-JP").encoding)
|
396
|
+
end
|
397
|
+
end
|
381
398
|
end
|
382
399
|
end
|
383
400
|
|
data/test/tools/test_xgettext.rb
CHANGED
@@ -313,8 +313,7 @@ msgstr ""
|
|
313
313
|
pot_content = generate(":hello", "--package-name", package_name)
|
314
314
|
|
315
315
|
options = {:package_name => package_name}
|
316
|
-
|
317
|
-
assert_equal(expected_header, pot_content)
|
316
|
+
assert_equal(header(options), pot_content)
|
318
317
|
end
|
319
318
|
|
320
319
|
def test_package_version
|
@@ -322,8 +321,7 @@ msgstr ""
|
|
322
321
|
pot_content = generate(":hello", "--package-version", package_version)
|
323
322
|
|
324
323
|
options = {:package_version => package_version}
|
325
|
-
|
326
|
-
assert_equal(expected_header, pot_content)
|
324
|
+
assert_equal(header(options), pot_content)
|
327
325
|
end
|
328
326
|
|
329
327
|
def test_report_msgid_bugs_to
|
@@ -332,8 +330,7 @@ msgstr ""
|
|
332
330
|
"--msgid-bugs-address", msgid_bugs_address)
|
333
331
|
|
334
332
|
options = {:msgid_bugs_address => msgid_bugs_address}
|
335
|
-
|
336
|
-
assert_equal(expected_header, pot_content)
|
333
|
+
assert_equal(header(options), pot_content)
|
337
334
|
end
|
338
335
|
|
339
336
|
def test_copyright_holder
|
@@ -341,8 +338,7 @@ msgstr ""
|
|
341
338
|
pot_content = generate(":hello", "--copyright-holder", copyright_holder)
|
342
339
|
|
343
340
|
options = {:copyright_holder => copyright_holder}
|
344
|
-
|
345
|
-
assert_equal(expected_header, pot_content)
|
341
|
+
assert_equal(header(options), pot_content)
|
346
342
|
end
|
347
343
|
|
348
344
|
def test_to_code
|
@@ -365,6 +361,189 @@ EOP
|
|
365
361
|
|
366
362
|
assert_equal(expected_pot, pot_content)
|
367
363
|
end
|
364
|
+
|
365
|
+
class TestLocation < self
|
366
|
+
def test_default
|
367
|
+
assert_equal(<<-POT, generate("_('hello')"))
|
368
|
+
#{header}
|
369
|
+
#: ../lib/xgettext.rb:1
|
370
|
+
msgid "hello"
|
371
|
+
msgstr ""
|
372
|
+
POT
|
373
|
+
end
|
374
|
+
|
375
|
+
def test_location
|
376
|
+
assert_equal(<<-POT, generate("_('hello')", "--location"))
|
377
|
+
#{header}
|
378
|
+
#: ../lib/xgettext.rb:1
|
379
|
+
msgid "hello"
|
380
|
+
msgstr ""
|
381
|
+
POT
|
382
|
+
end
|
383
|
+
|
384
|
+
def test_no_location
|
385
|
+
assert_equal(<<-POT, generate("_('hello')", "--no-location"))
|
386
|
+
#{header}
|
387
|
+
msgid "hello"
|
388
|
+
msgstr ""
|
389
|
+
POT
|
390
|
+
end
|
391
|
+
end
|
392
|
+
|
393
|
+
class TestSort < self
|
394
|
+
def setup
|
395
|
+
super
|
396
|
+
@code = <<-RUBY
|
397
|
+
RUBY
|
398
|
+
end
|
399
|
+
|
400
|
+
def test_default
|
401
|
+
assert_equal(<<-POT, generate)
|
402
|
+
#{header}
|
403
|
+
#: ../lib/xgettext.rb:1
|
404
|
+
msgid "World"
|
405
|
+
msgstr ""
|
406
|
+
|
407
|
+
#: ../lib/xgettext.rb:2
|
408
|
+
msgid "Hello"
|
409
|
+
msgstr ""
|
410
|
+
|
411
|
+
#: ../templates/xgettext.rhtml:1
|
412
|
+
msgid "ABC"
|
413
|
+
msgstr ""
|
414
|
+
|
415
|
+
#: ../templates/xgettext.rhtml:2
|
416
|
+
msgid "123"
|
417
|
+
msgstr ""
|
418
|
+
POT
|
419
|
+
end
|
420
|
+
|
421
|
+
def test_no_sort_output
|
422
|
+
assert_equal(<<-POT, generate("--no-sort-output"))
|
423
|
+
#{header}
|
424
|
+
#: ../templates/xgettext.rhtml:1
|
425
|
+
msgid "ABC"
|
426
|
+
msgstr ""
|
427
|
+
|
428
|
+
#: ../templates/xgettext.rhtml:2
|
429
|
+
msgid "123"
|
430
|
+
msgstr ""
|
431
|
+
|
432
|
+
#: ../lib/xgettext.rb:1
|
433
|
+
msgid "World"
|
434
|
+
msgstr ""
|
435
|
+
|
436
|
+
#: ../lib/xgettext.rb:2
|
437
|
+
msgid "Hello"
|
438
|
+
msgstr ""
|
439
|
+
POT
|
440
|
+
end
|
441
|
+
|
442
|
+
def test_sort_by_file
|
443
|
+
assert_equal(<<-POT, generate("--sort-by-file"))
|
444
|
+
#{header}
|
445
|
+
#: ../lib/xgettext.rb:1
|
446
|
+
msgid "World"
|
447
|
+
msgstr ""
|
448
|
+
|
449
|
+
#: ../lib/xgettext.rb:2
|
450
|
+
msgid "Hello"
|
451
|
+
msgstr ""
|
452
|
+
|
453
|
+
#: ../templates/xgettext.rhtml:1
|
454
|
+
msgid "ABC"
|
455
|
+
msgstr ""
|
456
|
+
|
457
|
+
#: ../templates/xgettext.rhtml:2
|
458
|
+
msgid "123"
|
459
|
+
msgstr ""
|
460
|
+
POT
|
461
|
+
end
|
462
|
+
|
463
|
+
def test_sort_by_msgid
|
464
|
+
assert_equal(<<-POT, generate("--sort-by-msgid"))
|
465
|
+
#{header}
|
466
|
+
#: ../templates/xgettext.rhtml:2
|
467
|
+
msgid "123"
|
468
|
+
msgstr ""
|
469
|
+
|
470
|
+
#: ../templates/xgettext.rhtml:1
|
471
|
+
msgid "ABC"
|
472
|
+
msgstr ""
|
473
|
+
|
474
|
+
#: ../lib/xgettext.rb:2
|
475
|
+
msgid "Hello"
|
476
|
+
msgstr ""
|
477
|
+
|
478
|
+
#: ../lib/xgettext.rb:1
|
479
|
+
msgid "World"
|
480
|
+
msgstr ""
|
481
|
+
POT
|
482
|
+
end
|
483
|
+
|
484
|
+
private
|
485
|
+
def generate(*command_line_options)
|
486
|
+
File.open(@rhtml_file_path, "w") do |rhtml_file|
|
487
|
+
rhtml_file.puts(<<-RHTML)
|
488
|
+
<%= _("ABC") %>
|
489
|
+
<%= _("123") %>
|
490
|
+
RHTML
|
491
|
+
end
|
492
|
+
|
493
|
+
File.open(@rb_file_path, "w") do |rb_file|
|
494
|
+
rb_file.puts(<<-RUBY)
|
495
|
+
_('World')
|
496
|
+
_('Hello')
|
497
|
+
RUBY
|
498
|
+
end
|
499
|
+
|
500
|
+
command_line = ["--output", @pot_file_path]
|
501
|
+
command_line += command_line_options
|
502
|
+
command_line += [@rhtml_file_path, @rb_file_path]
|
503
|
+
@xgettext.run(*command_line)
|
504
|
+
|
505
|
+
File.read(@pot_file_path)
|
506
|
+
end
|
507
|
+
end
|
508
|
+
|
509
|
+
class TestWidth < self
|
510
|
+
def msgid
|
511
|
+
<<-MSGID.chomp
|
512
|
+
Hello very long line! This line is very long. Yes! This line is very long! Very very long line!
|
513
|
+
MSGID
|
514
|
+
end
|
515
|
+
|
516
|
+
def test_default
|
517
|
+
assert_equal(<<-POT, generate("_('#{msgid}')"))
|
518
|
+
#{header}
|
519
|
+
#: ../lib/xgettext.rb:1
|
520
|
+
msgid ""
|
521
|
+
"Hello very long line! This line is very long. Yes! This line is very long! Ver"
|
522
|
+
"y very long line!"
|
523
|
+
msgstr ""
|
524
|
+
POT
|
525
|
+
end
|
526
|
+
|
527
|
+
def test_width
|
528
|
+
assert_equal(<<-POT, generate("_('#{msgid}')", "--width", "70"))
|
529
|
+
#{header}
|
530
|
+
#: ../lib/xgettext.rb:1
|
531
|
+
msgid ""
|
532
|
+
"Hello very long line! This line is very long. Yes! This line is very l"
|
533
|
+
"ong! Very very long line!"
|
534
|
+
msgstr ""
|
535
|
+
POT
|
536
|
+
end
|
537
|
+
|
538
|
+
def test_no_wrap
|
539
|
+
assert_equal(<<-POT, generate("_('#{msgid}')", "--no-wrap"))
|
540
|
+
#{header}
|
541
|
+
#: ../lib/xgettext.rb:1
|
542
|
+
msgid "Hello very long line! This line is very long. Yes! This line is very long! Very very long line!"
|
543
|
+
msgstr ""
|
544
|
+
POT
|
545
|
+
end
|
546
|
+
end
|
368
547
|
end
|
369
548
|
|
370
549
|
class TestAddParser < self
|
@@ -399,7 +578,7 @@ EOP
|
|
399
578
|
po_entry = GetText::POEntry.new(:normal)
|
400
579
|
po_entry.msgid = "Message"
|
401
580
|
assert_equal([po_entry],
|
402
|
-
xgettext.parse(["index.html"]))
|
581
|
+
xgettext.parse(["index.html"]).to_a)
|
403
582
|
end
|
404
583
|
|
405
584
|
def test_instance_method
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gettext
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-09-
|
13
|
+
date: 2013-09-29 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: locale
|