1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-13 16:26:08 -05:00
denoland-deno/tools/fmt_test.py

44 lines
1.5 KiB
Python
Executable file

#!/usr/bin/env python
# Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
import os
import sys
from util import mkdtemp, root_path, tests_path, run, green_ok
import shutil
import json
def fmt_test(deno_exe):
sys.stdout.write("fmt_test...")
sys.stdout.flush()
d = mkdtemp()
try:
fixed_filename = os.path.join(tests_path, "badly_formatted_fixed.js")
src = os.path.join(tests_path, "badly_formatted.js")
dst = os.path.join(d, "badly_formatted.js")
shutil.copyfile(src, dst)
# Set DENO_DIR to //js/ so we don't have to rely on an intenet
# connection to download https://deno.land/std/prettier/main.ts
deno_dir = os.path.join(root_path, "js")
# TODO(kt3k) The below line should be run([deno_exe, "fmt", dst], ...)
# It should be updated when the below issue is addressed
# https://github.com/denoland/deno_std/issues/330
run([os.path.join(root_path, deno_exe), "fmt", "badly_formatted.js"],
cwd=d,
merge_env={"DENO_DIR": deno_dir})
with open(fixed_filename) as f:
expected = f.read()
with open(dst) as f:
actual = f.read()
if expected != actual:
print "Expected didn't match actual."
print "expected: ", json.dumps(expected)
print "actual: ", json.dumps(actual)
sys.exit(1)
finally:
shutil.rmtree(d)
print green_ok()
if __name__ == "__main__":
fmt_test(sys.argv[1])