PySnooper/tests/test_chinese.py

49 lines
1.3 KiB
Python

# -*- coding: utf-8 -*-
# Copyright 2019 Ram Rachum and collaborators.
# This program is distributed under the MIT license.
import io
import textwrap
import threading
import types
import sys
from pysnooper.utils import truncate
from python_toolbox import sys_tools, temp_file_tools
import pytest
import pysnooper
from pysnooper import pycompat
from pysnooper.variables import needs_parentheses
from .utils import (assert_output, assert_sample_output, VariableEntry,
CallEntry, LineEntry, ReturnEntry, OpcodeEntry,
ReturnValueEntry, ExceptionEntry)
def test_chinese():
with temp_file_tools.create_temp_folder(prefix='pysnooper') as folder:
path = folder / 'foo.log'
@pysnooper.snoop(path)
def foo():
a = 1
x = '失败'
return 7
foo()
with path.open(encoding='utf-8') as file:
output = file.read()
assert_output(
output,
(
CallEntry(),
LineEntry(),
VariableEntry('a'),
LineEntry(u"x = '失败'"),
VariableEntry(u'x', (u"'失败'" if pycompat.PY3 else None)),
LineEntry(),
ReturnEntry(),
ReturnValueEntry('7')
),
)