This repository has been archived on 2025-02-01. You can view files and clone it, but cannot push or open issues or pull requests.
PyBitmessage-2025-02-01/mockenv/lib/python3.6/site-packages/kivy/tests/test_rst_replace.py
2022-07-22 16:13:59 +05:30

64 lines
2.2 KiB
Python

# coding=utf-8
import unittest
from kivy.tests.common import GraphicUnitTest
def _build_rst():
from kivy.uix.rst import RstDocument
class _TestRstReplace(RstDocument):
def __init__(self, **kwargs):
super(_TestRstReplace, self).__init__(**kwargs)
self.text = '''
.. |uni| unicode:: 0xe4
.. |nbsp| unicode:: 0xA0
.. |text| replace:: is
.. |hop| replace:: replaced
.. _hop: https://kivy.org
|uni| |nbsp| |text| |hop|_
'''
return _TestRstReplace()
class RstSubstitutionTestCase(GraphicUnitTest):
# XXX Mathieu - i tried to fix the window context to prevent segfault here
# but nothing actually works. Works alone, but not after a window restart.
# On linux:
# # 1 0x00007ffff12807e9 in () at /usr/lib/libnvidia-glcore.so.418.43
# # 2 0x00007ffff1288554 in () at /usr/lib/libnvidia-glcore.so.418.43
# # 3 0x00007ffff0e2e3db in () at /usr/lib/libnvidia-glcore.so.418.43
# # 4 0x00007ffff5d5ae15 in __pyx_f_4kivy_8graphics_3vbo_11VertexBatch_draw # noqa
# (__pyx_v_self=0x7fffed641390) at kivy/graphics/vbo.c:6529
# On OSX:
# * thread #1, queue = 'com.apple.main-thread',
# stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
# * frame #0: 0x00007fff555d9d42 GLEngine`gleRunVertexSubmitImmediate + 1234 # noqa
# frame #1: 0x00007fff554c1544 GLEngine`glDrawElements_Exec + 563
# frame #2: 0x000000010429d273 vbo.cpython-36m-darwin.so
# `__pyx_f_4kivy_8graphics_3vbo_11VertexBatch_draw(
# __pyx_v_self=0x000000010cf344f8) at vbo.c:6575 [opt]
@unittest.skip("Currently segfault, but no idea why.")
def test_rst_replace(self):
rst = _build_rst()
self.render(rst)
# RstDocument > Scatter > GridLayout > RstParagraph
pg = rst.children[0].children[0].children[0]
rendered_text = pg.text[:]
# [anchor=] and [ref=] might change in the future
compare_text = (
u'[color=202020ff][anchor=hop]'
u'\xe4 \xA0 is '
u'[ref=None][color=ce5c00ff]replaced[/color][/ref]'
u'[/color]'
)
self.assertEqual(rendered_text, compare_text)
if __name__ == '__main__':
import unittest
unittest.main()