diff src/testdir/test3.ok @ 2968:c296c225736e v7.3.256

updated for version 7.3.256 Problem: Javascript indenting not sufficiently tested. Solution: Add more tests. (Luc Deschenaux) Mark the lines that are indented wrong.
author Bram Moolenaar <bram@vim.org>
date Wed, 20 Jul 2011 15:09:43 +0200
parents 9f71f5a526af
children 0ecfe54a273f
line wrap: on
line diff
--- a/src/testdir/test3.ok
+++ b/src/testdir/test3.ok
@@ -1443,3 +1443,117 @@ var bar = {
 }
 JSEND
 
+
+JSSTART
+var foo = [
+1,  // indent 8 more
+	2,
+	3
+	];  // indent 8 less
+JSEND
+
+
+JSSTART
+function bar() {
+	var foo = [
+		1,
+		2,
+		3
+			];  // indent 16 less
+}
+JSEND
+
+
+JSSTART
+(function($){
+
+	var class_name='myclass';
+
+	function private_method() {
+	}
+
+	var public_method={
+		method: function(options,args){
+			private_method();
+		}
+	}
+
+	function init(options) {
+
+		$(this).data(class_name+'_public',$.extend({},{
+			foo: 'bar',
+		bar: 2,  // indent 8 more
+		foobar: [  // indent 8 more
+			1,  // indent 8 more
+		2,  // indent 16 more
+		3   // indent 16 more
+			],
+		callback: function(){  // indent 8 more
+			return true;  // indent 8 more
+		}  // indent 8 more
+		}, options||{}));
+	}
+
+	$.fn[class_name]=function() {
+
+		var _arguments=arguments;
+		return this.each(function(){
+
+			var options=$(this).data(class_name+'_public');
+			if (!options) {
+				init.apply(this,_arguments);
+
+			} else {
+				var method=public_method[_arguments[0]];
+
+				if (typeof(method)!='function') {
+					console.log(class_name+' has no method "'+_arguments[0]+'"');
+					return false;
+				}
+				_arguments[0]=options;
+				method.apply(this,_arguments);
+			}
+		});
+	}
+
+})(jQuery);
+JSEND
+
+
+JSSTART
+function init(options) {
+	$(this).data(class_name+'_public',$.extend({},{
+		foo: 'bar',
+		bar: 2,
+		foobar: [
+		1,  // indent 8 more
+		2,  // indent 8 more
+		3   // indent 8 more
+		],
+		callback: function(){
+			return true;
+		}
+	}, options||{}));
+}
+JSEND
+
+
+JSSTART
+(function($){
+	function init(options) {
+		$(this).data(class_name+'_public',$.extend({},{
+			foo: 'bar',
+		bar: 2,  // indent 8 more
+		foobar: [  // indent 8 more
+			1,  // indent 8 more
+		2,  // indent 16 more
+		3  // indent 16 more
+			],
+		callback: function(){  // indent 8 more
+			return true;  // indent 8 more
+		}  // indent 8 more
+		}, options||{}));
+	}
+})(jQuery);
+JSEND
+