From 219561b43b1477f1066d7c3715c9cb9b43e51162 Mon Sep 17 00:00:00 2001 From: Looly Date: Mon, 14 Feb 2022 01:57:05 +0800 Subject: [PATCH] add comment --- .../cn/hutool/core/text/csv/package-info.java | 5 +++-- .../cn/hutool/core/date/DateUtilTest.java | 8 ++++---- .../hutool/core/text/csv/CsvParserTest.java | 20 +++++++++++++++---- 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/text/csv/package-info.java b/hutool-core/src/main/java/cn/hutool/core/text/csv/package-info.java index bc6af864b..7863d5c06 100644 --- a/hutool-core/src/main/java/cn/hutool/core/text/csv/package-info.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/csv/package-info.java @@ -1,7 +1,8 @@ /** - * 提供CSV文件读写的封装,入口为CsvUtil + * 提供CSV文件读写的封装,入口为CsvUtil
+ * 规范见:https://datatracker.ietf.org/doc/html/rfc4180 * * @author looly * */ -package cn.hutool.core.text.csv; \ No newline at end of file +package cn.hutool.core.text.csv; diff --git a/hutool-core/src/test/java/cn/hutool/core/date/DateUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/date/DateUtilTest.java index 1e65175fb..8b9dd7500 100644 --- a/hutool-core/src/test/java/cn/hutool/core/date/DateUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/date/DateUtilTest.java @@ -3,7 +3,6 @@ package cn.hutool.core.date; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.BetweenFormatter.Level; import cn.hutool.core.date.format.FastDateFormat; -import cn.hutool.core.lang.Console; import cn.hutool.core.util.RandomUtil; import org.junit.Assert; import org.junit.Test; @@ -692,7 +691,6 @@ public class DateUtilTest { @Test public void parseCSTTest() { String dateStr = "Wed Sep 16 11:26:23 CST 2009"; - Console.log(TimeZone.getDefault().getDisplayName()); SimpleDateFormat sdf = new SimpleDateFormat(DatePattern.JDK_DATETIME_PATTERN, Locale.US); // Asia/Shanghai是以地区命名的地区标准时,在中国叫CST,因此如果解析CST时不使用"Asia/Shanghai"而使用"GMT+08:00",会导致相差一个小时 @@ -995,11 +993,13 @@ public class DateUtilTest { @Test public void parseSingleMonthAndDayTest() { - final DateTime parse = DateUtil.parse("2021-1-1"); + DateTime parse = DateUtil.parse("2021-1-1"); Assert.assertNotNull(parse); Assert.assertEquals("2021-01-01 00:00:00", parse.toString()); - Console.log(DateUtil.parse("2021-1-22 00:00:00")); + parse = DateUtil.parse("2021-1-22 00:00:00"); + Assert.assertNotNull(parse); + Assert.assertEquals("2021-01-22 00:00:00", parse.toString()); } @Test diff --git a/hutool-core/src/test/java/cn/hutool/core/text/csv/CsvParserTest.java b/hutool-core/src/test/java/cn/hutool/core/text/csv/CsvParserTest.java index e1a27b206..e8fc851e8 100644 --- a/hutool-core/src/test/java/cn/hutool/core/text/csv/CsvParserTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/text/csv/CsvParserTest.java @@ -8,7 +8,7 @@ import org.junit.Test; import java.io.StringReader; public class CsvParserTest { - + @Test public void parseTest1() { StringReader reader = StrUtil.getReader("aaa,b\"bba\",ccc"); @@ -18,7 +18,7 @@ public class CsvParserTest { Assert.assertEquals("b\"bba\"", row.getRawList().get(1)); IoUtil.close(parser); } - + @Test public void parseTest2() { StringReader reader = StrUtil.getReader("aaa,\"bba\"bbb,ccc"); @@ -28,7 +28,7 @@ public class CsvParserTest { Assert.assertEquals("\"bba\"bbb", row.getRawList().get(1)); IoUtil.close(parser); } - + @Test public void parseTest3() { StringReader reader = StrUtil.getReader("aaa,\"bba\",ccc"); @@ -38,7 +38,7 @@ public class CsvParserTest { Assert.assertEquals("bba", row.getRawList().get(1)); IoUtil.close(parser); } - + @Test public void parseTest4() { StringReader reader = StrUtil.getReader("aaa,\"\",ccc"); @@ -48,4 +48,16 @@ public class CsvParserTest { Assert.assertEquals("", row.getRawList().get(1)); IoUtil.close(parser); } + + @Test + public void parseEscapeTest(){ + // https://datatracker.ietf.org/doc/html/rfc4180#section-2 + // 第七条规则 + StringReader reader = StrUtil.getReader("\"b\"\"bb\""); + CsvParser parser = new CsvParser(reader, null); + CsvRow row = parser.nextRow(); + Assert.assertNotNull(row); + Assert.assertEquals(1, row.size()); + Assert.assertEquals("b\"bb", row.get(0)); + } }