MCPcopy Create free account
hub / github.com/apache/arrow-rs / test_non_std_quote

Function test_non_std_quote

arrow-csv/src/reader/mod.rs:2228–2257  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

2226
2227 #[test]
2228 fn test_non_std_quote() {
2229 let schema = Schema::new(vec![
2230 Field::new("text1", DataType::Utf8, false),
2231 Field::new("text2", DataType::Utf8, false),
2232 ]);
2233 let builder = ReaderBuilder::new(Arc::new(schema))
2234 .with_header(false)
2235 .with_quote(b'~'); // default is ", change to ~
2236
2237 let mut csv_text = Vec::new();
2238 let mut csv_writer = std::io::Cursor::new(&mut csv_text);
2239 for index in 0..10 {
2240 let text1 = format!("id{index:}");
2241 let text2 = format!("value{index:}");
2242 csv_writer
2243 .write_fmt(format_args!("~{text1}~,~{text2}~\r\n"))
2244 .unwrap();
2245 }
2246 let mut csv_reader = std::io::Cursor::new(&csv_text);
2247 let mut reader = builder.build(&mut csv_reader).unwrap();
2248 let batch = reader.next().unwrap().unwrap();
2249 let col0 = batch.column(0);
2250 assert_eq!(col0.len(), 10);
2251 let col0_arr = col0.as_any().downcast_ref::<StringArray>().unwrap();
2252 assert_eq!(col0_arr.value(0), "id0");
2253 let col1 = batch.column(1);
2254 assert_eq!(col1.len(), 10);
2255 let col1_arr = col1.as_any().downcast_ref::<StringArray>().unwrap();
2256 assert_eq!(col1_arr.value(5), "value5");
2257 }
2258
2259 #[test]
2260 fn test_non_std_escape() {

Callers

nothing calls this directly

Calls 6

with_quoteMethod · 0.45
with_headerMethod · 0.45
buildMethod · 0.45
nextMethod · 0.45
columnMethod · 0.45
as_anyMethod · 0.45

Tested by

no test coverage detected