read_file_raw <- function(file) { readBin(file, file.info(file)$size, what = "raw") } test_that("write_lines works with both unix and windows newlines", { tmp <- tempfile() on.exit(unlink(tmp)) write_lines(character(), tmp) expect_equal(read_file_raw(tmp), charToRaw("")) write_lines("", tmp) expect_equal(read_file_raw(tmp), charToRaw("\n")) write_lines("", tmp, eol = "\r\n") expect_equal(read_file_raw(tmp), charToRaw("\r\n")) write_lines(c("foo", "bar"), tmp) expect_equal(read_file_raw(tmp), charToRaw("foo\nbar\n")) write_lines(c("foo", "bar"), tmp, eol = "\r\n") expect_equal(read_file_raw(tmp), charToRaw("foo\r\nbar\r\n")) }) test_that("write_lines works with both unix and windows internal newlines", { tmp <- tempfile() on.exit(unlink(tmp)) write_lines(character(), tmp) write_lines(character(), tmp) expect_equal(read_file_raw(tmp), charToRaw("")) write_lines("foo\nbar", tmp) expect_equal(read_file_raw(tmp), charToRaw("foo\nbar\n")) write_lines("foo\r\nbar", tmp) expect_equal(read_file_raw(tmp), charToRaw("foo\nbar\n")) write_lines("foo\nbar", tmp, eol = "\r\n") expect_equal(read_file_raw(tmp), charToRaw("foo\r\nbar\r\n")) write_lines("foo\r\nbar", tmp, eol = "\r\n") expect_equal(read_file_raw(tmp), charToRaw("foo\r\nbar\r\n")) }) test_that("writeLines works", { tmp <- tempfile() on.exit(unlink(tmp)) # Errors with connections con <- file(tmp) expect_error(writeLines("foo\nbar\n", con), "Only file paths are supported") close(con) # Warns if you use useBytes expect_warning(writeLines("foo\nbar\n", tmp, useBytes = TRUE), "is ignored") })
Generated by dwww version 1.15 on Sun Jun 23 04:16:00 CEST 2024.