Publish REPO-001 through REPO-008 as domestic routes, add the public AI discovery API, and demote Singapore paths to historical backup.
37 lines
1.4 KiB
Python
37 lines
1.4 KiB
Python
import importlib.util
|
|
import io
|
|
import os
|
|
import subprocess
|
|
import sys
|
|
import tempfile
|
|
import unittest
|
|
|
|
PATH = os.path.join(os.path.dirname(__file__), "pre-push-clean.py")
|
|
SPEC = importlib.util.spec_from_file_location("pre_push_clean", PATH)
|
|
MOD = importlib.util.module_from_spec(SPEC); SPEC.loader.exec_module(MOD)
|
|
|
|
|
|
class PrePushUnicodePathTests(unittest.TestCase):
|
|
def test_fallback_file_list_preserves_unicode_paths(self):
|
|
with tempfile.TemporaryDirectory() as directory:
|
|
old_cwd, old_stdin = os.getcwd(), sys.stdin
|
|
try:
|
|
os.chdir(directory)
|
|
subprocess.run(["git", "init", "-q"], check=True)
|
|
subprocess.run(["git", "config", "user.email", "test@example.invalid"], check=True)
|
|
subprocess.run(["git", "config", "user.name", "test"], check=True)
|
|
os.makedirs("霜砚", exist_ok=True)
|
|
with open("霜砚/凭证.md", "w", encoding="utf-8") as handle:
|
|
handle.write("safe\n")
|
|
subprocess.run(["git", "add", "."], check=True)
|
|
subprocess.run(["git", "commit", "-qm", "fixture"], check=True)
|
|
sys.stdin = io.StringIO("")
|
|
self.assertIn("霜砚/凭证.md", MOD.get_changed_files())
|
|
finally:
|
|
sys.stdin = old_stdin
|
|
os.chdir(old_cwd)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|