From b23d4874cb101f716f6285a3a683b8c90621ca78 Mon Sep 17 00:00:00 2001 From: Waylan Limberg Date: Tue, 30 Oct 2007 01:59:40 +0000 Subject: Fixed infinite loop in bracket regex and added tests --- markdown.py | 4 +-- tests/misc/bracket_re.html | 61 ++++++++++++++++++++++++++++++++++++++++++++++ tests/misc/bracket_re.txt | 61 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 124 insertions(+), 2 deletions(-) create mode 100644 tests/misc/bracket_re.html create mode 100644 tests/misc/bracket_re.txt diff --git a/markdown.py b/markdown.py index e563866..181de1d 100644 --- a/markdown.py +++ b/markdown.py @@ -640,8 +640,8 @@ So, we apply the expressions in the following order: NOBRACKET = r'[^\]\[]*' BRK = ( r'\[(' - + (NOBRACKET + r'(\['+NOBRACKET)*6 - + (NOBRACKET+ r'\])*'+NOBRACKET)*6 + + (NOBRACKET + r'(\[')*6 + + (NOBRACKET+ r'\])*')*6 + NOBRACKET + r')\]' ) BACKTICK_RE = r'\`([^\`]*)\`' # `e= m*c^2` diff --git a/tests/misc/bracket_re.html b/tests/misc/bracket_re.html new file mode 100644 index 0000000..04245ad --- /dev/null +++ b/tests/misc/bracket_re.html @@ -0,0 +1,61 @@ +

[x + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx + xxx xxx xxx xxx xxx xxx xxx xxx +

\ No newline at end of file diff --git a/tests/misc/bracket_re.txt b/tests/misc/bracket_re.txt new file mode 100644 index 0000000..545e061 --- /dev/null +++ b/tests/misc/bracket_re.txt @@ -0,0 +1,61 @@ + +[x +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx +xxx xxx xxx xxx xxx xxx xxx xxx -- cgit v1.2.3