To: vim_dev@googlegroups.com Subject: Patch 7.3.256 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 7.3.256 Problem: Javascript indenting not sufficiently tested. Solution: Add more tests. (Luc Deschenaux) Mark the lines that are indented wrong. Files: src/testdir/test3.in, src/testdir/test3.ok *** ../vim-7.3.255/src/testdir/test3.in 2011-07-15 14:12:25.000000000 +0200 --- src/testdir/test3.in 2011-07-15 21:05:49.000000000 +0200 *************** *** 1592,1598 **** STARTTEST ! :set cino=J1 /^JSSTART =/^JSEND ENDTEST --- 1592,1598 ---- STARTTEST ! :set cino=j1,J1 /^JSSTART =/^JSEND ENDTEST *************** *** 1613,1618 **** --- 1613,1757 ---- 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 *** ../vim-7.3.255/src/testdir/test3.ok 2011-07-15 14:12:25.000000000 +0200 --- src/testdir/test3.ok 2011-07-15 21:06:38.000000000 +0200 *************** *** 1443,1445 **** --- 1443,1559 ---- } 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 + *** ../vim-7.3.255/src/version.c 2011-07-20 15:04:52.000000000 +0200 --- src/version.c 2011-07-20 15:08:13.000000000 +0200 *************** *** 711,712 **** --- 711,714 ---- { /* Add new patch number below this line */ + /**/ + 256, /**/ -- Not too long ago, a keyboard was something to make music with... /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///