@@ -21698,8 +21698,10 @@ test(2341.03, fread('a,b#line-trailing comment and no whitespace
21698216981,2', comment.char='#'), data.table(a=1L, b=2L))
2169921699test(2341.04, fread('a,b
21700217001,2 #trailing after numeric', comment.char='#'), data.table(a=1L, b=2L))
21701+ # comment char inside quotes
2170121702test(2341.05, fread('a
2170221703"#quotes#"', comment.char="#"), data.table(a="#quotes#"))
21704+ # multi line comments
2170321705test(2341.06, fread('# multi line
2170421706# comment
21705217071,2
@@ -21711,21 +21713,48 @@ test(2341.07, fread('id;value
21711217131;2,5! trailing comment
21712217142;NA
2171321715!final comment', sep=';', dec=',', na.strings='NA', comment.char='!'), data.table(id=1:2, value=c(2.5, NA_real_)))
21716+ # skip
2171421717test(2341.08, fread('meta line
2171521718DATA STARTS
2171621719x,y
2171721720# skip this
21718- 1,2', header=TRUE, skip="DATA", comment.char='#'), data.table(x=1L, y=2L))
21719- test(2341.09, fread('value
21721+ 1,2', skip="DATA", header=TRUE, comment.char='#'), data.table(x=1L, y=2L))
21722+ # weird comment chars like space or quote
21723+ test(2341.09, fread('a
2172021724 inline comment
21721- 5 ', comment.char=' '), data.table(value=5L ))
21725+ 1 ', comment.char=' '), data.table(a=1L ))
2172221726test(2341.10, fread('a,b
21723217271,2" trailing"
2172421728"comment line"
21725217293,4', comment.char='"', quote=""), data.table(a=c(1L,3L), b=c(2L,4L)))
21730+ # invalid comment chars
2172621731test(2341.11, fread('a,b
2172721732## multichar commentchar
21728217331,2', comment.char = '##'), error = "comment.char= must be a single non-NA character")
2172921734test(2341.12, fread('a,b
2173021735NA,NA
21731217361,2', comment.char = NA), error = "comment.char= must be a single non-NA character")
21737+ # CLRF
21738+ test(2341.13, fread('a,b\r\n# cmt\r\n1,2\r\n3,4\r\n', comment.char='#'), data.table(a=c(1L,3L), b=c(2L,4L)))
21739+ # header comment
21740+ test(2341.14, fread('# hdr cmt
21741+ x,y
21742+ 1,2', header=TRUE, comment.char='#'), data.table(x=1L, y=2L))
21743+ # nrow not counting comments
21744+ test(2341.15, fread('a,b
21745+ 1,2
21746+ # cmt
21747+ 3,4
21748+ 5,6', nrows=2, comment.char='#'), data.table(a=c(1L,3L), b=c(2L,4L)))
21749+ # sep and comment char same
21750+ test(2341.19, fread('a#b
21751+ 1#2
21752+ # only comment', sep="#", comment.char="#"), data.table(a=1L))
21753+ # na.strings
21754+ test(2341.20, fread('v
21755+ #NA
21756+ 1
21757+ # comment', na.strings="#NA", comment.char='#'), data.table(v=1L))
21758+ test(2341.29, fread('a,b
21759+ "p#q",2 # tail
21760+ "r#s",3', comment.char='#'), data.table(a=c("p#q","r#s"), b=c(2L,3L)))
0 commit comments