diff options
| author | wiemann <wiemann@929543f6-e4f2-0310-98a6-ba3bd3dd1d04> | 2007-08-20 18:38:35 +0000 |
|---|---|---|
| committer | wiemann <wiemann@929543f6-e4f2-0310-98a6-ba3bd3dd1d04> | 2007-08-20 18:38:35 +0000 |
| commit | d2689cbe91dc3c0d11caa51c65ca986bbdbe359c (patch) | |
| tree | a3d99f0576b3927c836d76841f177313821d63ee | |
| parent | 1817d31bc5967e3c0e5622d75a095a0c2172ca93 (diff) | |
| download | docutils-d2689cbe91dc3c0d11caa51c65ca986bbdbe359c.tar.gz | |
made namespace qualifiers case-insensitive, and accept backslashes, too;
fixed typo
git-svn-id: http://svn.code.sf.net/p/docutils/code/branches/subdocs@5415 929543f6-e4f2-0310-98a6-ba3bd3dd1d04
| -rw-r--r-- | docutils/parsers/rst/states.py | 10 | ||||
| -rwxr-xr-x | test/test_parsers/test_rst/test_inline_markup.py | 2 | ||||
| -rwxr-xr-x | test/test_transforms/test_qualified_references.py | 4 |
3 files changed, 9 insertions, 7 deletions
diff --git a/docutils/parsers/rst/states.py b/docutils/parsers/rst/states.py index da465b34d..ade4f5241 100644 --- a/docutils/parsers/rst/states.py +++ b/docutils/parsers/rst/states.py @@ -786,11 +786,13 @@ class Inliner: 'Qualified references cannot be anonymous.', line=lineno) prb = self.problematic(text, rawsource, msg) return before, [prb], after, [msg] + qrefns = whitespace_normalize_name( + unescape(match.group('namespace'), + restore_backslashes=True).replace('\\', '/').lower()) + qrefname = normalize_name(unescape(match.group('name'))) reference = nodes.reference( rawsource, unescape(match.group('name')), - qrefname=normalize_name(unescape(match.group('name'))), - qrefns=whitespace_normalize_name( - unescape(match.group('namespace')))) + qrefns=qrefns, qrefname=qrefname) return before, [reference], after, [] match = self.patterns.embedded_uri.search(escaped) if match: @@ -1911,7 +1913,7 @@ class Body(RSTState): - 'refname' and the indirect reference name - 'refuri' and the URI - - 'malformed' and a system_message node + - 'qualified' and a 2-tuple (qrefns, qrefname) """ if block and block[-1].strip()[-1:] == '_': # possible indirect target reference = ' '.join([line.strip() for line in block]) diff --git a/test/test_parsers/test_rst/test_inline_markup.py b/test/test_parsers/test_rst/test_inline_markup.py index 1567be3a9..42d079caa 100755 --- a/test/test_parsers/test_rst/test_inline_markup.py +++ b/test/test_parsers/test_rst/test_inline_markup.py @@ -549,7 +549,7 @@ totest['qualified_references'] = [ """\ <document source="test data"> <paragraph> - <reference qrefname="name <not an embedded uri>" qrefns="a NAMESPACE"> + <reference qrefname="name <not an embedded uri>" qrefns="a name/space"> name <not an embedded URI> """], [r""" diff --git a/test/test_transforms/test_qualified_references.py b/test/test_transforms/test_qualified_references.py index fff9caa5b..65aa1c76c 100755 --- a/test/test_transforms/test_qualified_references.py +++ b/test/test_transforms/test_qualified_references.py @@ -129,7 +129,7 @@ Section Section ======= -`<../../../../test data> Section`_ +`<../../..\\..\\test data> Section`_ """ % paths, """\ <document docset_root="%(docset-root)s" source="test data"> @@ -144,7 +144,7 @@ Section Duplicate implicit target name: "section". <paragraph> <problematic ids="id3" refid="id2"> - `<../../../../test data> Section`_ + `<../../..\\..\\test data> Section`_ <system_message backrefs="id3" ids="id2" level="3" line="8" source="test data" type="ERROR"> <paragraph> Duplicate target "section" in namespace "../../../../test data" cannot be referenced. |
