|
| 1 | +"""Test util base64_yjs_to_text.""" |
| 2 | + |
| 3 | +from core import utils |
| 4 | + |
| 5 | +# This base64 string is an example of what is saved in the database. |
| 6 | +# This base64 is generated from the blocknote editor, it contains |
| 7 | +# the text \n# *Hello* \n- w**or**ld |
| 8 | +TEST_BASE64_STRING = ( |
| 9 | + "AR717vLVDgAHAQ5kb2N1bWVudC1zdG9yZQMKYmxvY2tHcm91cAcA9e7y1Q4AAw5ibG9ja0NvbnRh" |
| 10 | + "aW5lcgcA9e7y1Q4BAwdoZWFkaW5nBwD17vLVDgIGBgD17vLVDgMGaXRhbGljAnt9hPXu8tUOBAVI" |
| 11 | + "ZWxsb4b17vLVDgkGaXRhbGljBG51bGwoAPXu8tUOAg10ZXh0QWxpZ25tZW50AXcEbGVmdCgA9e7y" |
| 12 | + "1Q4CBWxldmVsAX0BKAD17vLVDgECaWQBdyQwNGQ2MjM0MS04MzI2LTQyMzYtYTA4My00ODdlMjZm" |
| 13 | + "YWQyMzAoAPXu8tUOAQl0ZXh0Q29sb3IBdwdkZWZhdWx0KAD17vLVDgEPYmFja2dyb3VuZENvbG9y" |
| 14 | + "AXcHZGVmYXVsdIf17vLVDgEDDmJsb2NrQ29udGFpbmVyBwD17vLVDhADDmJ1bGxldExpc3RJdGVt" |
| 15 | + "BwD17vLVDhEGBAD17vLVDhIBd4b17vLVDhMEYm9sZAJ7fYT17vLVDhQCb3KG9e7y1Q4WBGJvbGQE" |
| 16 | + "bnVsbIT17vLVDhcCbGQoAPXu8tUOEQ10ZXh0QWxpZ25tZW50AXcEbGVmdCgA9e7y1Q4QAmlkAXck" |
| 17 | + "ZDM1MWUwNjgtM2U1NS00MjI2LThlYTUtYWJiMjYzMTk4ZTJhKAD17vLVDhAJdGV4dENvbG9yAXcH" |
| 18 | + "ZGVmYXVsdCgA9e7y1Q4QD2JhY2tncm91bmRDb2xvcgF3B2RlZmF1bHSH9e7y1Q4QAw5ibG9ja0Nv" |
| 19 | + "bnRhaW5lcgcA9e7y1Q4eAwlwYXJhZ3JhcGgoAPXu8tUOHw10ZXh0QWxpZ25tZW50AXcEbGVmdCgA" |
| 20 | + "9e7y1Q4eAmlkAXckODk3MDBjMDctZTBlMS00ZmUwLWFjYTItODQ5MzIwOWE3ZTQyKAD17vLVDh4J" |
| 21 | + "dGV4dENvbG9yAXcHZGVmYXVsdCgA9e7y1Q4eD2JhY2tncm91bmRDb2xvcgF3B2RlZmF1bHQA" |
| 22 | +) |
| 23 | + |
| 24 | + |
| 25 | +def test_utils_base64_yjs_to_text(): |
| 26 | + """Test extract text from saved yjs document""" |
| 27 | + assert utils.base64_yjs_to_text(TEST_BASE64_STRING) == "Hello world" |
| 28 | + |
| 29 | + |
| 30 | +def test_utils_base64_yjs_to_xml(): |
| 31 | + """Test extract xml from saved yjs document""" |
| 32 | + content = utils.base64_yjs_to_xml(TEST_BASE64_STRING) |
| 33 | + assert ( |
| 34 | + '<heading "level"="1" "textAlignment"="left">Hello</heading>' in content |
| 35 | + or '<heading "textAlignment"="left" "level"="1">Hello</heading>' in content |
| 36 | + ) |
| 37 | + assert '<bulletListItem "textAlignment"="left">world</bulletListItem>' in content |
0 commit comments