fix: separate Bash import streams
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
Reference in New Issue
Block a user