Test different expressions inside a spread.
diff --git a/test/splitting/lists.stmt b/test/splitting/lists.stmt
index 4b45a1e..bb43056 100644
--- a/test/splitting/lists.stmt
+++ b/test/splitting/lists.stmt
@@ -191,4 +191,34 @@
       spread +
       expression,
   3
+];
+>>> spread cascade
+var list = [1, ...thing..cascade()..another(), 4];
+<<<
+var list = [
+  1,
+  ...thing
+    ..cascade()
+    ..another(),
+  4
+];
+>>> spread lambda
+var list = [1, ...() { body; }, 4];
+<<<
+var list = [
+  1,
+  ...() {
+    body;
+  },
+  4
+];
+>>> spread immediately invoked lambda
+var list = [1, ...() sync* { yield thing; }(), 4];
+<<<
+var list = [
+  1,
+  ...() sync* {
+    yield thing;
+  }(),
+  4
 ];
\ No newline at end of file
diff --git a/test/splitting/maps.stmt b/test/splitting/maps.stmt
index 31da5ab..2a12eb2 100644
--- a/test/splitting/maps.stmt
+++ b/test/splitting/maps.stmt
@@ -159,4 +159,34 @@
 var map = {
   // comment
   a: value
+};
+>>> spread cascade
+var map = {1: 1, ...thing..cascade()..another(), 4: 4};
+<<<
+var map = {
+  1: 1,
+  ...thing
+    ..cascade()
+    ..another(),
+  4: 4
+};
+>>> spread lambda
+var map = {1: 1, ...() { body; }, 4: 4};
+<<<
+var map = {
+  1: 1,
+  ...() {
+    body;
+  },
+  4: 4
+};
+>>> spread immediately invoked lambda
+var map = {1: 1, ...() sync* { yield thing; }(), 4: 4};
+<<<
+var map = {
+  1: 1,
+  ...() sync* {
+    yield thing;
+  }(),
+  4: 4
 };
\ No newline at end of file
diff --git a/test/splitting/sets.stmt b/test/splitting/sets.stmt
index 43e7c3f..0ddcb41 100644
--- a/test/splitting/sets.stmt
+++ b/test/splitting/sets.stmt
@@ -174,4 +174,34 @@
   element,
 
   element
+};
+>>> spread cascade
+var set = {1, ...thing..cascade()..another(), 4};
+<<<
+var set = {
+  1,
+  ...thing
+    ..cascade()
+    ..another(),
+  4
+};
+>>> spread lambda
+var set = {1, ...() { body; }, 4};
+<<<
+var set = {
+  1,
+  ...() {
+    body;
+  },
+  4
+};
+>>> spread immediately invoked lambda
+var set = {1, ...() sync* { yield thing; }(), 4};
+<<<
+var set = {
+  1,
+  ...() sync* {
+    yield thing;
+  }(),
+  4
 };
\ No newline at end of file