You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
938 B
46 lines
938 B
4 years ago
|
#!/usr/bin/env python3
|
||
|
|
||
|
import copy
|
||
|
try:
|
||
|
from importlib import reload
|
||
|
except ImportError:
|
||
|
pass
|
||
|
import os
|
||
|
import sys
|
||
|
|
||
|
import pytest
|
||
|
|
||
|
|
||
|
@pytest.fixture(scope='function')
|
||
|
def cleanup():
|
||
|
_clean()
|
||
|
try:
|
||
|
yield
|
||
|
finally:
|
||
|
_clean()
|
||
|
|
||
|
|
||
|
def _clean():
|
||
|
for module in copy.copy(sys.modules):
|
||
|
if module.startswith('pypinyin'):
|
||
|
sys.modules.pop(module, None)
|
||
|
|
||
|
|
||
|
def test_env(cleanup):
|
||
|
os.environ['PYPINYIN_NO_PHRASES'] = 'true'
|
||
|
import pypinyin.core # noqa
|
||
|
|
||
|
assert pypinyin.core.PHRASES_DICT == {}
|
||
|
assert pypinyin.core.seg('北京') == ['北京']
|
||
|
|
||
|
|
||
|
def test_no_copy(cleanup):
|
||
|
""" 禁用copy操作的测试 """
|
||
|
import pypinyin.core # noqa
|
||
|
|
||
|
assert pypinyin.core.PINYIN_DICT is not pypinyin.pinyin_dict.pinyin_dict
|
||
|
|
||
|
os.environ['PYPINYIN_NO_DICT_COPY'] = 'true'
|
||
|
reload(pypinyin.constants)
|
||
|
assert pypinyin.constants.PINYIN_DICT is pypinyin.pinyin_dict.pinyin_dict
|