diff src/testdir/test3.in @ 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.in
+++ b/src/testdir/test3.in
@@ -1592,7 +1592,7 @@ NAMESPACEEND
 
 
 STARTTEST
-:set cino=J1
+:set cino=j1,J1
 /^JSSTART
 =/^JSEND
 ENDTEST
@@ -1613,6 +1613,145 @@ x: 4,
 JSEND
 
 STARTTEST
+:set cino=j1,J1
+/^JSSTART
+=/^JSEND
+ENDTEST
+
+JSSTART
+var foo = [
+1,  // indent 8 more
+2,
+3
+];  // indent 8 less
+JSEND
+
+STARTTEST
+:set cino=j1,J1
+/^JSSTART
+=/^JSEND
+ENDTEST
+
+JSSTART
+function bar() {
+var foo = [
+1,
+2,
+3
+];  // indent 16 less
+}
+JSEND
+
+STARTTEST
+:set cino=j1,J1
+/^JSSTART
+=/^JSEND
+ENDTEST
+
+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
+
+STARTTEST
+:set cino=j1,J1
+/^JSSTART
+=/^JSEND
+ENDTEST
+
+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
+
+STARTTEST
+:set cino=j1,J1
+/^JSSTART
+=/^JSEND
+ENDTEST
+
+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
+
+STARTTEST
 :g/^STARTTEST/.,/^ENDTEST/d
 :1;/start of AUTO/,$wq! test.out
 ENDTEST