summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Martín Nieto <cmn@dwim.me>2015-06-22 19:44:05 +0200
committerCarlos Martín Nieto <cmn@dwim.me>2015-06-22 19:44:05 +0200
commit91c1833af1bdc0680b42e9f2934665330f826c18 (patch)
treea04f4b4a65f6b9a107c3b5a1e4be31ac7a6ba407
parent0b6ed4f96c7253b97a86f7e88ba4d69888c72382 (diff)
parent146d0d084ea06527038e27549a8d4724d4fe5022 (diff)
downloadlibgit2-91c1833af1bdc0680b42e9f2934665330f826c18.tar.gz
Merge pull request #3199 from ethomson/crlf
CRLF
-rw-r--r--src/buf_text.c10
-rw-r--r--src/buf_text.h3
-rw-r--r--src/crlf.c56
-rw-r--r--tests/checkout/crlf.c265
-rw-r--r--tests/clar/fixtures.h15
-rw-r--r--tests/core/buffer.c39
-rw-r--r--tests/filter/crlf.c4
-rw-r--r--tests/generate_crlf.sh73
-rw-r--r--tests/resources/crlf/.gitted/indexbin425 -> 1912 bytes
-rw-r--r--tests/resources/crlf/.gitted/objects/09/7722be9b67b48dfe3b19396d02fd535300ee46bin0 -> 344 bytes
-rw-r--r--tests/resources/crlf/.gitted/objects/16/78031ee023a23bd3515e4e1693b661a69f0a73bin0 -> 193 bytes
-rw-r--r--tests/resources/crlf/.gitted/objects/18/c637c5d9aba6eed226ee1840cd1ca2e6c4e4c5bin0 -> 442 bytes
-rw-r--r--tests/resources/crlf/.gitted/objects/20/3555c5676d75cd80d69b50beb1f4b588c59cebbin0 -> 36 bytes
-rw-r--r--tests/resources/crlf/.gitted/objects/23/f4582779e60bfa7f14750ad507399a58876611bin0 -> 219 bytes
-rw-r--r--tests/resources/crlf/.gitted/objects/2a/d3df895f68f4dda6a0a815c620b909bdd27c05bin0 -> 462 bytes
-rw-r--r--tests/resources/crlf/.gitted/objects/2b/d9d81b51a867352bab307b89cbb5b4a69adfe1bin0 -> 336 bytes
-rw-r--r--tests/resources/crlf/.gitted/objects/2c/03f9f407b576eae80327864bab572e282a33eabin0 -> 455 bytes
-rw-r--r--tests/resources/crlf/.gitted/objects/33/cdead44e1c3ec178e39a4a69085280dbacf01bbin0 -> 221 bytes
-rw-r--r--tests/resources/crlf/.gitted/objects/41/7786fc35b3c71aa546e3f95eb5da3c8dad8c41bin0 -> 36 bytes
-rw-r--r--tests/resources/crlf/.gitted/objects/5a/fb6a14a864e30787857dd92af837e8cdd2cb1bbin0 -> 194 bytes
-rw-r--r--tests/resources/crlf/.gitted/objects/68/03c385642cebc8103fddd526ef395d75678a7e2
-rw-r--r--tests/resources/crlf/.gitted/objects/69/597764abeaa1a403ebf589d2ea579c6a8f877e1
-rw-r--r--tests/resources/crlf/.gitted/objects/6c/589757f65a970a6cc07c71c3f3d2528c611cbc2
-rw-r--r--tests/resources/crlf/.gitted/objects/77/afe26d93c49279ca90604c125496920753fedebin0 -> 178 bytes
-rw-r--r--tests/resources/crlf/.gitted/objects/85/340755cfe5e28c2835781978bb1cece91b3d0fbin0 -> 37 bytes
-rw-r--r--tests/resources/crlf/.gitted/objects/92/0e90a663bea5d740989d5f935f6dfb473a0c5dbin0 -> 303 bytes
-rw-r--r--tests/resources/crlf/.gitted/objects/9d/29b5bb165bf65637ffcb5ededb82ddd7c3fd13bin0 -> 227 bytes
-rw-r--r--tests/resources/crlf/.gitted/objects/aa/f083a9cb53dac3669dcfa0e48921580d629ec7bin0 -> 37 bytes
-rw-r--r--tests/resources/crlf/.gitted/objects/af/6fcf6da196f615d7cda269b55b5c4ecfb4a5b3bin0 -> 36 bytes
-rw-r--r--tests/resources/crlf/.gitted/objects/bb/29a7b46b5d4ba3ea17b238ae561b81d59dc818bin0 -> 170 bytes
-rw-r--r--tests/resources/crlf/.gitted/objects/c8/d0b1ebcaccdd8f968c4aae3c2175e7fed651fe2
-rw-r--r--tests/resources/crlf/.gitted/objects/cd/d3dacc5c0501d5ea57bbdf90e3d80176606139bin0 -> 565 bytes
-rw-r--r--tests/resources/crlf/.gitted/objects/d1/1e7ef63ba7db1db3b1b99cdbafc57a8549f8a4bin0 -> 35 bytes
-rw-r--r--tests/resources/crlf/.gitted/objects/de/5bfa165999d9d6c6dbafad2a7e709f93ec30fdbin0 -> 179 bytes
-rw-r--r--tests/resources/crlf/.gitted/objects/e5/062da7d7802cf492975eda580f09ac4876bd881
-rw-r--r--tests/resources/crlf/.gitted/objects/f2/b745d7f47d114a3a6b31a7b628e61e804d1a58bin0 -> 561 bytes
-rw-r--r--tests/resources/crlf/.gitted/objects/fe/ab3713c4659bb22700042b3c55b8d60d0a952bbin0 -> 568 bytes
-rw-r--r--tests/resources/crlf/.gitted/refs/heads/master2
-rw-r--r--tests/resources/crlf/.gitted/refs/heads/utf81
-rw-r--r--tests/resources/crlf_data/.gitattributes1
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-text/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-text/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-text/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_false/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-text/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-text/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-text/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_input/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-text/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-text/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-text/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true/all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true/all-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true/more-crlf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true/more-lf5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/posix/autocrlf_true/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-text/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-text/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-text/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_false/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-text/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-text/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-text/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_input/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-text/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-text/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-text/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-text/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,-text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true,text_auto/zero-byte0
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true/all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true/all-crlf-utf8bom4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true/all-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true/all-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true/binary-all-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true/binary-all-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true/binary-mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true/binary-mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true/few-utf8-chars-crlf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true/few-utf8-chars-lf22
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true/many-utf8-chars-crlf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true/many-utf8-chars-lf4
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true/mixed-lf-cr3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true/mixed-lf-cr-crlf3
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true/more-crlf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true/more-crlf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true/more-lf5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true/more-lf-utf8bom5
-rw-r--r--tests/resources/crlf_data/windows/autocrlf_true/zero-byte0
1408 files changed, 8265 insertions, 132 deletions
diff --git a/src/buf_text.c b/src/buf_text.c
index 864e39cab..7e6779d2d 100644
--- a/src/buf_text.c
+++ b/src/buf_text.c
@@ -131,17 +131,15 @@ int git_buf_text_lf_to_crlf(git_buf *tgt, const git_buf *src)
for (; next; scan = next + 1, next = memchr(scan, '\n', end - scan)) {
size_t copylen = next - scan;
- /* if we find mixed line endings, bail */
- if (next > start && next[-1] == '\r') {
- git_buf_free(tgt);
- return GIT_PASSTHROUGH;
- }
+ /* if we find mixed line endings, carry on */
+ if (copylen && next[-1] == '\r')
+ copylen--;
GITERR_CHECK_ALLOC_ADD(&alloclen, copylen, 3);
if (git_buf_grow_by(tgt, alloclen) < 0)
return -1;
- if (next > scan) {
+ if (copylen) {
memcpy(tgt->ptr + tgt->size, scan, copylen);
tgt->size += copylen;
}
diff --git a/src/buf_text.h b/src/buf_text.h
index e753a0244..c9c55af89 100644
--- a/src/buf_text.h
+++ b/src/buf_text.h
@@ -58,8 +58,7 @@ extern void git_buf_text_unescape(git_buf *buf);
/**
* Replace all \r\n with \n.
*
- * @return 0 on success, -1 on memory error, GIT_PASSTHROUGH if the
- * source buffer has mixed line endings.
+ * @return 0 on success, -1 on memory error
*/
extern int git_buf_text_crlf_to_lf(git_buf *tgt, const git_buf *src);
diff --git a/src/crlf.c b/src/crlf.c
index b5d1dbf32..f391137c1 100644
--- a/src/crlf.c
+++ b/src/crlf.c
@@ -193,28 +193,29 @@ static const char *line_ending(struct crlf_attrs *ca)
case GIT_CRLF_CRLF:
return "\r\n";
+ case GIT_CRLF_GUESS:
+ if (ca->auto_crlf == GIT_AUTO_CRLF_FALSE)
+ return "\n";
+ break;
+
case GIT_CRLF_AUTO:
case GIT_CRLF_TEXT:
- case GIT_CRLF_GUESS:
break;
default:
goto line_ending_error;
}
- switch (ca->eol) {
- case GIT_EOL_UNSET:
- return GIT_EOL_NATIVE == GIT_EOL_CRLF ? "\r\n" : "\n";
-
- case GIT_EOL_CRLF:
+ if (ca->auto_crlf == GIT_AUTO_CRLF_TRUE)
return "\r\n";
-
- case GIT_EOL_LF:
+ else if (ca->auto_crlf == GIT_AUTO_CRLF_INPUT)
return "\n";
-
- default:
- goto line_ending_error;
- }
+ else if (ca->eol == GIT_EOL_UNSET)
+ return GIT_EOL_NATIVE == GIT_EOL_CRLF ? "\r\n" : "\n";
+ else if (ca->eol == GIT_EOL_LF)
+ return "\n";
+ else if (ca->eol == GIT_EOL_CRLF)
+ return "\r\n";
line_ending_error:
giterr_set(GITERR_INVALID, "Invalid input to line ending filter");
@@ -224,16 +225,14 @@ line_ending_error:
static int crlf_apply_to_workdir(
struct crlf_attrs *ca, git_buf *to, const git_buf *from)
{
+ git_buf_text_stats stats;
const char *workdir_ending = NULL;
+ bool is_binary;
/* Empty file? Nothing to do. */
if (git_buf_len(from) == 0)
return 0;
- /* Don't filter binary files */
- if (git_buf_text_is_binary(from))
- return GIT_PASSTHROUGH;
-
/* Determine proper line ending */
workdir_ending = line_ending(ca);
if (!workdir_ending)
@@ -243,6 +242,29 @@ static int crlf_apply_to_workdir(
if (strcmp(workdir_ending, "\r\n") != 0)
return GIT_PASSTHROUGH;
+ /* If there are no LFs, or all LFs are part of a CRLF, nothing to do */
+ is_binary = git_buf_text_gather_stats(&stats, from, false);
+
+ if (stats.lf == 0 || stats.lf == stats.crlf)
+ return GIT_PASSTHROUGH;
+
+ if (ca->crlf_action == GIT_CRLF_AUTO ||
+ ca->crlf_action == GIT_CRLF_GUESS) {
+
+ /* If we have any existing CR or CRLF line endings, do nothing */
+ if (ca->crlf_action == GIT_CRLF_GUESS &&
+ stats.cr > 0 && stats.crlf > 0)
+ return GIT_PASSTHROUGH;
+
+ /* If we have bare CR characters, do nothing */
+ if (stats.cr != stats.crlf)
+ return GIT_PASSTHROUGH;
+
+ /* Don't filter binary files */
+ if (is_binary)
+ return GIT_PASSTHROUGH;
+ }
+
return git_buf_text_lf_to_crlf(to, from);
}
@@ -278,7 +300,7 @@ static int crlf_check(
return GIT_PASSTHROUGH;
if (ca.crlf_action == GIT_CRLF_GUESS ||
- (ca.crlf_action == GIT_CRLF_AUTO &&
+ ((ca.crlf_action == GIT_CRLF_AUTO || ca.crlf_action == GIT_CRLF_TEXT) &&
git_filter_source_mode(src) == GIT_FILTER_SMUDGE)) {
error = git_repository__cvar(
diff --git a/tests/checkout/crlf.c b/tests/checkout/crlf.c
index 61459b3a4..2cf3af364 100644
--- a/tests/checkout/crlf.c
+++ b/tests/checkout/crlf.c
@@ -1,6 +1,7 @@
#include "clar_libgit2.h"
#include "checkout_helpers.h"
#include "../filter/crlf.h"
+#include "fileops.h"
#include "git2/checkout.h"
#include "repository.h"
@@ -9,94 +10,208 @@
static git_repository *g_repo;
+static const char *systype;
+static git_buf expected_fixture = GIT_BUF_INIT;
+
void test_checkout_crlf__initialize(void)
{
g_repo = cl_git_sandbox_init("crlf");
+
+ if (GIT_EOL_NATIVE == GIT_EOL_CRLF)
+ systype = "windows";
+ else
+ systype = "posix";
}
void test_checkout_crlf__cleanup(void)
{
cl_git_sandbox_cleanup();
+
+ if (expected_fixture.size) {
+ cl_fixture_cleanup(expected_fixture.ptr);
+ git_buf_free(&expected_fixture);
+ }
}
-void test_checkout_crlf__detect_crlf_autocrlf_false(void)
+struct compare_data
{
- git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
- opts.checkout_strategy = GIT_CHECKOUT_FORCE;
+ const char *dirname;
+ const char *autocrlf;
+ const char *attrs;
+};
- cl_repo_set_bool(g_repo, "core.autocrlf", false);
+static int compare_file(void *payload, git_buf *actual_path)
+{
+ git_buf expected_path = GIT_BUF_INIT;
+ git_buf actual_contents = GIT_BUF_INIT;
+ git_buf expected_contents = GIT_BUF_INIT;
+ struct compare_data *cd = payload;
+ bool failed = true;
+
+ if (strcmp(git_path_basename(actual_path->ptr), ".git") == 0 ||
+ strcmp(git_path_basename(actual_path->ptr), ".gitattributes") == 0) {
+ failed = false;
+ goto done;
+ }
- git_checkout_head(g_repo, &opts);
+ cl_git_pass(git_buf_joinpath(&expected_path, cd->dirname,
+ git_path_basename(actual_path->ptr)));
- check_file_contents("./crlf/all-lf", ALL_LF_TEXT_RAW);
- check_file_contents("./crlf/all-crlf", ALL_CRLF_TEXT_RAW);
-}
+ if (!git_path_isfile(expected_path.ptr) ||
+ !git_path_isfile(actual_path->ptr))
+ goto done;
-void test_checkout_crlf__autocrlf_false_index_size_is_unfiltered_size(void)
-{
- git_index *index;
- const git_index_entry *entry;
- git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
- opts.checkout_strategy = GIT_CHECKOUT_FORCE;
+ if (git_futils_readbuffer(&actual_contents, actual_path->ptr) < 0 ||
+ git_futils_readbuffer(&expected_contents, expected_path.ptr) < 0)
+ goto done;
- cl_repo_set_bool(g_repo, "core.autocrlf", false);
+ if (actual_contents.size != expected_contents.size)
+ goto done;
- git_repository_index(&index, g_repo);
- tick_index(index);
+ if (memcmp(actual_contents.ptr, expected_contents.ptr, expected_contents.size) != 0)
+ goto done;
- git_checkout_head(g_repo, &opts);
+ failed = false;
- cl_assert((entry = git_index_get_bypath(index, "all-lf", 0)) != NULL);
- cl_assert(entry->file_size == strlen(ALL_LF_TEXT_RAW));
+done:
+ if (failed) {
+ git_buf details = GIT_BUF_INIT;
+ git_buf_printf(&details, "filename=%s, system=%s, autocrlf=%s, attrs={%s}",
+ git_path_basename(actual_path->ptr), systype, cd->autocrlf, cd->attrs);
+ clar__fail(__FILE__, __LINE__,
+ "checked out contents did not match expected", details.ptr, 0);
+ git_buf_free(&details);
+ }
- cl_assert((entry = git_index_get_bypath(index, "all-crlf", 0)) != NULL);
- cl_assert(entry->file_size == strlen(ALL_CRLF_TEXT_RAW));
+ git_buf_free(&expected_contents);
+ git_buf_free(&actual_contents);
+ git_buf_free(&expected_path);
- git_index_free(index);
+ return 0;
}
-void test_checkout_crlf__detect_crlf_autocrlf_true(void)
+static void test_checkout(const char *autocrlf, const char *attrs)
{
+ git_buf attrbuf = GIT_BUF_INIT;
+ git_buf expected_dirname = GIT_BUF_INIT;
+ git_buf sandboxname = GIT_BUF_INIT;
+ git_buf reponame = GIT_BUF_INIT;
git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
- opts.checkout_strategy = GIT_CHECKOUT_FORCE;
+ struct compare_data compare_data = { NULL, autocrlf, attrs };
+ const char *c;
- cl_repo_set_bool(g_repo, "core.autocrlf", true);
+ git_buf_puts(&reponame, "crlf");
+
+ git_buf_puts(&sandboxname, "autocrlf_");
+ git_buf_puts(&sandboxname, autocrlf);
+ if (*attrs) {
+ git_buf_puts(&sandboxname, ",");
+
+ for (c = attrs; *c; c++) {
+ if (*c == ' ')
+ git_buf_putc(&sandboxname, ',');
+ else if (*c == '=')
+ git_buf_putc(&sandboxname, '_');
+ else
+ git_buf_putc(&sandboxname, *c);
+ }
+
+ git_buf_printf(&attrbuf, "* %s\n", attrs);
+ cl_git_mkfile("crlf/.gitattributes", attrbuf.ptr);
+ }
+
+ cl_repo_set_string(g_repo, "core.autocrlf", autocrlf);
+
+ git_buf_joinpath(&expected_dirname, systype, sandboxname.ptr);
+ git_buf_joinpath(&expected_fixture, "crlf_data", expected_dirname.ptr);
+ cl_fixture_sandbox(expected_fixture.ptr);
+
+ opts.checkout_strategy = GIT_CHECKOUT_FORCE;
git_checkout_head(g_repo, &opts);
- if (GIT_EOL_NATIVE == GIT_EOL_LF)
- check_file_contents("./crlf/all-lf", ALL_LF_TEXT_RAW);
- else
- check_file_contents("./crlf/all-lf", ALL_LF_TEXT_AS_CRLF);
+ compare_data.dirname = sandboxname.ptr;
+ cl_git_pass(git_path_direach(&reponame, 0, compare_file, &compare_data));
- check_file_contents("./crlf/all-crlf", ALL_CRLF_TEXT_RAW);
+ cl_fixture_cleanup(expected_fixture.ptr);
+ git_buf_free(&expected_fixture);
+
+ git_buf_free(&attrbuf);
+ git_buf_free(&expected_fixture);
+ git_buf_free(&expected_dirname);
+ git_buf_free(&sandboxname);
+ git_buf_free(&reponame);
}
-void test_checkout_crlf__more_lf_autocrlf_true(void)
+static void empty_workdir(const char *name)
+{
+ git_vector contents = GIT_VECTOR_INIT;
+ size_t i;
+ const char *fn;
+
+ git_path_dirload(&contents, name, 0, 0);
+ git_vector_foreach(&contents, i, fn) {
+ if (strncasecmp(git_path_basename(fn), ".git", 4) == 0)
+ continue;
+ p_unlink(fn);
+ }
+ git_vector_free_deep(&contents);
+}
+
+void test_checkout_crlf__matches_core_git(void)
+{
+ const char *autocrlf[] = { "true", "false", "input", NULL };
+ const char *attrs[] = { "", "-crlf", "-text", "eol=crlf", "eol=lf",
+ "text", "text eol=crlf", "text eol=lf",
+ "text=auto", "text=auto eol=crlf", "text=auto eol=lf",
+ NULL };
+ const char **a, **b;
+
+ for (a = autocrlf; *a; a++) {
+ for (b = attrs; *b; b++) {
+ empty_workdir("crlf");
+ test_checkout(*a, *b);
+ }
+ }
+}
+
+void test_checkout_crlf__detect_crlf_autocrlf_false(void)
{
git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
opts.checkout_strategy = GIT_CHECKOUT_FORCE;
- cl_repo_set_bool(g_repo, "core.autocrlf", true);
+ cl_repo_set_bool(g_repo, "core.autocrlf", false);
git_checkout_head(g_repo, &opts);
- check_file_contents("./crlf/more-lf", MORE_LF_TEXT_RAW);
+ check_file_contents("./crlf/all-lf", ALL_LF_TEXT_RAW);
+ check_file_contents("./crlf/all-crlf", ALL_CRLF_TEXT_RAW);
}
-void test_checkout_crlf__more_crlf_autocrlf_true(void)
+void test_checkout_crlf__autocrlf_false_index_size_is_unfiltered_size(void)
{
+ git_index *index;
+ const git_index_entry *entry;
git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
opts.checkout_strategy = GIT_CHECKOUT_FORCE;
- cl_repo_set_bool(g_repo, "core.autocrlf", true);
+ cl_repo_set_bool(g_repo, "core.autocrlf", false);
+
+ git_repository_index(&index, g_repo);
+ tick_index(index);
git_checkout_head(g_repo, &opts);
- check_file_contents("./crlf/more-crlf", MORE_CRLF_TEXT_RAW);
+ cl_assert((entry = git_index_get_bypath(index, "all-lf", 0)) != NULL);
+ cl_assert(entry->file_size == strlen(ALL_LF_TEXT_RAW));
+
+ cl_assert((entry = git_index_get_bypath(index, "all-crlf", 0)) != NULL);
+ cl_assert(entry->file_size == strlen(ALL_CRLF_TEXT_RAW));
+
+ git_index_free(index);
}
-void test_checkout_crlf__all_crlf_autocrlf_true(void)
+void test_checkout_crlf__detect_crlf_autocrlf_true(void)
{
git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
opts.checkout_strategy = GIT_CHECKOUT_FORCE;
@@ -105,6 +220,7 @@ void test_checkout_crlf__all_crlf_autocrlf_true(void)
git_checkout_head(g_repo, &opts);
+ check_file_contents("./crlf/all-lf", ALL_LF_TEXT_AS_CRLF);
check_file_contents("./crlf/all-crlf", ALL_CRLF_TEXT_RAW);
}
@@ -115,22 +231,14 @@ void test_checkout_crlf__detect_crlf_autocrlf_true_utf8(void)
cl_repo_set_bool(g_repo, "core.autocrlf", true);
- git_repository_set_head(g_repo, "refs/heads/utf8");
+ git_repository_set_head(g_repo, "refs/heads/master");
git_checkout_head(g_repo, &opts);
- if (GIT_EOL_NATIVE == GIT_EOL_LF)
- {
- check_file_contents("./crlf/few-utf8-chars-lf.txt", FEW_UTF8_LF_RAW);
- check_file_contents("./crlf/many-utf8-chars-lf.txt", MANY_UTF8_LF_RAW);
- }
- else
- {
- check_file_contents("./crlf/few-utf8-chars-lf.txt", FEW_UTF8_CRLF_RAW);
- check_file_contents("./crlf/many-utf8-chars-lf.txt", MANY_UTF8_CRLF_RAW);
- }
+ check_file_contents("./crlf/few-utf8-chars-lf", FEW_UTF8_CRLF_RAW);
+ check_file_contents("./crlf/many-utf8-chars-lf", MANY_UTF8_CRLF_RAW);
- check_file_contents("./crlf/few-utf8-chars-crlf.txt", FEW_UTF8_CRLF_RAW);
- check_file_contents("./crlf/many-utf8-chars-crlf.txt", MANY_UTF8_CRLF_RAW);
+ check_file_contents("./crlf/few-utf8-chars-crlf", FEW_UTF8_CRLF_RAW);
+ check_file_contents("./crlf/many-utf8-chars-crlf", MANY_UTF8_CRLF_RAW);
}
void test_checkout_crlf__autocrlf_true_index_size_is_filtered_size(void)
@@ -149,10 +257,7 @@ void test_checkout_crlf__autocrlf_true_index_size_is_filtered_size(void)
cl_assert((entry = git_index_get_bypath(index, "all-lf", 0)) != NULL);
- if (GIT_EOL_NATIVE == GIT_EOL_LF)
- cl_assert_equal_sz(strlen(ALL_LF_TEXT_RAW), entry->file_size);
- else
- cl_assert_equal_sz(strlen(ALL_LF_TEXT_AS_CRLF), entry->file_size);
+ cl_assert_equal_sz(strlen(ALL_LF_TEXT_AS_CRLF), entry->file_size);
cl_assert((entry = git_index_get_bypath(index, "all-crlf", 0)) != NULL);
cl_assert_equal_sz(strlen(ALL_CRLF_TEXT_RAW), entry->file_size);
@@ -221,25 +326,14 @@ void test_checkout_crlf__with_ident(void)
git_checkout_head(g_repo, &opts);
- if (GIT_EOL_NATIVE == GIT_EOL_LF) {
- cl_assert_equal_file(
- ALL_LF_TEXT_RAW
- "\n$Id: fcf6d4d9c212dc66563b1171b1cd99953c756467 $\n",
- 0, "crlf/lf.ident");
- cl_assert_equal_file(
- ALL_CRLF_TEXT_AS_LF
- "\n$Id: f2c66ad9b2b5a734d9bf00d5000cc10a62b8a857 $\n\n",
- 0, "crlf/crlf.ident");
- } else {
- cl_assert_equal_file(
- ALL_LF_TEXT_AS_CRLF
- "\r\n$Id: fcf6d4d9c212dc66563b1171b1cd99953c756467 $\r\n",
- 0, "crlf/lf.ident");
- cl_assert_equal_file(
- ALL_CRLF_TEXT_RAW
- "\r\n$Id: f2c66ad9b2b5a734d9bf00d5000cc10a62b8a857 $\r\n\r\n",
- 0, "crlf/crlf.ident");
- }
+ cl_assert_equal_file(
+ ALL_LF_TEXT_AS_CRLF
+ "\r\n$Id: fcf6d4d9c212dc66563b1171b1cd99953c756467 $\r\n",
+ 0, "crlf/lf.ident");
+ cl_assert_equal_file(
+ ALL_CRLF_TEXT_RAW
+ "\r\n$Id: f2c66ad9b2b5a734d9bf00d5000cc10a62b8a857 $\r\n\r\n",
+ 0, "crlf/crlf.ident");
cl_assert_equal_file(
"$Id: f7830382dac1f1583422be5530fdfbd26289431b $\n"
@@ -274,13 +368,8 @@ void test_checkout_crlf__autocrlf_true_no_attrs(void)
git_checkout_head(g_repo, &opts);
- if (GIT_EOL_NATIVE == GIT_EOL_CRLF) {
- check_file_contents("./crlf/all-lf", ALL_LF_TEXT_AS_CRLF);
- check_file_contents("./crlf/all-crlf", ALL_CRLF_TEXT_AS_CRLF);
- } else {
- check_file_contents("./crlf/all-lf", ALL_LF_TEXT_RAW);
- check_file_contents("./crlf/all-crlf", ALL_CRLF_TEXT_RAW);
- }
+ check_file_contents("./crlf/all-lf", ALL_LF_TEXT_AS_CRLF);
+ check_file_contents("./crlf/all-crlf", ALL_CRLF_TEXT_AS_CRLF);
}
void test_checkout_crlf__autocrlf_input_no_attrs(void)
@@ -327,13 +416,8 @@ void test_checkout_crlf__autocrlf_true_text_auto_attr(void)
git_checkout_head(g_repo, &opts);
- if (GIT_EOL_NATIVE == GIT_EOL_CRLF) {
- check_file_contents("./crlf/all-lf", ALL_LF_TEXT_AS_CRLF);
- check_file_contents("./crlf/all-crlf", ALL_CRLF_TEXT_AS_CRLF);
- } else {
- check_file_contents("./crlf/all-lf", ALL_LF_TEXT_RAW);
- check_file_contents("./crlf/all-crlf", ALL_CRLF_TEXT_RAW);
- }
+ check_file_contents("./crlf/all-lf", ALL_LF_TEXT_AS_CRLF);
+ check_file_contents("./crlf/all-crlf", ALL_CRLF_TEXT_AS_CRLF);
}
void test_checkout_crlf__autocrlf_input_text_auto_attr(void)
@@ -363,10 +447,7 @@ void test_checkout_crlf__can_write_empty_file(void)
check_file_contents("./crlf/test1.txt", "");
- if (GIT_EOL_NATIVE == GIT_EOL_LF)
- check_file_contents("./crlf/test2.txt", "test2.txt's content\n");
- else
- check_file_contents("./crlf/test2.txt", "test2.txt's content\r\n");
+ check_file_contents("./crlf/test2.txt", "test2.txt's content\r\n");
check_file_contents("./crlf/test3.txt", "");
}
diff --git a/tests/clar/fixtures.h b/tests/clar/fixtures.h
index 264cd7f4f..f7b8d96af 100644
--- a/tests/clar/fixtures.h
+++ b/tests/clar/fixtures.h
@@ -20,6 +20,19 @@ fixture_path(const char *base, const char *fixture_name)
return _path;
}
+static const char *
+fixture_basename(const char *fixture_name)
+{
+ const char *p;
+
+ for (p = fixture_name; *p; p++) {
+ if (p[0] == '/' && p[1] && p[1] != '/')
+ fixture_name = p+1;
+ }
+
+ return fixture_name;
+}
+
#ifdef CLAR_FIXTURE_PATH
const char *cl_fixture(const char *fixture_name)
{
@@ -33,6 +46,6 @@ void cl_fixture_sandbox(const char *fixture_name)
void cl_fixture_cleanup(const char *fixture_name)
{
- fs_rm(fixture_path(_clar_path, fixture_name));
+ fs_rm(fixture_path(_clar_path, fixture_basename(fixture_name)));
}
#endif
diff --git a/tests/core/buffer.c b/tests/core/buffer.c
index d28aa218f..fef37f8f7 100644
--- a/tests/core/buffer.c
+++ b/tests/core/buffer.c
@@ -1054,14 +1054,20 @@ void test_core_buffer__lf_and_crlf_conversions(void)
git_buf_sets(&src, "crlf\r\ncrlf\r\ncrlf\r\ncrlf\r\n");
- cl_git_fail_with(GIT_PASSTHROUGH, git_buf_text_lf_to_crlf(&tgt, &src));
+ cl_git_pass(git_buf_text_lf_to_crlf(&tgt, &src));
+ check_buf("crlf\r\ncrlf\r\ncrlf\r\ncrlf\r\n", tgt);
+
+ git_buf_sets(&src, "crlf\r\ncrlf\r\ncrlf\r\ncrlf\r\n");
cl_git_pass(git_buf_text_crlf_to_lf(&tgt, &src));
check_buf("crlf\ncrlf\ncrlf\ncrlf\n", tgt);
git_buf_sets(&src, "\r\ncrlf\r\ncrlf\r\ncrlf\r\ncrlf\r\ncrlf");
- cl_git_fail_with(GIT_PASSTHROUGH, git_buf_text_lf_to_crlf(&tgt, &src));
+ cl_git_pass(git_buf_text_lf_to_crlf(&tgt, &src));
+ check_buf("\r\ncrlf\r\ncrlf\r\ncrlf\r\ncrlf\r\ncrlf", tgt);
+
+ git_buf_sets(&src, "\r\ncrlf\r\ncrlf\r\ncrlf\r\ncrlf\r\ncrlf");
cl_git_pass(git_buf_text_crlf_to_lf(&tgt, &src));
check_buf("\ncrlf\ncrlf\ncrlf\ncrlf\ncrlf", tgt);
@@ -1070,7 +1076,11 @@ void test_core_buffer__lf_and_crlf_conversions(void)
git_buf_sets(&src, "\nlf\nlf\ncrlf\r\nlf\nlf\ncrlf\r\n");
- cl_git_fail_with(GIT_PASSTHROUGH, git_buf_text_lf_to_crlf(&tgt, &src));
+ cl_git_pass(git_buf_text_lf_to_crlf(&tgt, &src));
+ check_buf("\r\nlf\r\nlf\r\ncrlf\r\nlf\r\nlf\r\ncrlf\r\n", tgt);
+
+ git_buf_sets(&src, "\nlf\nlf\ncrlf\r\nlf\nlf\ncrlf\r\n");
+
cl_git_pass(git_buf_text_crlf_to_lf(&tgt, &src));
check_buf("\nlf\nlf\ncrlf\nlf\nlf\ncrlf\n", tgt);
@@ -1078,7 +1088,9 @@ void test_core_buffer__lf_and_crlf_conversions(void)
git_buf_sets(&src, "\ncrlf\r\ncrlf\r\nlf\ncrlf\r\ncrlf");
- cl_git_fail_with(GIT_PASSTHROUGH, git_buf_text_lf_to_crlf(&tgt, &src));
+ cl_git_pass(git_buf_text_lf_to_crlf(&tgt, &src));
+ check_buf("\r\ncrlf\r\ncrlf\r\nlf\r\ncrlf\r\ncrlf", tgt);
+
cl_git_pass(git_buf_text_crlf_to_lf(&tgt, &src));
check_buf("\ncrlf\ncrlf\nlf\ncrlf\ncrlf", tgt);
@@ -1086,7 +1098,11 @@ void test_core_buffer__lf_and_crlf_conversions(void)
git_buf_sets(&src, "\rcrlf\r\nlf\nlf\ncr\rcrlf\r\nlf\ncr\r");
- cl_git_fail_with(GIT_PASSTHROUGH, git_buf_text_lf_to_crlf(&tgt, &src));
+ cl_git_pass(git_buf_text_lf_to_crlf(&tgt, &src));
+ check_buf("\rcrlf\r\nlf\r\nlf\r\ncr\rcrlf\r\nlf\r\ncr\r", tgt);
+
+ git_buf_sets(&src, "\rcrlf\r\nlf\nlf\ncr\rcrlf\r\nlf\ncr\r");
+
cl_git_pass(git_buf_text_crlf_to_lf(&tgt, &src));
check_buf("\rcrlf\nlf\nlf\ncr\rcrlf\nlf\ncr\r", tgt);
@@ -1102,7 +1118,9 @@ void test_core_buffer__lf_and_crlf_conversions(void)
/* blob correspondence tests */
git_buf_sets(&src, ALL_CRLF_TEXT_RAW);
- cl_git_fail_with(GIT_PASSTHROUGH, git_buf_text_lf_to_crlf(&tgt, &src));
+ cl_git_pass(git_buf_text_lf_to_crlf(&tgt, &src));
+ check_buf(ALL_CRLF_TEXT_AS_CRLF, tgt);
+ git_buf_sets(&src, ALL_CRLF_TEXT_RAW);
cl_git_pass(git_buf_text_crlf_to_lf(&tgt, &src));
check_buf(ALL_CRLF_TEXT_AS_LF, tgt);
git_buf_free(&src);
@@ -1111,20 +1129,25 @@ void test_core_buffer__lf_and_crlf_conversions(void)
git_buf_sets(&src, ALL_LF_TEXT_RAW);
cl_git_pass(git_buf_text_lf_to_crlf(&tgt, &src));
check_buf(ALL_LF_TEXT_AS_CRLF, tgt);
+ git_buf_sets(&src, ALL_LF_TEXT_RAW);
cl_git_pass(git_buf_text_crlf_to_lf(&tgt, &src));
check_buf(ALL_LF_TEXT_AS_LF, tgt);
git_buf_free(&src);
git_buf_free(&tgt);
git_buf_sets(&src, MORE_CRLF_TEXT_RAW);
- cl_git_fail_with(GIT_PASSTHROUGH, git_buf_text_lf_to_crlf(&tgt, &src));
+ cl_git_pass(git_buf_text_lf_to_crlf(&tgt, &src));
+ check_buf(MORE_CRLF_TEXT_AS_CRLF, tgt);
+ git_buf_sets(&src, MORE_CRLF_TEXT_RAW);
cl_git_pass(git_buf_text_crlf_to_lf(&tgt, &src));
check_buf(MORE_CRLF_TEXT_AS_LF, tgt);
git_buf_free(&src);
git_buf_free(&tgt);
git_buf_sets(&src, MORE_LF_TEXT_RAW);
- cl_git_fail_with(GIT_PASSTHROUGH, git_buf_text_lf_to_crlf(&tgt, &src));
+ cl_git_pass(git_buf_text_lf_to_crlf(&tgt, &src));
+ check_buf(MORE_LF_TEXT_AS_CRLF, tgt);
+ git_buf_sets(&src, MORE_LF_TEXT_RAW);
cl_git_pass(git_buf_text_crlf_to_lf(&tgt, &src));
check_buf(MORE_LF_TEXT_AS_LF, tgt);
git_buf_free(&src);
diff --git a/tests/filter/crlf.c b/tests/filter/crlf.c
index 406d3b6b0..a8ebd949f 100644
--- a/tests/filter/crlf.c
+++ b/tests/filter/crlf.c
@@ -38,11 +38,7 @@ void test_filter_crlf__to_worktree(void)
cl_git_pass(git_filter_list_apply_to_data(&out, fl, &in));
-#ifdef GIT_WIN32
cl_assert_equal_s("Some text\r\nRight here\r\n", out.ptr);
-#else
- cl_assert_equal_s("Some text\nRight here\n", out.ptr);
-#endif
git_filter_list_free(fl);
git_buf_free(&out);
diff --git a/tests/generate_crlf.sh b/tests/generate_crlf.sh
new file mode 100644
index 000000000..d3fd1bb9a
--- /dev/null
+++ b/tests/generate_crlf.sh
@@ -0,0 +1,73 @@
+#!/usr/bin/env bash
+
+set -e
+
+if [ "$1" == "" -o "$2" == "" ]; then
+ echo "usage: $0 crlfrepo directory [tempdir]"
+ exit 1
+fi
+
+input=$1
+output=$2
+tempdir=$3
+
+set -u
+
+create_repo() {
+ local input=$1
+ local output=$2
+ local tempdir=$3
+ local systype=$4
+ local autocrlf=$5
+ local attr=$6
+
+ local worktree="${output}/${systype}/autocrlf_${autocrlf}"
+
+ if [ "$attr" != "" ]; then
+ local attrdir=`echo $attr | sed -e "s/ /,/g" | sed -e "s/=/_/g"`
+ worktree="${worktree},${attrdir}"
+ fi
+
+ if [ "$tempdir" = "" ]; then
+ local gitdir="${worktree}/.git"
+ else
+ local gitdir="${tempdir}/generate_crlf_${RANDOM}"
+ fi
+
+ echo "Creating ${worktree}"
+ mkdir -p "${worktree}"
+
+ git clone --no-checkout --quiet --bare "${input}/.gitted" "${gitdir}"
+ git --work-tree="${worktree}" --git-dir="${gitdir}" config core.autocrlf ${autocrlf}
+
+ if [ "$attr" != "" ]; then
+ echo "* ${attr}" >> "${worktree}/.gitattributes"
+ fi
+
+ git --work-tree="${worktree}" --git-dir="${gitdir}" checkout HEAD
+
+ if [ "$attr" != "" ]; then
+ rm "${worktree}/.gitattributes"
+ fi
+
+ if [ "$tempdir" != "" ]; then
+ rm -rf "${gitdir}"
+ fi
+}
+
+if [[ `uname -s` == MINGW* ]]; then
+ systype="windows"
+else
+ systype="posix"
+fi
+
+for autocrlf in true false input; do
+ for attr in "" text text=auto -text crlf -crlf eol=lf eol=crlf \
+ "text eol=lf" "text eol=crlf" \
+ "text=auto eol=lf" "text=auto eol=crlf"; do
+
+ create_repo "${input}" "${output}" "${tempdir}" \
+ "${systype}" "${autocrlf}" "${attr}"
+ done
+done
+
diff --git a/tests/resources/crlf/.gitted/index b/tests/resources/crlf/.gitted/index
index aadd35e72..e8d43e97e 100644
--- a/tests/resources/crlf/.gitted/index
+++ b/tests/resources/crlf/.gitted/index
Binary files differ
diff --git a/tests/resources/crlf/.gitted/objects/09/7722be9b67b48dfe3b19396d02fd535300ee46 b/tests/resources/crlf/.gitted/objects/09/7722be9b67b48dfe3b19396d02fd535300ee46
new file mode 100644
index 000000000..5c5c24cd5
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/09/7722be9b67b48dfe3b19396d02fd535300ee46
Binary files differ
diff --git a/tests/resources/crlf/.gitted/objects/16/78031ee023a23bd3515e4e1693b661a69f0a73 b/tests/resources/crlf/.gitted/objects/16/78031ee023a23bd3515e4e1693b661a69f0a73
new file mode 100644
index 000000000..4aa4ffb1d
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/16/78031ee023a23bd3515e4e1693b661a69f0a73
Binary files differ
diff --git a/tests/resources/crlf/.gitted/objects/18/c637c5d9aba6eed226ee1840cd1ca2e6c4e4c5 b/tests/resources/crlf/.gitted/objects/18/c637c5d9aba6eed226ee1840cd1ca2e6c4e4c5
new file mode 100644
index 000000000..790eb1324
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/18/c637c5d9aba6eed226ee1840cd1ca2e6c4e4c5
Binary files differ
diff --git a/tests/resources/crlf/.gitted/objects/20/3555c5676d75cd80d69b50beb1f4b588c59ceb b/tests/resources/crlf/.gitted/objects/20/3555c5676d75cd80d69b50beb1f4b588c59ceb
new file mode 100644
index 000000000..8038a9b10
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/20/3555c5676d75cd80d69b50beb1f4b588c59ceb
Binary files differ
diff --git a/tests/resources/crlf/.gitted/objects/23/f4582779e60bfa7f14750ad507399a58876611 b/tests/resources/crlf/.gitted/objects/23/f4582779e60bfa7f14750ad507399a58876611
new file mode 100644
index 000000000..4a4e4dc9e
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/23/f4582779e60bfa7f14750ad507399a58876611
Binary files differ
diff --git a/tests/resources/crlf/.gitted/objects/2a/d3df895f68f4dda6a0a815c620b909bdd27c05 b/tests/resources/crlf/.gitted/objects/2a/d3df895f68f4dda6a0a815c620b909bdd27c05
new file mode 100644
index 000000000..f5421cf6a
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/2a/d3df895f68f4dda6a0a815c620b909bdd27c05
Binary files differ
diff --git a/tests/resources/crlf/.gitted/objects/2b/d9d81b51a867352bab307b89cbb5b4a69adfe1 b/tests/resources/crlf/.gitted/objects/2b/d9d81b51a867352bab307b89cbb5b4a69adfe1
new file mode 100644
index 000000000..96d952e85
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/2b/d9d81b51a867352bab307b89cbb5b4a69adfe1
Binary files differ
diff --git a/tests/resources/crlf/.gitted/objects/2c/03f9f407b576eae80327864bab572e282a33ea b/tests/resources/crlf/.gitted/objects/2c/03f9f407b576eae80327864bab572e282a33ea
new file mode 100644
index 000000000..0e4afbbba
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/2c/03f9f407b576eae80327864bab572e282a33ea
Binary files differ
diff --git a/tests/resources/crlf/.gitted/objects/33/cdead44e1c3ec178e39a4a69085280dbacf01b b/tests/resources/crlf/.gitted/objects/33/cdead44e1c3ec178e39a4a69085280dbacf01b
new file mode 100644
index 000000000..72dc780a0
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/33/cdead44e1c3ec178e39a4a69085280dbacf01b
Binary files differ
diff --git a/tests/resources/crlf/.gitted/objects/41/7786fc35b3c71aa546e3f95eb5da3c8dad8c41 b/tests/resources/crlf/.gitted/objects/41/7786fc35b3c71aa546e3f95eb5da3c8dad8c41
new file mode 100644
index 000000000..ec57bdeba
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/41/7786fc35b3c71aa546e3f95eb5da3c8dad8c41
Binary files differ
diff --git a/tests/resources/crlf/.gitted/objects/5a/fb6a14a864e30787857dd92af837e8cdd2cb1b b/tests/resources/crlf/.gitted/objects/5a/fb6a14a864e30787857dd92af837e8cdd2cb1b
new file mode 100644
index 000000000..11a25c581
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/5a/fb6a14a864e30787857dd92af837e8cdd2cb1b
Binary files differ
diff --git a/tests/resources/crlf/.gitted/objects/68/03c385642cebc8103fddd526ef395d75678a7e b/tests/resources/crlf/.gitted/objects/68/03c385642cebc8103fddd526ef395d75678a7e
new file mode 100644
index 000000000..f8d489fcb
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/68/03c385642cebc8103fddd526ef395d75678a7e
@@ -0,0 +1,2 @@
+xKj0Ьu}, !d &hZ0QvgWuz9OAHv Bh9!EM}cf52v%m` /=ZË MoeV3
+fr1pѓj8.[_ K^@kѡYj \ No newline at end of file
diff --git a/tests/resources/crlf/.gitted/objects/69/597764abeaa1a403ebf589d2ea579c6a8f877e b/tests/resources/crlf/.gitted/objects/69/597764abeaa1a403ebf589d2ea579c6a8f877e
new file mode 100644
index 000000000..ee4f4273d
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/69/597764abeaa1a403ebf589d2ea579c6a8f877e
@@ -0,0 +1 @@
+xэ0 a3Owr&%`NĎ-J!1|si`ݸkUȢr.*{zgr>ɱcbn\ui c.x"D,N,VuՒ.umgzL=@[kIǦismbY>!nJL \ No newline at end of file
diff --git a/tests/resources/crlf/.gitted/objects/6c/589757f65a970a6cc07c71c3f3d2528c611cbc b/tests/resources/crlf/.gitted/objects/6c/589757f65a970a6cc07c71c3f3d2528c611cbc
new file mode 100644
index 000000000..fe4da8ce0
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/6c/589757f65a970a6cc07c71c3f3d2528c611cbc
@@ -0,0 +1,2 @@
+x-KN0Y;PYpr5j#ǀ=nnF3iUUp$dKbN)OL)`Pf'VpCVY$SճcqVI:W
+oZ^tvӁGW9gL2<kM+Ko |\ʺ;Nݱ>$81ÛeUe r}.Q \ No newline at end of file
diff --git a/tests/resources/crlf/.gitted/objects/77/afe26d93c49279ca90604c125496920753fede b/tests/resources/crlf/.gitted/objects/77/afe26d93c49279ca90604c125496920753fede
new file mode 100644
index 000000000..a377cb04d
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/77/afe26d93c49279ca90604c125496920753fede
Binary files differ
diff --git a/tests/resources/crlf/.gitted/objects/85/340755cfe5e28c2835781978bb1cece91b3d0f b/tests/resources/crlf/.gitted/objects/85/340755cfe5e28c2835781978bb1cece91b3d0f
new file mode 100644
index 000000000..e83fbc290
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/85/340755cfe5e28c2835781978bb1cece91b3d0f
Binary files differ
diff --git a/tests/resources/crlf/.gitted/objects/92/0e90a663bea5d740989d5f935f6dfb473a0c5d b/tests/resources/crlf/.gitted/objects/92/0e90a663bea5d740989d5f935f6dfb473a0c5d
new file mode 100644
index 000000000..f872be6e9
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/92/0e90a663bea5d740989d5f935f6dfb473a0c5d
Binary files differ
diff --git a/tests/resources/crlf/.gitted/objects/9d/29b5bb165bf65637ffcb5ededb82ddd7c3fd13 b/tests/resources/crlf/.gitted/objects/9d/29b5bb165bf65637ffcb5ededb82ddd7c3fd13
new file mode 100644
index 000000000..106332d55
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/9d/29b5bb165bf65637ffcb5ededb82ddd7c3fd13
Binary files differ
diff --git a/tests/resources/crlf/.gitted/objects/aa/f083a9cb53dac3669dcfa0e48921580d629ec7 b/tests/resources/crlf/.gitted/objects/aa/f083a9cb53dac3669dcfa0e48921580d629ec7
new file mode 100644
index 000000000..38775d005
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/aa/f083a9cb53dac3669dcfa0e48921580d629ec7
Binary files differ
diff --git a/tests/resources/crlf/.gitted/objects/af/6fcf6da196f615d7cda269b55b5c4ecfb4a5b3 b/tests/resources/crlf/.gitted/objects/af/6fcf6da196f615d7cda269b55b5c4ecfb4a5b3
new file mode 100644
index 000000000..0acc9744e
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/af/6fcf6da196f615d7cda269b55b5c4ecfb4a5b3
Binary files differ
diff --git a/tests/resources/crlf/.gitted/objects/bb/29a7b46b5d4ba3ea17b238ae561b81d59dc818 b/tests/resources/crlf/.gitted/objects/bb/29a7b46b5d4ba3ea17b238ae561b81d59dc818
new file mode 100644
index 000000000..a08789b54
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/bb/29a7b46b5d4ba3ea17b238ae561b81d59dc818
Binary files differ
diff --git a/tests/resources/crlf/.gitted/objects/c8/d0b1ebcaccdd8f968c4aae3c2175e7fed651fe b/tests/resources/crlf/.gitted/objects/c8/d0b1ebcaccdd8f968c4aae3c2175e7fed651fe
new file mode 100644
index 000000000..21e2ce093
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/c8/d0b1ebcaccdd8f968c4aae3c2175e7fed651fe
@@ -0,0 +1,2 @@
+x-Kn0C)f8od (t4#؈e9~;$RKI1*1;tf9Edb&1LʈPyk 0#*FeYtٱ{7opkuI^ec3Z? NRI)c
+[^}|+?wTX #ވ,L!5C^V>=R~ \ No newline at end of file
diff --git a/tests/resources/crlf/.gitted/objects/cd/d3dacc5c0501d5ea57bbdf90e3d80176606139 b/tests/resources/crlf/.gitted/objects/cd/d3dacc5c0501d5ea57bbdf90e3d80176606139
new file mode 100644
index 000000000..72cf3b0fd
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/cd/d3dacc5c0501d5ea57bbdf90e3d80176606139
Binary files differ
diff --git a/tests/resources/crlf/.gitted/objects/d1/1e7ef63ba7db1db3b1b99cdbafc57a8549f8a4 b/tests/resources/crlf/.gitted/objects/d1/1e7ef63ba7db1db3b1b99cdbafc57a8549f8a4
new file mode 100644
index 000000000..05d88fc86
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/d1/1e7ef63ba7db1db3b1b99cdbafc57a8549f8a4
Binary files differ
diff --git a/tests/resources/crlf/.gitted/objects/de/5bfa165999d9d6c6dbafad2a7e709f93ec30fd b/tests/resources/crlf/.gitted/objects/de/5bfa165999d9d6c6dbafad2a7e709f93ec30fd
new file mode 100644
index 000000000..e288b975f
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/de/5bfa165999d9d6c6dbafad2a7e709f93ec30fd
Binary files differ
diff --git a/tests/resources/crlf/.gitted/objects/e5/062da7d7802cf492975eda580f09ac4876bd88 b/tests/resources/crlf/.gitted/objects/e5/062da7d7802cf492975eda580f09ac4876bd88
new file mode 100644
index 000000000..62835b9e1
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/e5/062da7d7802cf492975eda580f09ac4876bd88
@@ -0,0 +1 @@
+xQ1D)j'd2")xN,3x^AQj)UD`iJֻ>Fc:D&Rr.1#DǓ,HPϖ}9rPGŏ6 ~ a/ }IDx$kj&_֨GZכ›| ǸU \ No newline at end of file
diff --git a/tests/resources/crlf/.gitted/objects/f2/b745d7f47d114a3a6b31a7b628e61e804d1a58 b/tests/resources/crlf/.gitted/objects/f2/b745d7f47d114a3a6b31a7b628e61e804d1a58
new file mode 100644
index 000000000..7b2e7a116
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/f2/b745d7f47d114a3a6b31a7b628e61e804d1a58
Binary files differ
diff --git a/tests/resources/crlf/.gitted/objects/fe/ab3713c4659bb22700042b3c55b8d60d0a952b b/tests/resources/crlf/.gitted/objects/fe/ab3713c4659bb22700042b3c55b8d60d0a952b
new file mode 100644
index 000000000..8552c7bf7
--- /dev/null
+++ b/tests/resources/crlf/.gitted/objects/fe/ab3713c4659bb22700042b3c55b8d60d0a952b
Binary files differ
diff --git a/tests/resources/crlf/.gitted/refs/heads/master b/tests/resources/crlf/.gitted/refs/heads/master
index c150a9776..fe1d0aa03 100644
--- a/tests/resources/crlf/.gitted/refs/heads/master
+++ b/tests/resources/crlf/.gitted/refs/heads/master
@@ -1 +1 @@
-044bcd5c9bf5ebdd51e514a9a36457018f06f6e1
+5afb6a14a864e30787857dd92af837e8cdd2cb1b
diff --git a/tests/resources/crlf/.gitted/refs/heads/utf8 b/tests/resources/crlf/.gitted/refs/heads/utf8
deleted file mode 100644
index 30ab61cd3..000000000
--- a/tests/resources/crlf/.gitted/refs/heads/utf8
+++ /dev/null
@@ -1 +0,0 @@
-a234455d62297f1856c4603686150c59fcb0aafe
diff --git a/tests/resources/crlf_data/.gitattributes b/tests/resources/crlf_data/.gitattributes
new file mode 100644
index 000000000..23d9bdb29
--- /dev/null
+++ b/tests/resources/crlf_data/.gitattributes
@@ -0,0 +1 @@
+* binary
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,-text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,-text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/all-lf b/tests/resources/crlf_data/posix/autocrlf_false,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,-text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,-text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/more-crlf b/tests/resources/crlf_data/posix/autocrlf_false,-text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,-text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/more-lf b/tests/resources/crlf_data/posix/autocrlf_false,-text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,-text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/zero-byte b/tests/resources/crlf_data/posix/autocrlf_false,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,-text/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_false,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-lf
new file mode 100644
index 000000000..f557a02d8
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..381cfe630
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-crlf
new file mode 100644
index 000000000..e682c3077
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..2e1220cbb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-lf
new file mode 100644
index 000000000..6da5b0c7e
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..3fa59c809
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-lf b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-lf b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-lf
new file mode 100644
index 000000000..f557a02d8
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..381cfe630
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-crlf
new file mode 100644
index 000000000..e682c3077
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..2e1220cbb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-lf
new file mode 100644
index 000000000..6da5b0c7e
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..3fa59c809
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-lf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-lf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/all-lf b/tests/resources/crlf_data/posix/autocrlf_false,text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_false,text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/more-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/more-lf b/tests/resources/crlf_data/posix/autocrlf_false,text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/zero-byte b/tests/resources/crlf_data/posix/autocrlf_false,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-lf
new file mode 100644
index 000000000..f557a02d8
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..381cfe630
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-crlf
new file mode 100644
index 000000000..e682c3077
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..2e1220cbb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-lf
new file mode 100644
index 000000000..6da5b0c7e
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..3fa59c809
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/zero-byte b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/all-crlf b/tests/resources/crlf_data/posix/autocrlf_false/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/all-lf b/tests/resources/crlf_data/posix/autocrlf_false/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_false/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_false/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/more-crlf b/tests/resources/crlf_data/posix/autocrlf_false/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/more-lf b/tests/resources/crlf_data/posix/autocrlf_false/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/zero-byte b/tests/resources/crlf_data/posix/autocrlf_false/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_false/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,-text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,-text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/all-lf b/tests/resources/crlf_data/posix/autocrlf_input,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,-text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,-text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/more-crlf b/tests/resources/crlf_data/posix/autocrlf_input,-text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,-text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/more-lf b/tests/resources/crlf_data/posix/autocrlf_input,-text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,-text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/zero-byte b/tests/resources/crlf_data/posix/autocrlf_input,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,-text/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_input,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-lf
new file mode 100644
index 000000000..f557a02d8
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..381cfe630
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-crlf
new file mode 100644
index 000000000..e682c3077
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..2e1220cbb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-lf
new file mode 100644
index 000000000..6da5b0c7e
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..3fa59c809
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-lf b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-lf b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-lf
new file mode 100644
index 000000000..f557a02d8
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..381cfe630
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-crlf
new file mode 100644
index 000000000..e682c3077
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..2e1220cbb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-lf
new file mode 100644
index 000000000..6da5b0c7e
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..3fa59c809
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-lf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-lf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/all-lf b/tests/resources/crlf_data/posix/autocrlf_input,text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_input,text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/more-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/more-lf b/tests/resources/crlf_data/posix/autocrlf_input,text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/zero-byte b/tests/resources/crlf_data/posix/autocrlf_input,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-lf
new file mode 100644
index 000000000..f557a02d8
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..381cfe630
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-crlf
new file mode 100644
index 000000000..e682c3077
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..2e1220cbb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-lf
new file mode 100644
index 000000000..6da5b0c7e
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..3fa59c809
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/zero-byte b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/all-crlf b/tests/resources/crlf_data/posix/autocrlf_input/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/all-lf b/tests/resources/crlf_data/posix/autocrlf_input/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_input/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_input/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/more-crlf b/tests/resources/crlf_data/posix/autocrlf_input/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/more-lf b/tests/resources/crlf_data/posix/autocrlf_input/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/zero-byte b/tests/resources/crlf_data/posix/autocrlf_input/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_input/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,-text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,-text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/all-lf b/tests/resources/crlf_data/posix/autocrlf_true,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,-text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_true,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,-text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,-text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/more-crlf b/tests/resources/crlf_data/posix/autocrlf_true,-text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,-text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/more-lf b/tests/resources/crlf_data/posix/autocrlf_true,-text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,-text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/zero-byte b/tests/resources/crlf_data/posix/autocrlf_true,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,-text/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-lf
new file mode 100644
index 000000000..f557a02d8
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-lf-utf8bom
new file mode 100644
index 000000000..381cfe630
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,crlf/mixed-lf-cr
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-crlf
new file mode 100644
index 000000000..e682c3077
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..2e1220cbb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-lf
new file mode 100644
index 000000000..6da5b0c7e
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-lf-utf8bom
new file mode 100644
index 000000000..3fa59c809
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_true,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-lf
new file mode 100644
index 000000000..f557a02d8
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..381cfe630
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-crlf
new file mode 100644
index 000000000..e682c3077
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..2e1220cbb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-lf
new file mode 100644
index 000000000..6da5b0c7e
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..3fa59c809
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-lf b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-lf b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-lf
new file mode 100644
index 000000000..f557a02d8
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..381cfe630
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-crlf
new file mode 100644
index 000000000..e682c3077
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..2e1220cbb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-lf
new file mode 100644
index 000000000..6da5b0c7e
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..3fa59c809
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-lf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-lf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/all-lf b/tests/resources/crlf_data/posix/autocrlf_true,text/all-lf
new file mode 100644
index 000000000..f557a02d8
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text/all-lf-utf8bom
new file mode 100644
index 000000000..381cfe630
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_true,text/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,text/binary-mixed-lf-cr
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,text/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,text/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,text/mixed-lf-cr
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/more-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text/more-crlf
new file mode 100644
index 000000000..e682c3077
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text/more-crlf-utf8bom
new file mode 100644
index 000000000..2e1220cbb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/more-lf b/tests/resources/crlf_data/posix/autocrlf_true,text/more-lf
new file mode 100644
index 000000000..6da5b0c7e
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text/more-lf-utf8bom
new file mode 100644
index 000000000..3fa59c809
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/zero-byte b/tests/resources/crlf_data/posix/autocrlf_true,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-lf
new file mode 100644
index 000000000..f557a02d8
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..381cfe630
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-crlf
new file mode 100644
index 000000000..e682c3077
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..2e1220cbb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-lf
new file mode 100644
index 000000000..6da5b0c7e
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..3fa59c809
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-lf
new file mode 100644
index 000000000..f557a02d8
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-lf-utf8bom
new file mode 100644
index 000000000..381cfe630
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-crlf
new file mode 100644
index 000000000..e682c3077
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-crlf-utf8bom
new file mode 100644
index 000000000..2e1220cbb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-lf
new file mode 100644
index 000000000..6da5b0c7e
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-lf-utf8bom
new file mode 100644
index 000000000..3fa59c809
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/zero-byte b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/all-crlf b/tests/resources/crlf_data/posix/autocrlf_true/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/all-lf b/tests/resources/crlf_data/posix/autocrlf_true/all-lf
new file mode 100644
index 000000000..f557a02d8
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true/all-lf-utf8bom
new file mode 100644
index 000000000..381cfe630
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_true/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_true/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/more-crlf b/tests/resources/crlf_data/posix/autocrlf_true/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/more-lf b/tests/resources/crlf_data/posix/autocrlf_true/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/zero-byte b/tests/resources/crlf_data/posix/autocrlf_true/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/posix/autocrlf_true/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,-text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,-text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/all-lf b/tests/resources/crlf_data/windows/autocrlf_false,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,-text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_false,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_false,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,-text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,-text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_false,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/more-crlf b/tests/resources/crlf_data/windows/autocrlf_false,-text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,-text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/more-lf b/tests/resources/crlf_data/windows/autocrlf_false,-text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,-text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/zero-byte b/tests/resources/crlf_data/windows/autocrlf_false,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,-text/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-lf
new file mode 100644
index 000000000..f557a02d8
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-lf-utf8bom
new file mode 100644
index 000000000..381cfe630
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,crlf/mixed-lf-cr
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_false,crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-crlf
new file mode 100644
index 000000000..e682c3077
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..2e1220cbb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-lf
new file mode 100644
index 000000000..6da5b0c7e
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-lf-utf8bom
new file mode 100644
index 000000000..3fa59c809
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_false,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-lf
new file mode 100644
index 000000000..f557a02d8
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..381cfe630
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-crlf
new file mode 100644
index 000000000..e682c3077
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..2e1220cbb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-lf
new file mode 100644
index 000000000..6da5b0c7e
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..3fa59c809
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-lf b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-lf b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-lf
new file mode 100644
index 000000000..f557a02d8
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..381cfe630
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-crlf
new file mode 100644
index 000000000..e682c3077
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..2e1220cbb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-lf
new file mode 100644
index 000000000..6da5b0c7e
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..3fa59c809
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-lf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-lf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/all-lf b/tests/resources/crlf_data/windows/autocrlf_false,text/all-lf
new file mode 100644
index 000000000..f557a02d8
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text/all-lf-utf8bom
new file mode 100644
index 000000000..381cfe630
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_false,text/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,text/binary-mixed-lf-cr
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,text/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,text/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,text/mixed-lf-cr
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/more-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text/more-crlf
new file mode 100644
index 000000000..e682c3077
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text/more-crlf-utf8bom
new file mode 100644
index 000000000..2e1220cbb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/more-lf b/tests/resources/crlf_data/windows/autocrlf_false,text/more-lf
new file mode 100644
index 000000000..6da5b0c7e
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text/more-lf-utf8bom
new file mode 100644
index 000000000..3fa59c809
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/zero-byte b/tests/resources/crlf_data/windows/autocrlf_false,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-lf
new file mode 100644
index 000000000..f557a02d8
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..381cfe630
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-crlf
new file mode 100644
index 000000000..e682c3077
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..2e1220cbb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-lf
new file mode 100644
index 000000000..6da5b0c7e
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..3fa59c809
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-lf
new file mode 100644
index 000000000..f557a02d8
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-lf-utf8bom
new file mode 100644
index 000000000..381cfe630
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-crlf
new file mode 100644
index 000000000..e682c3077
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-crlf-utf8bom
new file mode 100644
index 000000000..2e1220cbb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-lf
new file mode 100644
index 000000000..6da5b0c7e
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-lf-utf8bom
new file mode 100644
index 000000000..3fa59c809
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/zero-byte b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/all-crlf b/tests/resources/crlf_data/windows/autocrlf_false/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/all-lf b/tests/resources/crlf_data/windows/autocrlf_false/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_false/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_false/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_false/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_false/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/more-crlf b/tests/resources/crlf_data/windows/autocrlf_false/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/more-lf b/tests/resources/crlf_data/windows/autocrlf_false/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/zero-byte b/tests/resources/crlf_data/windows/autocrlf_false/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_false/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,-text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,-text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/all-lf b/tests/resources/crlf_data/windows/autocrlf_input,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,-text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_input,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_input,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input,-text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input,-text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_input,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/more-crlf b/tests/resources/crlf_data/windows/autocrlf_input,-text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,-text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/more-lf b/tests/resources/crlf_data/windows/autocrlf_input,-text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,-text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/zero-byte b/tests/resources/crlf_data/windows/autocrlf_input,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,-text/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input,crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input,crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_input,crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_input,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-lf
new file mode 100644
index 000000000..f557a02d8
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..381cfe630
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-crlf
new file mode 100644
index 000000000..e682c3077
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..2e1220cbb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-lf
new file mode 100644
index 000000000..6da5b0c7e
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..3fa59c809
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-lf b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-lf b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-lf
new file mode 100644
index 000000000..f557a02d8
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..381cfe630
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-crlf
new file mode 100644
index 000000000..e682c3077
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..2e1220cbb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-lf
new file mode 100644
index 000000000..6da5b0c7e
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..3fa59c809
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-lf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-lf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/all-lf b/tests/resources/crlf_data/windows/autocrlf_input,text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_input,text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/more-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/more-lf b/tests/resources/crlf_data/windows/autocrlf_input,text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/zero-byte b/tests/resources/crlf_data/windows/autocrlf_input,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-lf
new file mode 100644
index 000000000..f557a02d8
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..381cfe630
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-crlf
new file mode 100644
index 000000000..e682c3077
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..2e1220cbb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-lf
new file mode 100644
index 000000000..6da5b0c7e
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..3fa59c809
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/zero-byte b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/all-crlf b/tests/resources/crlf_data/windows/autocrlf_input/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/all-lf b/tests/resources/crlf_data/windows/autocrlf_input/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_input/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_input/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_input/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_input/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/more-crlf b/tests/resources/crlf_data/windows/autocrlf_input/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/more-lf b/tests/resources/crlf_data/windows/autocrlf_input/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/zero-byte b/tests/resources/crlf_data/windows/autocrlf_input/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_input/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,-text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,-text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/all-lf b/tests/resources/crlf_data/windows/autocrlf_true,-text/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,-text/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,-text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_true,-text/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,-text/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,-text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true,-text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,-text/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true,-text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,-text/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,-text/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,-text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/more-crlf b/tests/resources/crlf_data/windows/autocrlf_true,-text/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,-text/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/more-lf b/tests/resources/crlf_data/windows/autocrlf_true,-text/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,-text/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/zero-byte b/tests/resources/crlf_data/windows/autocrlf_true,-text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,-text/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-lf
new file mode 100644
index 000000000..f557a02d8
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-lf-utf8bom
new file mode 100644
index 000000000..381cfe630
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true,crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true,crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,crlf/mixed-lf-cr
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-crlf
new file mode 100644
index 000000000..e682c3077
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..2e1220cbb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-lf
new file mode 100644
index 000000000..6da5b0c7e
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-lf-utf8bom
new file mode 100644
index 000000000..3fa59c809
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_true,crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-lf
new file mode 100644
index 000000000..f557a02d8
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..381cfe630
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-crlf
new file mode 100644
index 000000000..e682c3077
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..2e1220cbb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-lf
new file mode 100644
index 000000000..6da5b0c7e
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..3fa59c809
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-lf b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-lf b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-lf
new file mode 100644
index 000000000..f557a02d8
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..381cfe630
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-crlf
new file mode 100644
index 000000000..e682c3077
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..2e1220cbb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-lf
new file mode 100644
index 000000000..6da5b0c7e
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..3fa59c809
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-lf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-lf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/all-lf b/tests/resources/crlf_data/windows/autocrlf_true,text/all-lf
new file mode 100644
index 000000000..f557a02d8
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text/all-lf-utf8bom
new file mode 100644
index 000000000..381cfe630
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_true,text/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,text/binary-mixed-lf-cr
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,text/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,text/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,text/mixed-lf-cr
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text/mixed-lf-cr-crlf
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/more-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text/more-crlf
new file mode 100644
index 000000000..e682c3077
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text/more-crlf-utf8bom
new file mode 100644
index 000000000..2e1220cbb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/more-lf b/tests/resources/crlf_data/windows/autocrlf_true,text/more-lf
new file mode 100644
index 000000000..6da5b0c7e
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text/more-lf-utf8bom
new file mode 100644
index 000000000..3fa59c809
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/zero-byte b/tests/resources/crlf_data/windows/autocrlf_true,text/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-lf
new file mode 100644
index 000000000..f557a02d8
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom
new file mode 100644
index 000000000..381cfe630
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-all-lf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..fd2abfa9d
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..df8c0f680
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-crlf
new file mode 100644
index 000000000..e682c3077
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom
new file mode 100644
index 000000000..2e1220cbb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-lf
new file mode 100644
index 000000000..6da5b0c7e
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom
new file mode 100644
index 000000000..3fa59c809
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-lf
new file mode 100644
index 000000000..799770d1c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644
index 000000000..7cce67e58
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf
new file mode 100644
index 000000000..f4d25b796
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf
new file mode 100644
index 000000000..9a6c3533f
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-lf
new file mode 100644
index 000000000..f557a02d8
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-lf-utf8bom
new file mode 100644
index 000000000..381cfe630
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-crlf
new file mode 100644
index 000000000..e682c3077
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-crlf-utf8bom
new file mode 100644
index 000000000..2e1220cbb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-lf
new file mode 100644
index 000000000..6da5b0c7e
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-lf-utf8bom
new file mode 100644
index 000000000..3fa59c809
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/zero-byte b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/zero-byte
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/all-crlf b/tests/resources/crlf_data/windows/autocrlf_true/all-crlf
new file mode 100644
index 000000000..a9a2e8913
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true/all-crlf
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true/all-crlf-utf8bom
new file mode 100644
index 000000000..0aa76e474
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true/all-crlf-utf8bom
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/all-lf b/tests/resources/crlf_data/windows/autocrlf_true/all-lf
new file mode 100644
index 000000000..f557a02d8
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true/all-lf
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true/all-lf-utf8bom
new file mode 100644
index 000000000..381cfe630
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true/all-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_true/binary-all-crlf
new file mode 100644
index 000000000..85340755c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true/binary-all-crlf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_true/binary-all-lf
new file mode 100644
index 000000000..af6fcf6da
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true/binary-all-lf
@@ -0,0 +1,4 @@
+one
+two
+three
+four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true/binary-mixed-lf-cr
new file mode 100644
index 000000000..203555c56
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true/binary-mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true/binary-mixed-lf-cr-crlf
new file mode 100644
index 000000000..aaf083a9c
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true/binary-mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true/few-utf8-chars-crlf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true/few-utf8-chars-crlf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true/few-utf8-chars-lf
new file mode 100644
index 000000000..0e0528888
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true/few-utf8-chars-lf
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true/many-utf8-chars-crlf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true/many-utf8-chars-crlf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true/many-utf8-chars-lf
new file mode 100644
index 000000000..cd574f5a2
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true/many-utf8-chars-lf
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true/mixed-lf-cr
new file mode 100644
index 000000000..d11e7ef63
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true/mixed-lf-cr
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true/mixed-lf-cr-crlf
new file mode 100644
index 000000000..417786fc3
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true/mixed-lf-cr-crlf
@@ -0,0 +1,3 @@
+one
+two three
+four \ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/more-crlf b/tests/resources/crlf_data/windows/autocrlf_true/more-crlf
new file mode 100644
index 000000000..0ff5a53f1
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true/more-crlf
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true/more-crlf-utf8bom
new file mode 100644
index 000000000..ea030d3c6
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true/more-crlf-utf8bom
@@ -0,0 +1,5 @@
+crlf
+crlf
+lf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/more-lf b/tests/resources/crlf_data/windows/autocrlf_true/more-lf
new file mode 100644
index 000000000..04de00b35
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true/more-lf
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true/more-lf-utf8bom
new file mode 100644
index 000000000..dc88e3b91
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true/more-lf-utf8bom
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/zero-byte b/tests/resources/crlf_data/windows/autocrlf_true/zero-byte
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/resources/crlf_data/windows/autocrlf_true/zero-byte