diff --git a/src/testdir/test3.ok b/src/testdir/test3.ok
index e75de0f..b1c8b70 100644
--- a/src/testdir/test3.ok
+++ b/src/testdir/test3.ok
@@ -1832,3 +1832,156 @@
 })(jQuery);
 JSEND
 
+
+JSSTART
+// Results of JavaScript indent
+// 1
+(function(){
+	var a = [
+	  'a',
+	  'b',
+	  'c',
+	  'd',
+	  'e',
+	  'f',
+	  'g',
+	  'h',
+	  'i'
+	];
+}())
+
+// 2
+(function(){
+	var a = [
+	  0 +
+		5 *
+		9 *
+		'a',
+	  'b',
+	  0 +
+		5 *
+		9 *
+		'c',
+	  'd',
+	  'e',
+	  'f',
+	  'g',
+	  'h',
+	  'i'
+	];
+}())
+
+// 3
+(function(){
+	var a = [
+	  0 +
+		// comment 1
+		5 *
+		/* comment 2 */
+		9 *
+		'a',
+	  'b',
+	  0 +
+		5 *
+		9 *
+		'c',
+	  'd',
+	  'e',
+	  'f',
+	  'g',
+	  'h',
+	  'i'
+	];
+}())
+
+// 4
+{
+	var a = [
+	  0,
+	  1
+	];
+	var b;
+	var c;
+}
+
+// 5
+{
+	var a = [
+	  [
+		0
+	  ],
+	  2,
+	  3
+	];
+}
+
+// 6
+{
+	var a = [
+	  [
+		0,
+		1
+	  ],
+	  2,
+	  3
+	];
+}
+
+// 7
+{
+	var a = [
+	  // [
+	  0,
+	  // 1
+	  // ],
+	  2,
+	  3
+	];
+}
+
+// 8
+var x = [
+  (function(){
+	  var a,
+	  b,
+	  c,
+	  d,
+	  e,
+	  f,
+	  g,
+	  h,
+	  i;
+  })
+];
+
+// 9
+var a = [
+  0 +
+  5 *
+  9 *
+  'a',
+  'b',
+  0 +
+  5 *
+  9 *
+  'c',
+  'd',
+  'e',
+  'f',
+  'g',
+  'h',
+  'i'
+];
+
+// 10
+var a,
+	b,
+	c,
+	d,
+	e,
+	f,
+	g,
+	h,
+	i;
+JSEND
+
