Initial submission for locale testing
This commit is contained in:
0
tests/__init__.py
Normal file
0
tests/__init__.py
Normal file
0
tests/test_locale/Pyfa/__init__.py
Normal file
0
tests/test_locale/Pyfa/__init__.py
Normal file
30
tests/test_locale/Pyfa/test_codec.py
Normal file
30
tests/test_locale/Pyfa/test_codec.py
Normal file
@@ -0,0 +1,30 @@
|
||||
# English
|
||||
|
||||
import os
|
||||
import platform
|
||||
from tests.test_locale.locale_functions import GetPath
|
||||
|
||||
|
||||
def test_codec():
|
||||
use_codec = {
|
||||
"Windows": "cp1252",
|
||||
"Linux" : "utf8",
|
||||
"Darwin" : "utf8",
|
||||
}
|
||||
|
||||
os_name = platform.system()
|
||||
current_directory = os.path.dirname(os.path.abspath(__file__))
|
||||
|
||||
try:
|
||||
decoded_file = GetPath(current_directory, "testcodec", use_codec[os_name])
|
||||
except:
|
||||
assert False, "Specified codec (" + use_codec[os_name] + ") failed to decrypt file path."
|
||||
|
||||
try:
|
||||
with open(decoded_file, 'r') as f:
|
||||
read_data = f.read()
|
||||
f.closed
|
||||
except:
|
||||
assert False, "Specified codec (" + use_codec[os_name] + ") failed to read file."
|
||||
|
||||
assert read_data == "True"
|
||||
1
tests/test_locale/Pyfa/testcodec
Normal file
1
tests/test_locale/Pyfa/testcodec
Normal file
@@ -0,0 +1 @@
|
||||
True
|
||||
0
tests/test_locale/__init__.py
Normal file
0
tests/test_locale/__init__.py
Normal file
81
tests/test_locale/locale_functions.py
Normal file
81
tests/test_locale/locale_functions.py
Normal file
@@ -0,0 +1,81 @@
|
||||
import os
|
||||
|
||||
# https://msdn.microsoft.com/en-us/library/windows/desktop/dd317756(v=vs.85).aspx
|
||||
windows_codecs = {
|
||||
'cp1252', # Standard Windows
|
||||
'cp1251', # Russian
|
||||
'cp037',
|
||||
'cp424',
|
||||
'cp437',
|
||||
'cp500',
|
||||
'cp720',
|
||||
'cp737',
|
||||
'cp775',
|
||||
'cp850',
|
||||
'cp852',
|
||||
'cp855',
|
||||
'cp856',
|
||||
'cp857',
|
||||
'cp858',
|
||||
'cp860',
|
||||
'cp861',
|
||||
'cp862',
|
||||
'cp863',
|
||||
'cp864',
|
||||
'cp865',
|
||||
'cp866',
|
||||
'cp869',
|
||||
'cp874',
|
||||
'cp875',
|
||||
'cp932',
|
||||
'cp949',
|
||||
'cp950',
|
||||
'cp1006',
|
||||
'cp1026',
|
||||
'cp1140',
|
||||
'cp1250',
|
||||
'cp1253',
|
||||
'cp1254',
|
||||
'cp1255',
|
||||
'cp1256',
|
||||
'cp1257',
|
||||
'cp1258',
|
||||
}
|
||||
|
||||
linux_codecs = {
|
||||
'utf_8', # Generic Linux/Mac
|
||||
}
|
||||
|
||||
mac_codecs = [
|
||||
'utf_8', # Generic Linux/Mac
|
||||
'mac_cyrillic',
|
||||
'mac_greek',
|
||||
'mac_iceland',
|
||||
'mac_latin2',
|
||||
'mac_roman',
|
||||
'mac_turkish',
|
||||
]
|
||||
|
||||
universal_codecs = [
|
||||
'utf_16', 'utf_32', 'utf_32_be', 'utf_32_le', 'utf_16_be', 'utf_16_le', 'utf_7', 'utf_8_sig',
|
||||
]
|
||||
|
||||
other_codecs = [
|
||||
'scii', 'big5', 'big5hkscs', 'euc_jp', 'euc_jis_2004', 'euc_jisx0213', 'euc_kr', 'gb2312', 'gbk', 'gb18030', 'hz', 'iso2022_jp', 'iso2022_jp_1',
|
||||
'iso2022_jp_2', 'iso2022_jp_2004', 'iso2022_jp_3', 'iso2022_jp_ext', 'iso2022_kr', 'latin_1', 'iso8859_2', 'iso8859_3', 'iso8859_4', 'iso8859_5',
|
||||
'iso8859_6', 'iso8859_7', 'iso8859_8', 'iso8859_9', 'iso8859_10', 'iso8859_11', 'iso8859_13', 'iso8859_14', 'iso8859_15', 'iso8859_16', 'johab', 'koi8_r',
|
||||
'koi8_u', 'ptcp154', 'shift_jis', 'shift_jis_2004', 'shift_jisx0213'
|
||||
]
|
||||
|
||||
system_names = {
|
||||
'Windows': windows_codecs,
|
||||
'Linux': linux_codecs,
|
||||
'Darwin': mac_codecs,
|
||||
}
|
||||
|
||||
|
||||
def GetPath(root, file, codec):
|
||||
# Replace this with the function we actually use for this
|
||||
base_path = os.path.realpath(os.path.abspath(root))
|
||||
path = os.path.join(base_path, file).decode(codec)
|
||||
return path
|
||||
1
tests/test_locale/readme.md
Normal file
1
tests/test_locale/readme.md
Normal file
@@ -0,0 +1 @@
|
||||
Use this to dynamically test languages.
|
||||
0
tests/test_locale/знаф/__init__.py
Normal file
0
tests/test_locale/знаф/__init__.py
Normal file
30
tests/test_locale/знаф/test_codec.py
Normal file
30
tests/test_locale/знаф/test_codec.py
Normal file
@@ -0,0 +1,30 @@
|
||||
# Russian
|
||||
|
||||
import os
|
||||
import platform
|
||||
from tests.test_locale.locale_functions import GetPath
|
||||
|
||||
|
||||
def test_codec():
|
||||
use_codec = {
|
||||
"Windows": "cp1251",
|
||||
"Linux" : "utf8",
|
||||
"Darwin" : "mac_cyrillic",
|
||||
}
|
||||
|
||||
os_name = platform.system()
|
||||
current_directory = os.path.dirname(os.path.abspath(__file__))
|
||||
|
||||
try:
|
||||
decoded_file = GetPath(current_directory, "testcodec", use_codec[os_name])
|
||||
except:
|
||||
assert False, "Specified codec (" + use_codec[os_name] + ") failed to decrypt file path."
|
||||
|
||||
try:
|
||||
with open(decoded_file, 'r') as f:
|
||||
read_data = f.read()
|
||||
f.closed
|
||||
except:
|
||||
assert False, "Specified codec (" + use_codec[os_name] + ") failed to read file."
|
||||
|
||||
assert read_data == "True"
|
||||
1
tests/test_locale/знаф/testcodec
Normal file
1
tests/test_locale/знаф/testcodec
Normal file
@@ -0,0 +1 @@
|
||||
True
|
||||
Reference in New Issue
Block a user