It should parse as:
[
["x","\"x\"","","x\nx","x"],
["y","","","",123]
]
It's valid CSV, inasmuch as it's accepted and generated by a lot of tools and RFC 4180 ABNF: escaped = DQUOTE *(TEXTDATA / COMMA / CR / LF / 2DQUOTE) DQUOTE