diff --git a/sphinx/transforms.py b/sphinx/transforms.py index c6ed799e6..3f775517e 100644 --- a/sphinx/transforms.py +++ b/sphinx/transforms.py @@ -378,8 +378,9 @@ class Locale(Transform): except IndexError: # empty node pass # XXX doctest and other block markup - if not isinstance(patch, - (nodes.paragraph,) + LITERAL_TYPE_NODES + IMAGE_TYPE_NODES): + if not isinstance( + patch, + (nodes.paragraph,) + LITERAL_TYPE_NODES + IMAGE_TYPE_NODES): continue # skip for now # auto-numbered foot note reference should use original 'ids'. diff --git a/tests/test_intl.py b/tests/test_intl.py index a52b215d3..5c6be546a 100644 --- a/tests/test_intl.py +++ b/tests/test_intl.py @@ -101,6 +101,11 @@ def assert_elem(elem, texts=None, refs=None, names=None): assert _names == names +def assert_count(expected_expr, result, count): + find_pair = (expected_expr, result) + return assert_equal, len(re.findall(*find_pair)), count, find_pair + + @gen_with_intl_app('text', freshenv=True) def test_text_builder(app, status, warning): app.builder.build_all() @@ -642,26 +647,26 @@ def test_additional_targets_should_not_be_translated(app, status, warning): # title should be translated expected_expr = 'CODE-BLOCKS' - yield assert_equal, len(re.findall(expected_expr, result)), 2, (expected_expr, result) + yield assert_count(expected_expr, result, 2) # ruby code block should not be translated but be highlighted expected_expr = """'result'""" - yield assert_equal, len(re.findall(expected_expr, result)), 1, (expected_expr, result) + yield assert_count(expected_expr, result, 1) # C code block without lang should not be translated and *ruby* highlighted expected_expr = """#include <stdlib.h>""" - yield assert_equal, len(re.findall(expected_expr, result)), 1, (expected_expr, result) + yield assert_count(expected_expr, result, 1) # C code block with lang should not be translated but be *C* highlighted expected_expr = """#include <stdio.h>""" - yield assert_equal, len(re.findall(expected_expr, result)), 1, (expected_expr, result) + yield assert_count(expected_expr, result, 1) # doctest block should not be translated but be highlighted expected_expr = ( """>>> """ """import sys """ """# sys importing""") - yield assert_equal, len(re.findall(expected_expr, result)), 1, (expected_expr, result) + yield assert_count(expected_expr, result, 1) ## raw.txt @@ -669,7 +674,7 @@ def test_additional_targets_should_not_be_translated(app, status, warning): # raw block should not be translated expected_expr = """""" - yield assert_equal, len(re.findall(expected_expr, result)), 1, (expected_expr, result) + yield assert_count(expected_expr, result, 1) ## figure.txt @@ -677,11 +682,11 @@ def test_additional_targets_should_not_be_translated(app, status, warning): # alt and src for image block should not be translated expected_expr = """i18n""" - yield assert_equal, len(re.findall(expected_expr, result)), 1, (expected_expr, result) + yield assert_count(expected_expr, result, 1) # alt and src for figure block should not be translated expected_expr = """img""" - yield assert_equal, len(re.findall(expected_expr, result)), 1, (expected_expr, result) + yield assert_count(expected_expr, result, 1) @gen_with_intl_app('html', freshenv=True, @@ -702,26 +707,26 @@ def test_additional_targets_should_be_translated(app, status, warning): # title should be translated expected_expr = 'CODE-BLOCKS' - yield assert_equal, len(re.findall(expected_expr, result)), 2, (expected_expr, result) + yield assert_count(expected_expr, result, 2) # ruby code block should be translated and be highlighted expected_expr = """'RESULT'""" - yield assert_equal, len(re.findall(expected_expr, result)), 1, (expected_expr, result) + yield assert_count(expected_expr, result, 1) # C code block without lang should be translated and *ruby* highlighted expected_expr = """#include <STDLIB.H>""" - yield assert_equal, len(re.findall(expected_expr, result)), 1, (expected_expr, result) + yield assert_count(expected_expr, result, 1) # C code block with lang should be translated and be *C* highlighted expected_expr = """#include <STDIO.H>""" - yield assert_equal, len(re.findall(expected_expr, result)), 1, (expected_expr, result) + yield assert_count(expected_expr, result, 1) # doctest block should not be translated but be highlighted expected_expr = ( """>>> """ """import sys """ """# SYS IMPORTING""") - yield assert_equal, len(re.findall(expected_expr, result)), 1, (expected_expr, result) + yield assert_count(expected_expr, result, 1) ## raw.txt @@ -729,7 +734,7 @@ def test_additional_targets_should_be_translated(app, status, warning): # raw block should be translated expected_expr = """""" - yield assert_equal, len(re.findall(expected_expr, result)), 1, (expected_expr, result) + yield assert_count(expected_expr, result, 1) ## figure.txt @@ -737,9 +742,9 @@ def test_additional_targets_should_be_translated(app, status, warning): # alt and src for image block should be translated expected_expr = """I18N -> IMG""" - yield assert_equal, len(re.findall(expected_expr, result)), 1, (expected_expr, result) + yield assert_count(expected_expr, result, 1) # alt and src for figure block should be translated expected_expr = """IMG -> I18N""" - yield assert_equal, len(re.findall(expected_expr, result)), 1, (expected_expr, result) + yield assert_count(expected_expr, result, 1)