]> granicus.if.org Git - vim/commitdiff
updated for version 7.3.256 v7.3.256
authorBram Moolenaar <Bram@vim.org>
Wed, 20 Jul 2011 13:09:43 +0000 (15:09 +0200)
committerBram Moolenaar <Bram@vim.org>
Wed, 20 Jul 2011 13:09:43 +0000 (15:09 +0200)
Problem:    Javascript indenting not sufficiently tested.
Solution:   Add more tests. (Luc Deschenaux)  Mark the lines that are indented
            wrong.

src/testdir/test3.in
src/testdir/test3.ok
src/version.c

index aea055fb3a4fec90bf2ce52b12e2fc46fa7ea475..55ca2a5a7a26cb38dd69ec6d76715d9cd058ecde 100644 (file)
@@ -1592,7 +1592,7 @@ NAMESPACEEND
 
 
 STARTTEST
-:set cino=J1
+:set cino=j1,J1
 /^JSSTART
 =/^JSEND
 ENDTEST
@@ -1612,6 +1612,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
index a47566931017f9d11bafe7fa6f88d30fd25ce3ad..396230744211c15e12239f23cbe1476e17a97ef4 100644 (file)
@@ -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
+
index 2f2307f1e4a17384e45bcdbda054a91614985853..3783bbf0c649c32c7591a25a40ac791b1e724b5a 100644 (file)
@@ -709,6 +709,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    256,
 /**/
     255,
 /**/