• 
      
    Fish Trophy

    chipx86 got a fish trophy!

    Fish Trophy

    Fix unit test regressions for Markdown rendering.

    Review Request #11611 — Created May 20, 2021 and submitted

    Information

    Review Board
    release-4.0.x

    Reviewers

    Some of the recent releases of Python-Markdown, along with some of the
    recent fixes merged in from release-3.0.x, resulted in some regressions
    in the expected Markdown rendering results in unit tests. These
    regressions are, for the most part, not something users will need to
    worry about.

    Some of the regressions were in the XSS unit tests. These aren't
    security regressions, just expected string regressions. Python Markdown
    3.0 changed some of the parsing, supporting "title" in link URLs, and
    these captured strings in JavaScript code, turning them into title=
    attributes. Tests were updated for the new strings.

    Python Markdown 3.2 added <code> elements to each line in a code
    block, which new tests from release-3.0.x weren't accounting for. Since
    we support 3.1 and 3.3+ (depending on the Python version), these testsn
    ow check for the right string for the right version.

    And finally, the one user-facing change is that nested bold/italic (in
    the form of *this is **a** test* renders entirely as a series of
    italic blocks on Python Markdown 3.2. The working alternative is
    *this is __a__ test*. Tests were updated for this as well.
    Unfortunately, there doesn't seem to be a way to restore prior
    formatting, but hopefully this doesn't affect many people.

    See https://github.com/Python-Markdown/markdown/issues/792 for the
    bold/italic changes in Python Markdown.

    Unit tests pass on all supported versions of Python, with all supported
    versions of Python Markdown.

    Summary ID
    Fix unit test regressions for Markdown rendering.
    Some of the recent releases of Python-Markdown, along with some of the recent fixes merged in from release-3.0.x, resulted in some regressions in the expected Markdown rendering results in unit tests. These regressions are, for the most part, not something users will need to worry about. Some of the regressions were in the XSS unit tests. These aren't security regressions, just expected string regressions. Python Markdown 3.0 changed some of the parsing, supporting "title"` in link URLs, and these captured strings in JavaScript code, turning them into `title=` attributes. Tests were updated for the new strings. Python Markdown 3.2 added `<code>` elements to each line in a code block, which new tests from release-3.0.x weren't accounting for. Since we support 3.1 and 3.3+ (depending on the Python version), these testsn ow check for the right string for the right version. And finally, the one user-facing change is that nested bold/italic (in the form of `*this is **a** test*` renders entirely as a series of italic blocks on Python Markdown 3.2. The working alternative is `*this is __a__ test*`. Tests were updated for this as well. Unfortunately, there doesn't seem to be a way to restore prior formatting, but hopefully this doesn't affect many people.
    c4afe57f86267249653b096fe4ef5e74bcd059f5
    david
    1. Ship It!
    2. 
        
    chipx86
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to release-4.0.x (fce058b)