fix: separate Bash import streams

This commit is contained in:
2026-08-12 17:42:25 +09:00
parent 1f9af6ee3e
commit 9566995c07
2 changed files with 26 additions and 2 deletions

View File

@@ -1,8 +1,22 @@
#!/usr/bin/env bash #!/bin/bash
set -euo pipefail set -euo pipefail
iconv -f EUC-JP -t UTF-8 "$@" | awk ' transcode()
{
local file
if (( $# == 0 )); then
iconv -f EUC-JP -t UTF-8
return
fi
for file in "$@"; do
iconv -f EUC-JP -t UTF-8 "$file"
printf '\n'
done
}
transcode "$@" | awk '
function fail(s) { function fail(s) {
print "skk2ktrans: " FILENAME ":" FNR ": " s >"/dev/stderr" print "skk2ktrans: " FILENAME ":" FNR ": " s >"/dev/stderr"
bad = 1 bad = 1

View File

@@ -43,6 +43,16 @@ class Skk2KtransTest(unittest.TestCase):
self.assertNotEqual(result.returncode, 0) self.assertNotEqual(result.returncode, 0)
self.assertIn(b"expression candidates are unsupported", result.stderr) self.assertIn(b"expression candidates are unsupported", result.stderr)
def test_files_have_distinct_row_boundaries(self):
with tempfile.TemporaryDirectory() as directory:
first = Path(directory) / "first.skk"
second = Path(directory) / "second.skk"
first.write_bytes(b"a /A/")
second.write_bytes(b"b /B/\n")
result = subprocess.run(
[CONVERTER, first, second], capture_output=True, check=False)
self.assertEqual(result.returncode, 0, result.stderr.decode())
self.assertEqual(result.stdout, b"a\tA\nb\tB\n")
if __name__ == "__main__": if __name__ == "__main__":
unittest.main() unittest.main()