@ -362,7 +362,11 @@ class TestUtil(ElectrumTestCase):
util . error_text_bytes_to_safe_str ( b ' here is some unicode: \xe2 \x82 \xbf \xf0 \x9f \x98 \x80 \xf0 \x9f \x98 \x88 ' ) )
util . error_text_bytes_to_safe_str ( b ' here is some unicode: \xe2 \x82 \xbf \xf0 \x9f \x98 \x80 \xf0 \x9f \x98 \x88 ' ) )
# not even unicode
# not even unicode
self . assertEqual ( """ \' \\ x00 \\ x01 \\ x02 \\ x03 \\ x04 \\ x05 \\ x06 \\ x07 \\ x08 \\ t \\ n \\ x0b \\ x0c \\ r \\ x0e \\ x0f \\ x10 \\ x11 \\ x12 \\ x13 \\ x14 \\ x15 \\ x16 \\ x17 \\ x18 \\ x19 \\ x1a \\ x1b \\ x1c \\ x1d \\ x1e \\ x1f ! " #$ % & \\ \' ()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[ \\ \\ ]^_`abcdefghijklmnopqrstuvwxyz { |}~ \\ x7f \\ \\ x80 \\ \\ x81 \\ \\ x82 \\ \\ x83 \\ \\ x84 \\ \\ x85 \\ \\ x86 \\ \\ x87 \\ \\ x88 \\ \\ x89 \\ \\ x8a \\ \\ x8b \\ \\ x8c \\ \\ x8d \\ \\ x8e \\ \\ x8f \\ \\ x90 \\ \\ x91 \\ \\ x92 \\ \\ x93 \\ \\ x94 \\ \\ x95 \\ \\ x96 \\ \\ x97 \\ \\ x98 \\ \\ x99 \\ \\ x9a \\ \\ x9b \\ \\ x9c \\ \\ x9d \\ \\ x9e \\ \\ x9f \\ \\ xa0 \\ \\ xa1 \\ \\ xa2 \\ \\ xa3 \\ \\ xa4 \\ \\ xa5 \\ \\ xa6 \\ \\ xa7 \\ \\ xa8 \\ \\ xa9 \\ \\ xaa \\ \\ xab \\ \\ xac \\ \\ xad \\ \\ xae \\ \\ xaf \\ \\ xb0 \\ \\ xb1 \\ \\ xb2 \\ \\ xb3 \\ \\ xb4 \\ \\ xb5 \\ \\ xb6 \\ \\ xb7 \\ \\ xb8 \\ \\ xb9 \\ \\ xba \\ \\ xbb \\ \\ xbc \\ \\ xbd \\ \\ xbe \\ \\ xbf \\ \\ xc0 \\ \\ xc1 \\ \\ xc2 \\ \\ xc3 \\ \\ xc4 \\ \\ xc5 \\ \\ xc6 \\ \\ xc7 \\ \\ xc8 \\ \\ xc9 \\ \\ xca \\ \\ xcb \\ \\ xcc \\ \\ xcd \\ \\ xce \\ \\ xcf \\ \\ xd0 \\ \\ xd1 \\ \\ xd2 \\ \\ xd3 \\ \\ xd4 \\ \\ xd5 \\ \\ xd6 \\ \\ xd7 \\ \\ xd8 \\ \\ xd9 \\ \\ xda \\ \\ xdb \\ \\ xdc \\ \\ xdd \\ \\ xde \\ \\ xdf \\ \\ xe0 \\ \\ xe1 \\ \\ xe2 \\ \\ xe3 \\ \\ xe4 \\ \\ xe5 \\ \\ xe6 \\ \\ xe7 \\ \\ xe8 \\ \\ xe9 \\ \\ xea \\ \\ xeb \\ \\ xec \\ \\ xed \\ \\ xee \\ \\ xef \\ \\ xf0 \\ \\ xf1 \\ \\ xf2 \\ \\ xf3 \\ \\ xf4 \\ \\ xf5 \\ \\ xf6 \\ \\ xf7 \\ \\ xf8 \\ \\ xf9 \\ \\ xfa \\ \\ xfb \\ \\ xfc \\ \\ xfd \\ \\ xfe \\ \\ xff \' """ ,
self . assertEqual ( """ \' \\ x00 \\ x01 \\ x02 \\ x03 \\ x04 \\ x05 \\ x06 \\ x07 \\ x08 \\ t \\ n \\ x0b \\ x0c \\ r \\ x0e \\ x0f \\ x10 \\ x11 \\ x12 \\ x13 \\ x14 \\ x15 \\ x16 \\ x17 \\ x18 \\ x19 \\ x1a \\ x1b \\ x1c \\ x1d \\ x1e \\ x1f ! " #$ % & \\ \' ()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[ \\ \\ ]^_`abcdefghijklmnopqrstuvwxyz { |}~ \\ x7f \\ \\ x80 \\ \\ x81 \\ \\ x82 \\ \\ x83 \\ \\ x84 \\ \\ x85 \\ \\ x86 \\ \\ x87 \\ \\ x88 \\ \\ x89 \\ \\ x8a \\ \\ x8b \\ \\ x8c \\ \\ x8d \\ \\ x8e \\ \\ x8f \\ \\ x90 \\ \\ x91 \\ \\ x92 \\ \\ x93 \\ \\ x94 \\ \\ x95 \\ \\ x96 \\ \\ x97 \\ \\ x98 \\ \\ x99 \\ \\ x9a \\ \\ x9b \\ \\ x9c \\ \\ x9d \\ \\ x9e \\ \\ x9f \\ \\ xa0 \\ \\ xa1 \\ \\ xa2 \\ \\ xa3 \\ \\ xa4 \\ \\ xa5 \\ \\ xa6 \\ \\ xa7 \\ \\ xa8 \\ \\ xa9 \\ \\ xaa \\ \\ xab \\ \\ xac \\ \\ xad \\ \\ xae \\ \\ xaf \\ \\ xb0 \\ \\ xb1 \\ \\ xb2 \\ \\ xb3 \\ \\ xb4 \\ \\ xb5 \\ \\ xb6 \\ \\ xb7 \\ \\ xb8 \\ \\ xb9 \\ \\ xba \\ \\ xbb \\ \\ xbc \\ \\ xbd \\ \\ xbe \\ \\ xbf \\ \\ xc0 \\ \\ xc1 \\ \\ xc2 \\ \\ xc3 \\ \\ xc4 \\ \\ xc5 \\ \\ xc6 \\ \\ xc7 \\ \\ xc8 \\ \\ xc9 \\ \\ xca \\ \\ xcb \\ \\ xcc \\ \\ xcd \\ \\ xce \\ \\ xcf \\ \\ xd0 \\ \\ xd1 \\ \\ xd2 \\ \\ xd3 \\ \\ xd4 \\ \\ xd5 \\ \\ xd6 \\ \\ xd7 \\ \\ xd8 \\ \\ xd9 \\ \\ xda \\ \\ xdb \\ \\ xdc \\ \\ xdd \\ \\ xde \\ \\ xdf \\ \\ xe0 \\ \\ xe1 \\ \\ xe2 \\ \\ xe3 \\ \\ xe4 \\ \\ xe5 \\ \\ xe6 \\ \\ xe7 \\ \\ xe8 \\ \\ xe9 \\ \\ xea \\ \\ xeb \\ \\ xec \\ \\ xed \\ \\ xee \\ \\ xef \\ \\ xf0 \\ \\ xf1 \\ \\ xf2 \\ \\ xf3 \\ \\ xf4 \\ \\ xf5 \\ \\ xf6 \\ \\ xf7 \\ \\ xf8 \\ \\ xf9 \\ \\ xfa \\ \\ xfb \\ \\ xfc \\ \\ xfd \\ \\ xfe \\ \\ xff \' """ ,
util . error_text_bytes_to_safe_str ( bytes ( range ( 256 ) ) ) )
util . error_text_bytes_to_safe_str ( bytes ( range ( 256 ) ) , max_len = 1000 ) )
# long text
t1 = util . error_text_bytes_to_safe_str ( b " test " * 10000 )
self . assertTrue ( t1 . endswith ( " ... (truncated. orig_len=40002) " ) )
self . assertTrue ( len ( t1 ) < 550 )
def test_error_text_str_to_safe_str ( self ) :
def test_error_text_str_to_safe_str ( self ) :
# ascii
# ascii
@ -373,6 +377,10 @@ class TestUtil(ElectrumTestCase):
# unicode
# unicode
self . assertEqual ( " ' here is some unicode: \\ \\ u20bf \\ \\ U0001f600 \\ \\ U0001f608 ' " ,
self . assertEqual ( " ' here is some unicode: \\ \\ u20bf \\ \\ U0001f600 \\ \\ U0001f608 ' " ,
util . error_text_str_to_safe_str ( " here is some unicode: ₿ 😀 😈 " ) )
util . error_text_str_to_safe_str ( " here is some unicode: ₿ 😀 😈 " ) )
# long text
t1 = util . error_text_str_to_safe_str ( " test " * 10000 )
self . assertTrue ( t1 . endswith ( " ... (truncated. orig_len=40002) " ) )
self . assertTrue ( len ( t1 ) < 550 )
def test_age ( self ) :
def test_age ( self ) :
now = datetime ( 2023 , 4 , 16 , 22 , 30 , 00 )
now = datetime ( 2023 , 4 , 16 , 22 , 30 , 00 )