Locale Tests (#1079)
* Locale tests redo * Add helper * Remove line break if found. * Fix imports * Remove copy that snuck in * Install language packs * Change language pack install * fix china language pack * Fix tests that I accidentially broke * Add debug print * Don't try and parse Travis cache dirs * Fix counting
This commit is contained in:
93
tests/test_locale/file_dialog.py
Normal file
93
tests/test_locale/file_dialog.py
Normal file
@@ -0,0 +1,93 @@
|
||||
# noinspection PyPackageRequirements
|
||||
import wx
|
||||
import sys
|
||||
import os
|
||||
import sys
|
||||
|
||||
script_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
# Add root to python paths, this allows us to import submodules
|
||||
sys.path.append(os.path.realpath(os.path.join(script_dir, '..', '..')))
|
||||
|
||||
from _development.helpers_locale import GetPath, GetUnicodePath
|
||||
|
||||
class MyForm(wx.Frame):
|
||||
# ----------------------------------------------------------------------
|
||||
def __init__(self):
|
||||
wx.Frame.__init__(self, None, wx.ID_ANY, "CTRL-O to open, CTRL-S to save", size=(500, 500))
|
||||
|
||||
# Add a panel so it looks the correct on all platforms
|
||||
panel = wx.Panel(self, wx.ID_ANY)
|
||||
|
||||
SAVE_FILE_ID = wx.NewId()
|
||||
self.Bind(wx.EVT_MENU, self.saveFile, id=SAVE_FILE_ID)
|
||||
|
||||
LOAD_FILE_ID = wx.NewId()
|
||||
self.Bind(wx.EVT_MENU, self.loadFile, id=LOAD_FILE_ID)
|
||||
|
||||
accel_tbl = wx.AcceleratorTable([(wx.ACCEL_CTRL, ord('O'), LOAD_FILE_ID),
|
||||
(wx.ACCEL_CTRL, ord('S'), SAVE_FILE_ID)]
|
||||
)
|
||||
self.SetAcceleratorTable(accel_tbl)
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
def loadFile(self, event):
|
||||
openFileDialog = wx.FileDialog(self, "Open", "", "",
|
||||
"Python files (*.py)|*.py",
|
||||
wx.FD_OPEN | wx.FD_FILE_MUST_EXIST)
|
||||
openFileDialog.ShowModal()
|
||||
path = openFileDialog.GetPath()
|
||||
try:
|
||||
os_walk_without_codec = GetPath(path)
|
||||
except (UnicodeEncodeError, UnicodeTranslateError, UnicodeError, UnicodeDecodeError, UnicodeWarning, TypeError) as e:
|
||||
os_walk_without_codec = e
|
||||
|
||||
try:
|
||||
os_walk_with_system_codec = GetPath(path, None, sys.getdefaultencoding())
|
||||
except (UnicodeEncodeError, UnicodeTranslateError, UnicodeError, UnicodeDecodeError, UnicodeWarning, TypeError) as e:
|
||||
os_walk_with_system_codec = e
|
||||
|
||||
try:
|
||||
os_walk_unicode_without_codec = GetUnicodePath(path)
|
||||
except (UnicodeEncodeError, UnicodeTranslateError, UnicodeError, UnicodeDecodeError, UnicodeWarning, TypeError) as e:
|
||||
os_walk_unicode_without_codec = e
|
||||
|
||||
try:
|
||||
os_walk_unicode_with_system_codec = GetUnicodePath(path, None, sys.getdefaultencoding())
|
||||
except (UnicodeEncodeError, UnicodeTranslateError, UnicodeError, UnicodeDecodeError, UnicodeWarning, TypeError) as e:
|
||||
os_walk_unicode_with_system_codec = e
|
||||
|
||||
print("Simple print:")
|
||||
print(path)
|
||||
|
||||
print("Type:")
|
||||
print(type(path))
|
||||
|
||||
print("OS Walk: No Codec:")
|
||||
print(os_walk_without_codec)
|
||||
|
||||
print("OS Walk: Default System Codec:")
|
||||
print(os_walk_with_system_codec)
|
||||
|
||||
print("OS Unicode Walk: No Codec:")
|
||||
print(os_walk_unicode_without_codec)
|
||||
|
||||
print("OS Unicode Walk: Default System Codec:")
|
||||
print(os_walk_unicode_with_system_codec)
|
||||
openFileDialog.Destroy()
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
def saveFile(self, event):
|
||||
saveFileDialog = wx.FileDialog(self, "Save As", "", "",
|
||||
"Python files (*.py)|*.py",
|
||||
wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT)
|
||||
saveFileDialog.ShowModal()
|
||||
saveFileDialog.GetPath()
|
||||
saveFileDialog.Destroy()
|
||||
|
||||
|
||||
# Run the program
|
||||
if __name__ == "__main__":
|
||||
app = wx.App(False)
|
||||
frame = MyForm()
|
||||
frame.Show()
|
||||
app.MainLoop()
|
||||
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.
|
||||
36
tests/test_locale/test_Pyfa/test_codec_english.py
Normal file
36
tests/test_locale/test_Pyfa/test_codec_english.py
Normal file
@@ -0,0 +1,36 @@
|
||||
# English
|
||||
|
||||
import os
|
||||
import platform
|
||||
import sys
|
||||
|
||||
script_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
# Add root to python paths, this allows us to import submodules
|
||||
sys.path.append(os.path.realpath(os.path.join(script_dir, '..', '..', '..')))
|
||||
|
||||
from _development.helpers_locale import GetPath
|
||||
|
||||
|
||||
def test_codec_english():
|
||||
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/test_Pyfa/testcodec
Normal file
1
tests/test_locale/test_Pyfa/testcodec
Normal file
@@ -0,0 +1 @@
|
||||
True
|
||||
40
tests/test_locale/test_os_walk.py
Normal file
40
tests/test_locale/test_os_walk.py
Normal file
@@ -0,0 +1,40 @@
|
||||
import os
|
||||
import sys
|
||||
|
||||
script_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
# Add root to python paths, this allows us to import submodules
|
||||
sys.path.append(os.path.realpath(os.path.join(script_dir, '..', '..')))
|
||||
|
||||
from _development.helpers_locale import GetPath
|
||||
|
||||
def test_os_walk():
|
||||
current_directory = os.path.dirname(os.path.abspath(unicode(__file__)))
|
||||
subfolders = os.listdir(current_directory)
|
||||
subfolders = [e for e in subfolders if not (e.endswith(".py") or e.endswith(".pyc") or e.endswith(".md"))]
|
||||
|
||||
subfolder_count = 0
|
||||
for subfolder in subfolders:
|
||||
subdir = GetPath(current_directory, subfolder)
|
||||
testfile = GetPath(subdir, "testcodec")
|
||||
|
||||
if "__pycache__" in testfile:
|
||||
# Grabbed a Travis temp folder, skip any assertions, but count it.
|
||||
subfolder_count += 1
|
||||
continue
|
||||
|
||||
# noinspection PyBroadException
|
||||
try:
|
||||
with open(testfile, 'r') as f:
|
||||
read_data = f.read()
|
||||
# noinspection PyStatementEffect
|
||||
f.closed
|
||||
except:
|
||||
print("Test File:")
|
||||
print(testfile)
|
||||
assert False, "Failed to read file."
|
||||
|
||||
read_data = read_data.replace("\n", "")
|
||||
assert read_data == "True"
|
||||
subfolder_count += 1
|
||||
|
||||
assert len(subfolders) == subfolder_count
|
||||
36
tests/test_locale/test_знаф/test_codec_russian.py
Normal file
36
tests/test_locale/test_знаф/test_codec_russian.py
Normal file
@@ -0,0 +1,36 @@
|
||||
# Russian
|
||||
|
||||
import os
|
||||
import platform
|
||||
import sys
|
||||
|
||||
script_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
# Add root to python paths, this allows us to import submodules
|
||||
sys.path.append(os.path.realpath(os.path.join(script_dir, '..', '..', '..')))
|
||||
|
||||
from _development.helpers_locale import GetPath
|
||||
|
||||
|
||||
def test_codec_russian():
|
||||
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/test_знаф/testcodec
Normal file
1
tests/test_locale/test_знаф/testcodec
Normal file
@@ -0,0 +1 @@
|
||||
True
|
||||
36
tests/test_locale/test_פטכש/test_codec_hebrew.py
Normal file
36
tests/test_locale/test_פטכש/test_codec_hebrew.py
Normal file
@@ -0,0 +1,36 @@
|
||||
# Hebrew
|
||||
|
||||
import os
|
||||
import platform
|
||||
import sys
|
||||
|
||||
script_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
# Add root to python paths, this allows us to import submodules
|
||||
sys.path.append(os.path.realpath(os.path.join(script_dir, '..', '..', '..')))
|
||||
|
||||
from _development.helpers_locale import GetPath
|
||||
|
||||
|
||||
def test_codec_hebrew():
|
||||
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/test_פטכש/testcodec
Normal file
1
tests/test_locale/test_פטכש/testcodec
Normal file
@@ -0,0 +1 @@
|
||||
True
|
||||
36
tests/test_locale/test_测试/test_codec_chinese_simplified.py
Normal file
36
tests/test_locale/test_测试/test_codec_chinese_simplified.py
Normal file
@@ -0,0 +1,36 @@
|
||||
# Chinese (Simplified)
|
||||
|
||||
import os
|
||||
import platform
|
||||
import sys
|
||||
|
||||
script_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
# Add root to python paths, this allows us to import submodules
|
||||
sys.path.append(os.path.realpath(os.path.join(script_dir, '..', '..', '..')))
|
||||
|
||||
from _development.helpers_locale import GetPath
|
||||
|
||||
|
||||
def test_codec_chinese_simplified():
|
||||
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/test_测试/testcodec
Normal file
1
tests/test_locale/test_测试/testcodec
Normal file
@@ -0,0 +1 @@
|
||||
True
|
||||
Reference in New Issue
Block a user