Projet

Général

Profil

0001-tests-add-markup-to-string-field-value-to-check-it-s.patch

Frédéric Péters, 14 mars 2022 20:54

Télécharger (5,32 ko)

Voir les différences:

Subject: [PATCH] tests: add markup to string field value to check it's escaped
 properly (#61391)

 tests/test_wcs.py | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)
tests/test_wcs.py
137 137
            'text': 'aa',
138 138
            'url': '/backoffice/data/card_model_1/11/',
139 139
            'fields': {
140
                'fielda': 'a',
140
                'fielda': '<i>a</i>',
141 141
                'fieldb': True,
142 142
                'fieldc': '2020-09-28',
143 143
                'fieldd': {'filename': 'file.pdf', 'url': 'http://127.0.0.1:8999/download?f=42'},
......
2449 2449
    mock_send.reset_mock()
2450 2450
    result = cell.render(context)
2451 2451
    assert '<h2>Card Model 1 - aa</h2>' in result
2452
    assert PyQuery(result).find('.label:contains("Field A") + .value').text() == 'a'
2452
    assert PyQuery(result).find('.label:contains("Field A") + .value').text() == '<i>a</i>'
2453 2453
    assert PyQuery(result).find('.label:contains("Field B") + .value').text() == 'yes'
2454 2454
    assert PyQuery(result).find('.label:contains("Field C") + .value').text() == 'Sept. 28, 2020'
2455 2455
    assert PyQuery(result).find('.label:contains("Related") + .value').text() == 'Foo Bar'
......
2463 2463
    cell.save()
2464 2464
    assert cell.get_additional_label() == '&lt;b&gt;Foo bar {{ card.fields.fielda }}&lt;/b&gt;'
2465 2465
    result = cell.render(context)
2466
    assert '<h2>&lt;b&gt;Foo bar a&lt;/b&gt;</h2>' in result
2466
    assert '<h2>&lt;b&gt;Foo bar &lt;i&gt;a&lt;/i&gt;&lt;/b&gt;</h2>' in result
2467 2467

  
2468 2468
    context.pop('title')
2469 2469
    cell.custom_title = '{{ foobar }}'
......
2627 2627
    context['synchronous'] = True  # to get fresh content
2628 2628

  
2629 2629
    result = cell.render(context)
2630
    assert PyQuery(result).find('h3').text() == 'a'
2630
    assert PyQuery(result).find('h3').text() == '<i>a</i>'
2631 2631

  
2632 2632
    cell.custom_schema['cells'][0] = {
2633 2633
        'varname': 'fielda',
......
2636 2636
    }
2637 2637
    cell.save()
2638 2638
    result = cell.render(context)
2639
    assert PyQuery(result).find('h4').text() == 'a'
2639
    assert PyQuery(result).find('h4').text() == '<i>a</i>'
2640 2640

  
2641 2641
    cell.custom_schema['cells'][0] = {'varname': 'fielda', 'field_content': 'label', 'display_mode': 'title'}
2642 2642
    cell.save()
......
2660 2660
    cell.custom_schema['cells'][0] = {'varname': 'fielda', 'field_content': 'value', 'display_mode': 'text'}
2661 2661
    cell.save()
2662 2662
    result = cell.render(context)
2663
    assert PyQuery(result).find('.value').text() == 'a'
2663
    assert PyQuery(result).find('.value').text() == '<i>a</i>'
2664 2664

  
2665 2665
    cell.custom_schema['cells'][0] = {
2666 2666
        'varname': 'fielda',
......
2670 2670
    cell.save()
2671 2671
    result = cell.render(context)
2672 2672
    assert PyQuery(result).find('.label').text() == 'Field A'
2673
    assert PyQuery(result).find('.value').text() == 'a'
2673
    assert PyQuery(result).find('.value').text() == '<i>a</i>'
2674 2674

  
2675 2675
    cell.custom_schema['cells'][0] = {
2676 2676
        'varname': 'fieldb',
......
2887 2887
    cell.custom_schema['cells'][0]['display_mode'] = 'subtitle'
2888 2888
    cell.save()
2889 2889
    result = cell.render(context)
2890
    assert PyQuery(result).find('h4').text() == 'a - Foo Bar (42)'
2890
    assert PyQuery(result).find('h4').text() == '<i>a</i> - Foo Bar (42)'
2891 2891

  
2892 2892
    # test display_mode & filters in template
2893 2893
    cell.custom_schema = {
......
2975 2975
    context['synchronous'] = True  # to get fresh content
2976 2976

  
2977 2977
    result = cell.render(context)
2978
    assert PyQuery(result).find('.value a').text() == 'a - Foo Bar'
2978
    assert PyQuery(result).find('.value a').text() == '<i>a</i> - Foo Bar'
2979 2979
    assert PyQuery(result).find('.value a').attr['href'] == '/foo/bar/42/'
2980 2980
    assert PyQuery(result).find('.value a').attr['class'] is None
2981 2981

  
2982 2982
    cell.custom_schema['cells'][0]['display_mode'] = 'button'
2983 2983
    cell.save()
2984 2984
    result = cell.render(context)
2985
    assert PyQuery(result).find('.value a').text() == 'a - Foo Bar'
2985
    assert PyQuery(result).find('.value a').text() == '<i>a</i> - Foo Bar'
2986 2986
    assert PyQuery(result).find('.value a').attr['href'] == '/foo/bar/42/'
2987 2987
    assert PyQuery(result).find('.value a').attr['class'] == 'pk-button'
2988 2988

  
......
3001 3001
    )
3002 3002
    cell_resp = app.get(cell_url + '?ctx=' + extra_ctx[0])
3003 3003
    assert (
3004
        '<div class="value"><a href="http://testserver/foo/bar/42/" class="pk-button">&lt;b&gt;a&lt;/b&gt; - Foo Bar</a></div>'
3004
        '<div class="value"><a href="http://testserver/foo/bar/42/" class="pk-button">&lt;b&gt;&lt;i&gt;a&lt;/i&gt;&lt;/b&gt; - Foo Bar</a></div>'
3005 3005
        in cell_resp
3006 3006
    )
3007 3007

  
3008
-