summaryrefslogtreecommitdiff
path: root/test/test_writefile_function.vader
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_writefile_function.vader')
-rw-r--r--test/test_writefile_function.vader48
1 files changed, 48 insertions, 0 deletions
diff --git a/test/test_writefile_function.vader b/test/test_writefile_function.vader
new file mode 100644
index 00000000..4e4aab53
--- /dev/null
+++ b/test/test_writefile_function.vader
@@ -0,0 +1,48 @@
+Before:
+ call ale#test#SetDirectory('/testplugin/test')
+
+After:
+ noautocmd :e! ++ff=unix
+ setlocal buftype=nofile
+
+ if filereadable('.newline-test')
+ call delete('.newline-test')
+ endif
+
+ call ale#test#RestoreDirectory()
+
+Given(A file with Windows line ending characters):
+ first
+ second
+ third
+
+Execute(Carriage returns should be included for ale#util#Writefile):
+ call ale#test#SetFilename('.newline-test')
+
+ setlocal buftype=
+ noautocmd :w
+ noautocmd :e! ++ff=dos
+
+ call ale#util#Writefile(bufnr(''), getline(1, '$'), '.newline-test')
+
+ AssertEqual
+ \ ["first\r", "second\r", "third\r", ''],
+ \ readfile('.newline-test', 'b')
+ \
+Given(A file with Unix line ending characters):
+ first
+ second
+ third
+
+Execute(Unix file lines should be written as normal):
+ call ale#test#SetFilename('.newline-test')
+
+ setlocal buftype=
+ noautocmd :w
+ noautocmd :e! ++ff=unix
+
+ call ale#util#Writefile(bufnr(''), getline(1, '$'), '.newline-test')
+
+ AssertEqual
+ \ ['first', 'second', 'third', ''],
+ \ readfile('.newline-test', 'b')