Initial submission for locale testing

This commit is contained in:
Ebag333
2017-02-24 03:27:29 -08:00
parent b8c771f747
commit 0288ba6012
10 changed files with 144 additions and 0 deletions

0
tests/__init__.py Normal file
View File

View File

View 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"

View File

@@ -0,0 +1 @@
True

View File

View 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

View File

@@ -0,0 +1 @@
Use this to dynamically test languages.

View File

View 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"

View File

@@ -0,0 +1 @@
True