summaryrefslogtreecommitdiff
path: root/test/normal
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2017-12-02 17:09:23 +0800
committerMaxime Coste <mawww@kakoune.org>2017-12-03 17:12:33 +0800
commitc8f5935c48bcafc9f44998b4f6389edc62b4913e (patch)
treeb4b4c968fd4da33aaa0a9bc8c5e55cbdf6e9bb1d /test/normal
parent13711485880fa685610325e7c043d24da4169b5c (diff)
test/: Add more tests for object selection corner cases
Diffstat (limited to 'test/normal')
-rw-r--r--test/normal/object/around-parent/angle/cmd1
-rw-r--r--test/normal/object/around-parent/angle/in1
-rw-r--r--test/normal/object/around-parent/angle/selections1
-rw-r--r--test/normal/object/around-parent/braces/cmd1
-rw-r--r--test/normal/object/around-parent/braces/in3
-rw-r--r--test/normal/object/around-parent/braces/selections3
-rw-r--r--test/normal/object/around-parent/brackets/cmd1
-rw-r--r--test/normal/object/around-parent/brackets/in3
-rw-r--r--test/normal/object/around-parent/brackets/selections3
-rw-r--r--test/normal/object/around-parent/parenthesis/cmd1
-rw-r--r--test/normal/object/around-parent/parenthesis/in1
-rw-r--r--test/normal/object/around-parent/parenthesis/selections1
-rw-r--r--test/normal/object/on-end/around/angle/cmd1
-rw-r--r--test/normal/object/on-end/around/angle/in1
-rw-r--r--test/normal/object/on-end/around/angle/selections1
-rw-r--r--test/normal/object/on-end/around/braces/cmd1
-rw-r--r--test/normal/object/on-end/around/braces/in3
-rw-r--r--test/normal/object/on-end/around/braces/selections3
-rw-r--r--test/normal/object/on-end/around/brackets/cmd1
-rw-r--r--test/normal/object/on-end/around/brackets/in3
-rw-r--r--test/normal/object/on-end/around/brackets/selections3
-rw-r--r--test/normal/object/on-end/around/parenthesis/cmd1
-rw-r--r--test/normal/object/on-end/around/parenthesis/in1
-rw-r--r--test/normal/object/on-end/around/parenthesis/selections1
-rw-r--r--test/normal/object/on-end/inner/angle/cmd1
-rw-r--r--test/normal/object/on-end/inner/angle/in1
-rw-r--r--test/normal/object/on-end/inner/angle/selections1
-rw-r--r--test/normal/object/on-end/inner/braces/cmd1
-rw-r--r--test/normal/object/on-end/inner/braces/in3
-rw-r--r--test/normal/object/on-end/inner/braces/selections3
-rw-r--r--test/normal/object/on-end/inner/brackets/cmd1
-rw-r--r--test/normal/object/on-end/inner/brackets/in3
-rw-r--r--test/normal/object/on-end/inner/brackets/selections3
-rw-r--r--test/normal/object/on-end/inner/parenthesis/cmd1
-rw-r--r--test/normal/object/on-end/inner/parenthesis/in1
-rw-r--r--test/normal/object/on-end/inner/parenthesis/selections1
-rw-r--r--test/normal/object/on-end/to-end/angle/cmd1
-rw-r--r--test/normal/object/on-end/to-end/angle/in1
-rw-r--r--test/normal/object/on-end/to-end/angle/selections1
-rw-r--r--test/normal/object/on-end/to-end/braces/cmd1
-rw-r--r--test/normal/object/on-end/to-end/braces/in3
-rw-r--r--test/normal/object/on-end/to-end/braces/selections2
-rw-r--r--test/normal/object/on-end/to-end/brackets/cmd1
-rw-r--r--test/normal/object/on-end/to-end/brackets/in3
-rw-r--r--test/normal/object/on-end/to-end/brackets/selections2
-rw-r--r--test/normal/object/on-end/to-end/parenthesis/cmd1
-rw-r--r--test/normal/object/on-end/to-end/parenthesis/in1
-rw-r--r--test/normal/object/on-end/to-end/parenthesis/selections1
-rw-r--r--test/normal/object/on-start/around/angle/cmd1
-rw-r--r--test/normal/object/on-start/around/angle/in1
-rw-r--r--test/normal/object/on-start/around/angle/selections1
-rw-r--r--test/normal/object/on-start/around/braces/cmd1
-rw-r--r--test/normal/object/on-start/around/braces/in3
-rw-r--r--test/normal/object/on-start/around/braces/selections3
-rw-r--r--test/normal/object/on-start/around/brackets/cmd1
-rw-r--r--test/normal/object/on-start/around/brackets/in3
-rw-r--r--test/normal/object/on-start/around/brackets/selections3
-rw-r--r--test/normal/object/on-start/around/double_quote/cmd1
-rw-r--r--test/normal/object/on-start/around/double_quote/in1
-rw-r--r--test/normal/object/on-start/around/double_quote/selections1
-rw-r--r--test/normal/object/on-start/around/grave_quote/cmd1
-rw-r--r--test/normal/object/on-start/around/grave_quote/in1
-rw-r--r--test/normal/object/on-start/around/grave_quote/selections1
-rw-r--r--test/normal/object/on-start/around/parenthesis/cmd1
-rw-r--r--test/normal/object/on-start/around/parenthesis/in1
-rw-r--r--test/normal/object/on-start/around/parenthesis/selections1
-rw-r--r--test/normal/object/on-start/around/single_quote/cmd1
-rw-r--r--test/normal/object/on-start/around/single_quote/in1
-rw-r--r--test/normal/object/on-start/around/single_quote/selections1
-rw-r--r--test/normal/object/on-start/around/slash/cmd1
-rw-r--r--test/normal/object/on-start/around/slash/in1
-rw-r--r--test/normal/object/on-start/around/slash/selections1
-rw-r--r--test/normal/object/on-start/inner/angle/cmd1
-rw-r--r--test/normal/object/on-start/inner/angle/in1
-rw-r--r--test/normal/object/on-start/inner/angle/selections1
-rw-r--r--test/normal/object/on-start/inner/braces/cmd1
-rw-r--r--test/normal/object/on-start/inner/braces/in3
-rw-r--r--test/normal/object/on-start/inner/braces/selections3
-rw-r--r--test/normal/object/on-start/inner/brackets/cmd1
-rw-r--r--test/normal/object/on-start/inner/brackets/in3
-rw-r--r--test/normal/object/on-start/inner/brackets/selections3
-rw-r--r--test/normal/object/on-start/inner/double_quote/cmd1
-rw-r--r--test/normal/object/on-start/inner/double_quote/in1
-rw-r--r--test/normal/object/on-start/inner/double_quote/selections1
-rw-r--r--test/normal/object/on-start/inner/grave_quote/cmd1
-rw-r--r--test/normal/object/on-start/inner/grave_quote/in1
-rw-r--r--test/normal/object/on-start/inner/grave_quote/selections1
-rw-r--r--test/normal/object/on-start/inner/parenthesis/cmd1
-rw-r--r--test/normal/object/on-start/inner/parenthesis/in1
-rw-r--r--test/normal/object/on-start/inner/parenthesis/selections1
-rw-r--r--test/normal/object/on-start/inner/single_quote/cmd1
-rw-r--r--test/normal/object/on-start/inner/single_quote/in1
-rw-r--r--test/normal/object/on-start/inner/single_quote/selections1
-rw-r--r--test/normal/object/on-start/to-start/angle/cmd1
-rw-r--r--test/normal/object/on-start/to-start/angle/in1
-rw-r--r--test/normal/object/on-start/to-start/angle/selections1
-rw-r--r--test/normal/object/on-start/to-start/braces/cmd1
-rw-r--r--test/normal/object/on-start/to-start/braces/in3
-rw-r--r--test/normal/object/on-start/to-start/braces/selections2
-rw-r--r--test/normal/object/on-start/to-start/brackets/cmd1
-rw-r--r--test/normal/object/on-start/to-start/brackets/in3
-rw-r--r--test/normal/object/on-start/to-start/brackets/selections2
-rw-r--r--test/normal/object/on-start/to-start/parenthesis/cmd1
-rw-r--r--test/normal/object/on-start/to-start/parenthesis/in1
-rw-r--r--test/normal/object/on-start/to-start/parenthesis/selections1
105 files changed, 157 insertions, 0 deletions
diff --git a/test/normal/object/around-parent/angle/cmd b/test/normal/object/around-parent/angle/cmd
new file mode 100644
index 00000000..43f26e43
--- /dev/null
+++ b/test/normal/object/around-parent/angle/cmd
@@ -0,0 +1 @@
+<a-a>a
diff --git a/test/normal/object/around-parent/angle/in b/test/normal/object/around-parent/angle/in
new file mode 100644
index 00000000..26f95f87
--- /dev/null
+++ b/test/normal/object/around-parent/angle/in
@@ -0,0 +1 @@
+<foo %(<foo>) >
diff --git a/test/normal/object/around-parent/angle/selections b/test/normal/object/around-parent/angle/selections
new file mode 100644
index 00000000..39e2e89a
--- /dev/null
+++ b/test/normal/object/around-parent/angle/selections
@@ -0,0 +1 @@
+<foo <foo> >
diff --git a/test/normal/object/around-parent/braces/cmd b/test/normal/object/around-parent/braces/cmd
new file mode 100644
index 00000000..4effbcef
--- /dev/null
+++ b/test/normal/object/around-parent/braces/cmd
@@ -0,0 +1 @@
+<a-a>B
diff --git a/test/normal/object/around-parent/braces/in b/test/normal/object/around-parent/braces/in
new file mode 100644
index 00000000..af72a8a4
--- /dev/null
+++ b/test/normal/object/around-parent/braces/in
@@ -0,0 +1,3 @@
+{
+ "foo": %({ "bar" })
+}
diff --git a/test/normal/object/around-parent/braces/selections b/test/normal/object/around-parent/braces/selections
new file mode 100644
index 00000000..e363839a
--- /dev/null
+++ b/test/normal/object/around-parent/braces/selections
@@ -0,0 +1,3 @@
+{
+ "foo"\: { "bar" }
+}
diff --git a/test/normal/object/around-parent/brackets/cmd b/test/normal/object/around-parent/brackets/cmd
new file mode 100644
index 00000000..d567e3bd
--- /dev/null
+++ b/test/normal/object/around-parent/brackets/cmd
@@ -0,0 +1 @@
+<a-a>r
diff --git a/test/normal/object/around-parent/brackets/in b/test/normal/object/around-parent/brackets/in
new file mode 100644
index 00000000..cf4e4c9f
--- /dev/null
+++ b/test/normal/object/around-parent/brackets/in
@@ -0,0 +1,3 @@
+[
+ %(["foo"])
+]
diff --git a/test/normal/object/around-parent/brackets/selections b/test/normal/object/around-parent/brackets/selections
new file mode 100644
index 00000000..4cbf7ffd
--- /dev/null
+++ b/test/normal/object/around-parent/brackets/selections
@@ -0,0 +1,3 @@
+[
+ ["foo"]
+]
diff --git a/test/normal/object/around-parent/parenthesis/cmd b/test/normal/object/around-parent/parenthesis/cmd
new file mode 100644
index 00000000..42fef755
--- /dev/null
+++ b/test/normal/object/around-parent/parenthesis/cmd
@@ -0,0 +1 @@
+L<a-a>b
diff --git a/test/normal/object/around-parent/parenthesis/in b/test/normal/object/around-parent/parenthesis/in
new file mode 100644
index 00000000..93d010b8
--- /dev/null
+++ b/test/normal/object/around-parent/parenthesis/in
@@ -0,0 +1 @@
+(foo%((bar)))
diff --git a/test/normal/object/around-parent/parenthesis/selections b/test/normal/object/around-parent/parenthesis/selections
new file mode 100644
index 00000000..9f9cd966
--- /dev/null
+++ b/test/normal/object/around-parent/parenthesis/selections
@@ -0,0 +1 @@
+(foo(bar))
diff --git a/test/normal/object/on-end/around/angle/cmd b/test/normal/object/on-end/around/angle/cmd
new file mode 100644
index 00000000..43f26e43
--- /dev/null
+++ b/test/normal/object/on-end/around/angle/cmd
@@ -0,0 +1 @@
+<a-a>a
diff --git a/test/normal/object/on-end/around/angle/in b/test/normal/object/on-end/around/angle/in
new file mode 100644
index 00000000..9b72905e
--- /dev/null
+++ b/test/normal/object/on-end/around/angle/in
@@ -0,0 +1 @@
+#include <foo%(>)
diff --git a/test/normal/object/on-end/around/angle/selections b/test/normal/object/on-end/around/angle/selections
new file mode 100644
index 00000000..9127b708
--- /dev/null
+++ b/test/normal/object/on-end/around/angle/selections
@@ -0,0 +1 @@
+<foo>
diff --git a/test/normal/object/on-end/around/braces/cmd b/test/normal/object/on-end/around/braces/cmd
new file mode 100644
index 00000000..4effbcef
--- /dev/null
+++ b/test/normal/object/on-end/around/braces/cmd
@@ -0,0 +1 @@
+<a-a>B
diff --git a/test/normal/object/on-end/around/braces/in b/test/normal/object/on-end/around/braces/in
new file mode 100644
index 00000000..c3311521
--- /dev/null
+++ b/test/normal/object/on-end/around/braces/in
@@ -0,0 +1,3 @@
+{
+ "foo": "bar"
+%(})
diff --git a/test/normal/object/on-end/around/braces/selections b/test/normal/object/on-end/around/braces/selections
new file mode 100644
index 00000000..56cc1e77
--- /dev/null
+++ b/test/normal/object/on-end/around/braces/selections
@@ -0,0 +1,3 @@
+{
+ "foo"\: "bar"
+}
diff --git a/test/normal/object/on-end/around/brackets/cmd b/test/normal/object/on-end/around/brackets/cmd
new file mode 100644
index 00000000..d567e3bd
--- /dev/null
+++ b/test/normal/object/on-end/around/brackets/cmd
@@ -0,0 +1 @@
+<a-a>r
diff --git a/test/normal/object/on-end/around/brackets/in b/test/normal/object/on-end/around/brackets/in
new file mode 100644
index 00000000..c998d772
--- /dev/null
+++ b/test/normal/object/on-end/around/brackets/in
@@ -0,0 +1,3 @@
+[
+ "foo"
+%(])
diff --git a/test/normal/object/on-end/around/brackets/selections b/test/normal/object/on-end/around/brackets/selections
new file mode 100644
index 00000000..de140ba3
--- /dev/null
+++ b/test/normal/object/on-end/around/brackets/selections
@@ -0,0 +1,3 @@
+[
+ "foo"
+]
diff --git a/test/normal/object/on-end/around/parenthesis/cmd b/test/normal/object/on-end/around/parenthesis/cmd
new file mode 100644
index 00000000..27c689f5
--- /dev/null
+++ b/test/normal/object/on-end/around/parenthesis/cmd
@@ -0,0 +1 @@
+l<a-a>b
diff --git a/test/normal/object/on-end/around/parenthesis/in b/test/normal/object/on-end/around/parenthesis/in
new file mode 100644
index 00000000..a27aa78a
--- /dev/null
+++ b/test/normal/object/on-end/around/parenthesis/in
@@ -0,0 +1 @@
+foo(ba%(r))
diff --git a/test/normal/object/on-end/around/parenthesis/selections b/test/normal/object/on-end/around/parenthesis/selections
new file mode 100644
index 00000000..c115b234
--- /dev/null
+++ b/test/normal/object/on-end/around/parenthesis/selections
@@ -0,0 +1 @@
+(bar)
diff --git a/test/normal/object/on-end/inner/angle/cmd b/test/normal/object/on-end/inner/angle/cmd
new file mode 100644
index 00000000..21bc39d0
--- /dev/null
+++ b/test/normal/object/on-end/inner/angle/cmd
@@ -0,0 +1 @@
+<a-i>a
diff --git a/test/normal/object/on-end/inner/angle/in b/test/normal/object/on-end/inner/angle/in
new file mode 100644
index 00000000..9b72905e
--- /dev/null
+++ b/test/normal/object/on-end/inner/angle/in
@@ -0,0 +1 @@
+#include <foo%(>)
diff --git a/test/normal/object/on-end/inner/angle/selections b/test/normal/object/on-end/inner/angle/selections
new file mode 100644
index 00000000..257cc564
--- /dev/null
+++ b/test/normal/object/on-end/inner/angle/selections
@@ -0,0 +1 @@
+foo
diff --git a/test/normal/object/on-end/inner/braces/cmd b/test/normal/object/on-end/inner/braces/cmd
new file mode 100644
index 00000000..4effbcef
--- /dev/null
+++ b/test/normal/object/on-end/inner/braces/cmd
@@ -0,0 +1 @@
+<a-a>B
diff --git a/test/normal/object/on-end/inner/braces/in b/test/normal/object/on-end/inner/braces/in
new file mode 100644
index 00000000..e001700c
--- /dev/null
+++ b/test/normal/object/on-end/inner/braces/in
@@ -0,0 +1,3 @@
+{
+ "foo"= "bar"
+%(})
diff --git a/test/normal/object/on-end/inner/braces/selections b/test/normal/object/on-end/inner/braces/selections
new file mode 100644
index 00000000..e8eefa0c
--- /dev/null
+++ b/test/normal/object/on-end/inner/braces/selections
@@ -0,0 +1,3 @@
+{
+ "foo"= "bar"
+}
diff --git a/test/normal/object/on-end/inner/brackets/cmd b/test/normal/object/on-end/inner/brackets/cmd
new file mode 100644
index 00000000..d567e3bd
--- /dev/null
+++ b/test/normal/object/on-end/inner/brackets/cmd
@@ -0,0 +1 @@
+<a-a>r
diff --git a/test/normal/object/on-end/inner/brackets/in b/test/normal/object/on-end/inner/brackets/in
new file mode 100644
index 00000000..c998d772
--- /dev/null
+++ b/test/normal/object/on-end/inner/brackets/in
@@ -0,0 +1,3 @@
+[
+ "foo"
+%(])
diff --git a/test/normal/object/on-end/inner/brackets/selections b/test/normal/object/on-end/inner/brackets/selections
new file mode 100644
index 00000000..de140ba3
--- /dev/null
+++ b/test/normal/object/on-end/inner/brackets/selections
@@ -0,0 +1,3 @@
+[
+ "foo"
+]
diff --git a/test/normal/object/on-end/inner/parenthesis/cmd b/test/normal/object/on-end/inner/parenthesis/cmd
new file mode 100644
index 00000000..7016bf91
--- /dev/null
+++ b/test/normal/object/on-end/inner/parenthesis/cmd
@@ -0,0 +1 @@
+l<a-i>b
diff --git a/test/normal/object/on-end/inner/parenthesis/in b/test/normal/object/on-end/inner/parenthesis/in
new file mode 100644
index 00000000..a27aa78a
--- /dev/null
+++ b/test/normal/object/on-end/inner/parenthesis/in
@@ -0,0 +1 @@
+foo(ba%(r))
diff --git a/test/normal/object/on-end/inner/parenthesis/selections b/test/normal/object/on-end/inner/parenthesis/selections
new file mode 100644
index 00000000..5716ca59
--- /dev/null
+++ b/test/normal/object/on-end/inner/parenthesis/selections
@@ -0,0 +1 @@
+bar
diff --git a/test/normal/object/on-end/to-end/angle/cmd b/test/normal/object/on-end/to-end/angle/cmd
new file mode 100644
index 00000000..6e1ab229
--- /dev/null
+++ b/test/normal/object/on-end/to-end/angle/cmd
@@ -0,0 +1 @@
+]a
diff --git a/test/normal/object/on-end/to-end/angle/in b/test/normal/object/on-end/to-end/angle/in
new file mode 100644
index 00000000..ef44ecc8
--- /dev/null
+++ b/test/normal/object/on-end/to-end/angle/in
@@ -0,0 +1 @@
+<foo <bar%(>) >
diff --git a/test/normal/object/on-end/to-end/angle/selections b/test/normal/object/on-end/to-end/angle/selections
new file mode 100644
index 00000000..3b3b5e7b
--- /dev/null
+++ b/test/normal/object/on-end/to-end/angle/selections
@@ -0,0 +1 @@
+> >
diff --git a/test/normal/object/on-end/to-end/braces/cmd b/test/normal/object/on-end/to-end/braces/cmd
new file mode 100644
index 00000000..925126c3
--- /dev/null
+++ b/test/normal/object/on-end/to-end/braces/cmd
@@ -0,0 +1 @@
+]B
diff --git a/test/normal/object/on-end/to-end/braces/in b/test/normal/object/on-end/to-end/braces/in
new file mode 100644
index 00000000..c771cf82
--- /dev/null
+++ b/test/normal/object/on-end/to-end/braces/in
@@ -0,0 +1,3 @@
+{
+ { "foo": "bar" %(})
+}
diff --git a/test/normal/object/on-end/to-end/braces/selections b/test/normal/object/on-end/to-end/braces/selections
new file mode 100644
index 00000000..1ec35ed3
--- /dev/null
+++ b/test/normal/object/on-end/to-end/braces/selections
@@ -0,0 +1,2 @@
+}
+}
diff --git a/test/normal/object/on-end/to-end/brackets/cmd b/test/normal/object/on-end/to-end/brackets/cmd
new file mode 100644
index 00000000..2315da45
--- /dev/null
+++ b/test/normal/object/on-end/to-end/brackets/cmd
@@ -0,0 +1 @@
+]r
diff --git a/test/normal/object/on-end/to-end/brackets/in b/test/normal/object/on-end/to-end/brackets/in
new file mode 100644
index 00000000..ab98e4a4
--- /dev/null
+++ b/test/normal/object/on-end/to-end/brackets/in
@@ -0,0 +1,3 @@
+[
+ ["foo"%(])
+]
diff --git a/test/normal/object/on-end/to-end/brackets/selections b/test/normal/object/on-end/to-end/brackets/selections
new file mode 100644
index 00000000..fce4f5ed
--- /dev/null
+++ b/test/normal/object/on-end/to-end/brackets/selections
@@ -0,0 +1,2 @@
+]
+]
diff --git a/test/normal/object/on-end/to-end/parenthesis/cmd b/test/normal/object/on-end/to-end/parenthesis/cmd
new file mode 100644
index 00000000..838fda51
--- /dev/null
+++ b/test/normal/object/on-end/to-end/parenthesis/cmd
@@ -0,0 +1 @@
+l]b
diff --git a/test/normal/object/on-end/to-end/parenthesis/in b/test/normal/object/on-end/to-end/parenthesis/in
new file mode 100644
index 00000000..0797e65d
--- /dev/null
+++ b/test/normal/object/on-end/to-end/parenthesis/in
@@ -0,0 +1 @@
+(foo(ba%(r)))
diff --git a/test/normal/object/on-end/to-end/parenthesis/selections b/test/normal/object/on-end/to-end/parenthesis/selections
new file mode 100644
index 00000000..9c5df868
--- /dev/null
+++ b/test/normal/object/on-end/to-end/parenthesis/selections
@@ -0,0 +1 @@
+))
diff --git a/test/normal/object/on-start/around/angle/cmd b/test/normal/object/on-start/around/angle/cmd
new file mode 100644
index 00000000..43f26e43
--- /dev/null
+++ b/test/normal/object/on-start/around/angle/cmd
@@ -0,0 +1 @@
+<a-a>a
diff --git a/test/normal/object/on-start/around/angle/in b/test/normal/object/on-start/around/angle/in
new file mode 100644
index 00000000..3b9bd8ea
--- /dev/null
+++ b/test/normal/object/on-start/around/angle/in
@@ -0,0 +1 @@
+#include %(<)foo>
diff --git a/test/normal/object/on-start/around/angle/selections b/test/normal/object/on-start/around/angle/selections
new file mode 100644
index 00000000..9127b708
--- /dev/null
+++ b/test/normal/object/on-start/around/angle/selections
@@ -0,0 +1 @@
+<foo>
diff --git a/test/normal/object/on-start/around/braces/cmd b/test/normal/object/on-start/around/braces/cmd
new file mode 100644
index 00000000..4effbcef
--- /dev/null
+++ b/test/normal/object/on-start/around/braces/cmd
@@ -0,0 +1 @@
+<a-a>B
diff --git a/test/normal/object/on-start/around/braces/in b/test/normal/object/on-start/around/braces/in
new file mode 100644
index 00000000..a785d4de
--- /dev/null
+++ b/test/normal/object/on-start/around/braces/in
@@ -0,0 +1,3 @@
+%({)
+ "foo": "bar"
+}
diff --git a/test/normal/object/on-start/around/braces/selections b/test/normal/object/on-start/around/braces/selections
new file mode 100644
index 00000000..56cc1e77
--- /dev/null
+++ b/test/normal/object/on-start/around/braces/selections
@@ -0,0 +1,3 @@
+{
+ "foo"\: "bar"
+}
diff --git a/test/normal/object/on-start/around/brackets/cmd b/test/normal/object/on-start/around/brackets/cmd
new file mode 100644
index 00000000..d567e3bd
--- /dev/null
+++ b/test/normal/object/on-start/around/brackets/cmd
@@ -0,0 +1 @@
+<a-a>r
diff --git a/test/normal/object/on-start/around/brackets/in b/test/normal/object/on-start/around/brackets/in
new file mode 100644
index 00000000..ef421425
--- /dev/null
+++ b/test/normal/object/on-start/around/brackets/in
@@ -0,0 +1,3 @@
+%([)
+ "foo"
+]
diff --git a/test/normal/object/on-start/around/brackets/selections b/test/normal/object/on-start/around/brackets/selections
new file mode 100644
index 00000000..de140ba3
--- /dev/null
+++ b/test/normal/object/on-start/around/brackets/selections
@@ -0,0 +1,3 @@
+[
+ "foo"
+]
diff --git a/test/normal/object/on-start/around/double_quote/cmd b/test/normal/object/on-start/around/double_quote/cmd
new file mode 100644
index 00000000..c7d7819b
--- /dev/null
+++ b/test/normal/object/on-start/around/double_quote/cmd
@@ -0,0 +1 @@
+<a-a>Q
diff --git a/test/normal/object/on-start/around/double_quote/in b/test/normal/object/on-start/around/double_quote/in
new file mode 100644
index 00000000..4e72a438
--- /dev/null
+++ b/test/normal/object/on-start/around/double_quote/in
@@ -0,0 +1 @@
+foo(%(")bar")
diff --git a/test/normal/object/on-start/around/double_quote/selections b/test/normal/object/on-start/around/double_quote/selections
new file mode 100644
index 00000000..196e5879
--- /dev/null
+++ b/test/normal/object/on-start/around/double_quote/selections
@@ -0,0 +1 @@
+"bar"
diff --git a/test/normal/object/on-start/around/grave_quote/cmd b/test/normal/object/on-start/around/grave_quote/cmd
new file mode 100644
index 00000000..28e4cbc1
--- /dev/null
+++ b/test/normal/object/on-start/around/grave_quote/cmd
@@ -0,0 +1 @@
+<a-a>g
diff --git a/test/normal/object/on-start/around/grave_quote/in b/test/normal/object/on-start/around/grave_quote/in
new file mode 100644
index 00000000..1cd782e3
--- /dev/null
+++ b/test/normal/object/on-start/around/grave_quote/in
@@ -0,0 +1 @@
+echo %(`)foo`
diff --git a/test/normal/object/on-start/around/grave_quote/selections b/test/normal/object/on-start/around/grave_quote/selections
new file mode 100644
index 00000000..347253a0
--- /dev/null
+++ b/test/normal/object/on-start/around/grave_quote/selections
@@ -0,0 +1 @@
+`foo`
diff --git a/test/normal/object/on-start/around/parenthesis/cmd b/test/normal/object/on-start/around/parenthesis/cmd
new file mode 100644
index 00000000..ef7ad10b
--- /dev/null
+++ b/test/normal/object/on-start/around/parenthesis/cmd
@@ -0,0 +1 @@
+<a-a>b
diff --git a/test/normal/object/on-start/around/parenthesis/in b/test/normal/object/on-start/around/parenthesis/in
new file mode 100644
index 00000000..e642444e
--- /dev/null
+++ b/test/normal/object/on-start/around/parenthesis/in
@@ -0,0 +1 @@
+foo%(()bar)
diff --git a/test/normal/object/on-start/around/parenthesis/selections b/test/normal/object/on-start/around/parenthesis/selections
new file mode 100644
index 00000000..c115b234
--- /dev/null
+++ b/test/normal/object/on-start/around/parenthesis/selections
@@ -0,0 +1 @@
+(bar)
diff --git a/test/normal/object/on-start/around/single_quote/cmd b/test/normal/object/on-start/around/single_quote/cmd
new file mode 100644
index 00000000..f1d27c25
--- /dev/null
+++ b/test/normal/object/on-start/around/single_quote/cmd
@@ -0,0 +1 @@
+<a-a>q
diff --git a/test/normal/object/on-start/around/single_quote/in b/test/normal/object/on-start/around/single_quote/in
new file mode 100644
index 00000000..a3ce95f4
--- /dev/null
+++ b/test/normal/object/on-start/around/single_quote/in
@@ -0,0 +1 @@
+foo(%(')bar')
diff --git a/test/normal/object/on-start/around/single_quote/selections b/test/normal/object/on-start/around/single_quote/selections
new file mode 100644
index 00000000..2cde735c
--- /dev/null
+++ b/test/normal/object/on-start/around/single_quote/selections
@@ -0,0 +1 @@
+'bar'
diff --git a/test/normal/object/on-start/around/slash/cmd b/test/normal/object/on-start/around/slash/cmd
new file mode 100644
index 00000000..3b264409
--- /dev/null
+++ b/test/normal/object/on-start/around/slash/cmd
@@ -0,0 +1 @@
+<a-a>/
diff --git a/test/normal/object/on-start/around/slash/in b/test/normal/object/on-start/around/slash/in
new file mode 100644
index 00000000..a7d69794
--- /dev/null
+++ b/test/normal/object/on-start/around/slash/in
@@ -0,0 +1 @@
+foo(%(/)bar/)
diff --git a/test/normal/object/on-start/around/slash/selections b/test/normal/object/on-start/around/slash/selections
new file mode 100644
index 00000000..a5a08411
--- /dev/null
+++ b/test/normal/object/on-start/around/slash/selections
@@ -0,0 +1 @@
+/bar/
diff --git a/test/normal/object/on-start/inner/angle/cmd b/test/normal/object/on-start/inner/angle/cmd
new file mode 100644
index 00000000..21bc39d0
--- /dev/null
+++ b/test/normal/object/on-start/inner/angle/cmd
@@ -0,0 +1 @@
+<a-i>a
diff --git a/test/normal/object/on-start/inner/angle/in b/test/normal/object/on-start/inner/angle/in
new file mode 100644
index 00000000..3b9bd8ea
--- /dev/null
+++ b/test/normal/object/on-start/inner/angle/in
@@ -0,0 +1 @@
+#include %(<)foo>
diff --git a/test/normal/object/on-start/inner/angle/selections b/test/normal/object/on-start/inner/angle/selections
new file mode 100644
index 00000000..257cc564
--- /dev/null
+++ b/test/normal/object/on-start/inner/angle/selections
@@ -0,0 +1 @@
+foo
diff --git a/test/normal/object/on-start/inner/braces/cmd b/test/normal/object/on-start/inner/braces/cmd
new file mode 100644
index 00000000..4effbcef
--- /dev/null
+++ b/test/normal/object/on-start/inner/braces/cmd
@@ -0,0 +1 @@
+<a-a>B
diff --git a/test/normal/object/on-start/inner/braces/in b/test/normal/object/on-start/inner/braces/in
new file mode 100644
index 00000000..3d6e4fd4
--- /dev/null
+++ b/test/normal/object/on-start/inner/braces/in
@@ -0,0 +1,3 @@
+%({)
+ "foo"= "bar"
+}
diff --git a/test/normal/object/on-start/inner/braces/selections b/test/normal/object/on-start/inner/braces/selections
new file mode 100644
index 00000000..e8eefa0c
--- /dev/null
+++ b/test/normal/object/on-start/inner/braces/selections
@@ -0,0 +1,3 @@
+{
+ "foo"= "bar"
+}
diff --git a/test/normal/object/on-start/inner/brackets/cmd b/test/normal/object/on-start/inner/brackets/cmd
new file mode 100644
index 00000000..d567e3bd
--- /dev/null
+++ b/test/normal/object/on-start/inner/brackets/cmd
@@ -0,0 +1 @@
+<a-a>r
diff --git a/test/normal/object/on-start/inner/brackets/in b/test/normal/object/on-start/inner/brackets/in
new file mode 100644
index 00000000..ef421425
--- /dev/null
+++ b/test/normal/object/on-start/inner/brackets/in
@@ -0,0 +1,3 @@
+%([)
+ "foo"
+]
diff --git a/test/normal/object/on-start/inner/brackets/selections b/test/normal/object/on-start/inner/brackets/selections
new file mode 100644
index 00000000..de140ba3
--- /dev/null
+++ b/test/normal/object/on-start/inner/brackets/selections
@@ -0,0 +1,3 @@
+[
+ "foo"
+]
diff --git a/test/normal/object/on-start/inner/double_quote/cmd b/test/normal/object/on-start/inner/double_quote/cmd
new file mode 100644
index 00000000..1f62c901
--- /dev/null
+++ b/test/normal/object/on-start/inner/double_quote/cmd
@@ -0,0 +1 @@
+<a-i>Q
diff --git a/test/normal/object/on-start/inner/double_quote/in b/test/normal/object/on-start/inner/double_quote/in
new file mode 100644
index 00000000..4e72a438
--- /dev/null
+++ b/test/normal/object/on-start/inner/double_quote/in
@@ -0,0 +1 @@
+foo(%(")bar")
diff --git a/test/normal/object/on-start/inner/double_quote/selections b/test/normal/object/on-start/inner/double_quote/selections
new file mode 100644
index 00000000..5716ca59
--- /dev/null
+++ b/test/normal/object/on-start/inner/double_quote/selections
@@ -0,0 +1 @@
+bar
diff --git a/test/normal/object/on-start/inner/grave_quote/cmd b/test/normal/object/on-start/inner/grave_quote/cmd
new file mode 100644
index 00000000..1234f5e0
--- /dev/null
+++ b/test/normal/object/on-start/inner/grave_quote/cmd
@@ -0,0 +1 @@
+<a-i>g
diff --git a/test/normal/object/on-start/inner/grave_quote/in b/test/normal/object/on-start/inner/grave_quote/in
new file mode 100644
index 00000000..1cd782e3
--- /dev/null
+++ b/test/normal/object/on-start/inner/grave_quote/in
@@ -0,0 +1 @@
+echo %(`)foo`
diff --git a/test/normal/object/on-start/inner/grave_quote/selections b/test/normal/object/on-start/inner/grave_quote/selections
new file mode 100644
index 00000000..257cc564
--- /dev/null
+++ b/test/normal/object/on-start/inner/grave_quote/selections
@@ -0,0 +1 @@
+foo
diff --git a/test/normal/object/on-start/inner/parenthesis/cmd b/test/normal/object/on-start/inner/parenthesis/cmd
new file mode 100644
index 00000000..4509b477
--- /dev/null
+++ b/test/normal/object/on-start/inner/parenthesis/cmd
@@ -0,0 +1 @@
+<a-i>b
diff --git a/test/normal/object/on-start/inner/parenthesis/in b/test/normal/object/on-start/inner/parenthesis/in
new file mode 100644
index 00000000..e642444e
--- /dev/null
+++ b/test/normal/object/on-start/inner/parenthesis/in
@@ -0,0 +1 @@
+foo%(()bar)
diff --git a/test/normal/object/on-start/inner/parenthesis/selections b/test/normal/object/on-start/inner/parenthesis/selections
new file mode 100644
index 00000000..5716ca59
--- /dev/null
+++ b/test/normal/object/on-start/inner/parenthesis/selections
@@ -0,0 +1 @@
+bar
diff --git a/test/normal/object/on-start/inner/single_quote/cmd b/test/normal/object/on-start/inner/single_quote/cmd
new file mode 100644
index 00000000..2c023626
--- /dev/null
+++ b/test/normal/object/on-start/inner/single_quote/cmd
@@ -0,0 +1 @@
+<a-i>q
diff --git a/test/normal/object/on-start/inner/single_quote/in b/test/normal/object/on-start/inner/single_quote/in
new file mode 100644
index 00000000..a3ce95f4
--- /dev/null
+++ b/test/normal/object/on-start/inner/single_quote/in
@@ -0,0 +1 @@
+foo(%(')bar')
diff --git a/test/normal/object/on-start/inner/single_quote/selections b/test/normal/object/on-start/inner/single_quote/selections
new file mode 100644
index 00000000..5716ca59
--- /dev/null
+++ b/test/normal/object/on-start/inner/single_quote/selections
@@ -0,0 +1 @@
+bar
diff --git a/test/normal/object/on-start/to-start/angle/cmd b/test/normal/object/on-start/to-start/angle/cmd
new file mode 100644
index 00000000..3a8d2ba3
--- /dev/null
+++ b/test/normal/object/on-start/to-start/angle/cmd
@@ -0,0 +1 @@
+[a
diff --git a/test/normal/object/on-start/to-start/angle/in b/test/normal/object/on-start/to-start/angle/in
new file mode 100644
index 00000000..4b8a706f
--- /dev/null
+++ b/test/normal/object/on-start/to-start/angle/in
@@ -0,0 +1 @@
+<foo %(<)bar> >
diff --git a/test/normal/object/on-start/to-start/angle/selections b/test/normal/object/on-start/to-start/angle/selections
new file mode 100644
index 00000000..586fb8d0
--- /dev/null
+++ b/test/normal/object/on-start/to-start/angle/selections
@@ -0,0 +1 @@
+<foo <
diff --git a/test/normal/object/on-start/to-start/braces/cmd b/test/normal/object/on-start/to-start/braces/cmd
new file mode 100644
index 00000000..7f884a79
--- /dev/null
+++ b/test/normal/object/on-start/to-start/braces/cmd
@@ -0,0 +1 @@
+[B
diff --git a/test/normal/object/on-start/to-start/braces/in b/test/normal/object/on-start/to-start/braces/in
new file mode 100644
index 00000000..0c7524de
--- /dev/null
+++ b/test/normal/object/on-start/to-start/braces/in
@@ -0,0 +1,3 @@
+{
+ %({) "foo": "bar" }
+}
diff --git a/test/normal/object/on-start/to-start/braces/selections b/test/normal/object/on-start/to-start/braces/selections
new file mode 100644
index 00000000..fb05e26b
--- /dev/null
+++ b/test/normal/object/on-start/to-start/braces/selections
@@ -0,0 +1,2 @@
+{
+ {
diff --git a/test/normal/object/on-start/to-start/brackets/cmd b/test/normal/object/on-start/to-start/brackets/cmd
new file mode 100644
index 00000000..f4c7fa13
--- /dev/null
+++ b/test/normal/object/on-start/to-start/brackets/cmd
@@ -0,0 +1 @@
+[r
diff --git a/test/normal/object/on-start/to-start/brackets/in b/test/normal/object/on-start/to-start/brackets/in
new file mode 100644
index 00000000..8831277c
--- /dev/null
+++ b/test/normal/object/on-start/to-start/brackets/in
@@ -0,0 +1,3 @@
+[
+ %([)"foo"]
+]
diff --git a/test/normal/object/on-start/to-start/brackets/selections b/test/normal/object/on-start/to-start/brackets/selections
new file mode 100644
index 00000000..b89de126
--- /dev/null
+++ b/test/normal/object/on-start/to-start/brackets/selections
@@ -0,0 +1,2 @@
+[
+ [
diff --git a/test/normal/object/on-start/to-start/parenthesis/cmd b/test/normal/object/on-start/to-start/parenthesis/cmd
new file mode 100644
index 00000000..f78a0e94
--- /dev/null
+++ b/test/normal/object/on-start/to-start/parenthesis/cmd
@@ -0,0 +1 @@
+[b
diff --git a/test/normal/object/on-start/to-start/parenthesis/in b/test/normal/object/on-start/to-start/parenthesis/in
new file mode 100644
index 00000000..eb941aef
--- /dev/null
+++ b/test/normal/object/on-start/to-start/parenthesis/in
@@ -0,0 +1 @@
+(foo%(()bar))
diff --git a/test/normal/object/on-start/to-start/parenthesis/selections b/test/normal/object/on-start/to-start/parenthesis/selections
new file mode 100644
index 00000000..692cf339
--- /dev/null
+++ b/test/normal/object/on-start/to-start/parenthesis/selections
@@ -0,0 +1 @@
+(foo(