[OpenWrt-Devel] [PATCH 4/4] Add test coverage for multi-line option value.
Yousong Zhou
yszhou4tech at gmail.com
Thu Nov 6 15:21:48 EST 2014
Signed-off-by: Yousong Zhou <yszhou4tech at gmail.com>
---
test/references/add_section.result | 2 +-
test/references/export.data | 7 ++++++-
test/references/export.result | 5 +++++
test/references/get_multiline.data | 5 +++++
test/references/import.data | 7 ++++++-
test/references/import.result | 5 +++++
test/references/set_existing_option.result | 2 +-
test/references/set_existing_option_multiline.result | 2 ++
test/references/set_named_section.result | 2 +-
test/references/set_nonexisting_option.result | 2 +-
.../references/set_nonexisting_option_multiline.result | 2 ++
test/references/set_parsing_multiline.data | 2 ++
test/tests.d/020_get | 9 +++++++++
test/tests.d/030_set | 16 ++++++++++++++++
14 files changed, 62 insertions(+), 6 deletions(-)
create mode 100644 test/references/get_multiline.data
create mode 100644 test/references/set_existing_option_multiline.result
create mode 100644 test/references/set_nonexisting_option_multiline.result
create mode 100644 test/references/set_parsing_multiline.data
diff --git a/test/references/add_section.result b/test/references/add_section.result
index c7daab6..37e0e7d 100644
--- a/test/references/add_section.result
+++ b/test/references/add_section.result
@@ -1 +1 @@
-+add.section=type
++add.section='type'
diff --git a/test/references/export.data b/test/references/export.data
index c7e4d39..9e4d3c9 100644
--- a/test/references/export.data
+++ b/test/references/export.data
@@ -3,4 +3,9 @@ config 'type' 'section'
option 'opt' 'val'
list 'list_opt' 'val0'
list 'list_opt' 'val1'
-
+ option mul_line_opt_sq 'line 1
+line 2 \
+line 3'
+ option mul_line_opt_dq "\"Hello\, \
+World.\'
+"
diff --git a/test/references/export.result b/test/references/export.result
index bc06655..2fa5b48 100644
--- a/test/references/export.result
+++ b/test/references/export.result
@@ -4,4 +4,9 @@ config type 'section'
option opt 'val'
list list_opt 'val0'
list list_opt 'val1'
+ option mul_line_opt_sq 'line 1
+line 2 \
+line 3'
+ option mul_line_opt_dq '"Hello, World.'\''
+'
diff --git a/test/references/get_multiline.data b/test/references/get_multiline.data
new file mode 100644
index 0000000..bacb804
--- /dev/null
+++ b/test/references/get_multiline.data
@@ -0,0 +1,5 @@
+config 'type' 'section'
+ # Cannot preserve trailling whitespace with assertEquals.
+ option opt "\"Hello, \
+World.
+\'"
diff --git a/test/references/import.data b/test/references/import.data
index 6a9b737..a7a21ef 100644
--- a/test/references/import.data
+++ b/test/references/import.data
@@ -4,4 +4,9 @@ config 'type' 'section'
option 'opt' 'val'
list 'list_opt' 'val0'
list 'list_opt' 'val1'
-
+ option mul_line_opt_sq \''line 1
+line 2 \
+line 3'\'
+ option mul_line_opt_dq "\"Hello, \
+World.\'
+"
diff --git a/test/references/import.result b/test/references/import.result
index 47704b8..56eb96f 100644
--- a/test/references/import.result
+++ b/test/references/import.result
@@ -3,4 +3,9 @@ config type 'section'
option opt 'val'
list list_opt 'val0'
list list_opt 'val1'
+ option mul_line_opt_sq ''\''line 1
+line 2 \
+line 3'\'''
+ option mul_line_opt_dq '"Hello, World.'\''
+'
diff --git a/test/references/set_existing_option.result b/test/references/set_existing_option.result
index c88deea..902cff3 100644
--- a/test/references/set_existing_option.result
+++ b/test/references/set_existing_option.result
@@ -1 +1 @@
-set.section.opt=val
+set.section.opt='val'
diff --git a/test/references/set_existing_option_multiline.result b/test/references/set_existing_option_multiline.result
new file mode 100644
index 0000000..85e1ada
--- /dev/null
+++ b/test/references/set_existing_option_multiline.result
@@ -0,0 +1,2 @@
+set.section.opt='Hello,\'\''
+World"'
diff --git a/test/references/set_named_section.result b/test/references/set_named_section.result
index 2a4145b..4ee5c2e 100644
--- a/test/references/set_named_section.result
+++ b/test/references/set_named_section.result
@@ -1 +1 @@
-set.section=named
+set.section='named'
diff --git a/test/references/set_nonexisting_option.result b/test/references/set_nonexisting_option.result
index c88deea..902cff3 100644
--- a/test/references/set_nonexisting_option.result
+++ b/test/references/set_nonexisting_option.result
@@ -1 +1 @@
-set.section.opt=val
+set.section.opt='val'
diff --git a/test/references/set_nonexisting_option_multiline.result b/test/references/set_nonexisting_option_multiline.result
new file mode 100644
index 0000000..85e1ada
--- /dev/null
+++ b/test/references/set_nonexisting_option_multiline.result
@@ -0,0 +1,2 @@
+set.section.opt='Hello,\'\''
+World"'
diff --git a/test/references/set_parsing_multiline.data b/test/references/set_parsing_multiline.data
new file mode 100644
index 0000000..82b7231
--- /dev/null
+++ b/test/references/set_parsing_multiline.data
@@ -0,0 +1,2 @@
+config 'type' 'section'
+ option 'opt' 'val'
diff --git a/test/tests.d/020_get b/test/tests.d/020_get
index ad19264..7fd30ba 100644
--- a/test/tests.d/020_get
+++ b/test/tests.d/020_get
@@ -31,6 +31,15 @@ test_get_option()
assertEquals 'val' "$value"
}
+test_get_option_multiline()
+{
+ cp ${REF_DIR}/get_multiline.data ${CONFIG_DIR}/test
+ value="$($UCI get test.section.opt)"
+ echo "$value"
+ assertEquals '"Hello, World.
+'\''' "$value"
+}
+
test_get_section()
{
cp ${REF_DIR}/get.data ${CONFIG_DIR}/test
diff --git a/test/tests.d/030_set b/test/tests.d/030_set
index 9d2ff4b..db3c259 100644
--- a/test/tests.d/030_set
+++ b/test/tests.d/030_set
@@ -22,9 +22,25 @@ test_set_nonexisting_option()
assertSameFile ${REF_DIR}/set_nonexisting_option.result ${CHANGES_DIR}/set
}
+test_set_nonexisting_option_multiline()
+{
+ cp ${REF_DIR}/set_nonexisting_option.data ${CONFIG_DIR}/set
+ ${UCI} set set.section.opt="Hello,\'
+World\""
+ assertSameFile ${REF_DIR}/set_nonexisting_option_multiline.result ${CHANGES_DIR}/set
+}
+
test_set_existing_option()
{
cp ${REF_DIR}/set_existing_option.data ${CONFIG_DIR}/set
${UCI} set set.section.opt=val
assertSameFile ${REF_DIR}/set_existing_option.result ${CHANGES_DIR}/set
}
+
+test_set_existing_option_multiline()
+{
+ cp ${REF_DIR}/set_existing_option.data ${CONFIG_DIR}/set
+ ${UCI} set set.section.opt="Hello,\'
+World\""
+ assertSameFile ${REF_DIR}/set_existing_option_multiline.result ${CHANGES_DIR}/set
+}
--
1.7.10.4
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list