From 7a2b22c62b0478e3ad66489ea62682e3a08287c0 Mon Sep 17 00:00:00 2001 From: Mike Sherov Date: Mon, 22 Oct 2012 17:41:54 -0400 Subject: [PATCH] upgrade to the latest Grunt and JSHint --- .jshintrc | 3 +- build/.jshintrc | 13 --- build/release/release.js | 2 + build/tasks/build.js | 5 +- build/tasks/testswarm.js | 3 +- grunt.js | 7 +- package.json | 2 +- tests/.jshintrc | 1 - tests/unit/datepicker/datepicker_tickets.js | 96 ++++++++++----------- tests/unit/testsuite.js | 8 +- ui/.jshintrc | 1 - ui/jquery.ui.autocomplete.js | 2 +- 12 files changed, 68 insertions(+), 75 deletions(-) delete mode 100644 build/.jshintrc diff --git a/.jshintrc b/.jshintrc index 99161bd4e35..e22109220d0 100644 --- a/.jshintrc +++ b/.jshintrc @@ -3,10 +3,9 @@ "eqnull": true, "eqeqeq": true, "expr": true, - "latedef": true, "noarg": true, + "node": true, "onevar": true, - "smarttabs": true, "trailing": true, "undef": true } diff --git a/build/.jshintrc b/build/.jshintrc deleted file mode 100644 index 9e6abf31d7f..00000000000 --- a/build/.jshintrc +++ /dev/null @@ -1,13 +0,0 @@ -{ - "curly": true, - "eqnull": true, - "eqeqeq": true, - "expr": true, - "noarg": true, - "node": true, - "onevar": true, - "smarttabs": true, - "strict": false, - "trailing": true, - "undef": true -} diff --git a/build/release/release.js b/build/release/release.js index 77430d8d16f..ae705a90fc5 100644 --- a/build/release/release.js +++ b/build/release/release.js @@ -1,6 +1,8 @@ #!/usr/bin/env node /*global cat:true cd:true cp:true echo:true exec:true exit:true ls:true*/ +"use strict"; + var baseDir, repoDir, prevVersion, newVersion, nextVersion, tagTime, fs = require( "fs" ), path = require( "path" ), diff --git a/build/tasks/build.js b/build/tasks/build.js index 3f3dd31c55c..b59c728d30b 100644 --- a/build/tasks/build.js +++ b/build/tasks/build.js @@ -1,6 +1,9 @@ module.exports = function( grunt ) { -var path = require( "path" ); +"use strict"; + +var path = require( "path" ), + fs = require( "fs" ); grunt.registerTask( "manifest", "Generate jquery.json manifest files", function() { var pkg = grunt.config( "pkg" ), diff --git a/build/tasks/testswarm.js b/build/tasks/testswarm.js index 34c17d4f6b5..244113786c6 100644 --- a/build/tasks/testswarm.js +++ b/build/tasks/testswarm.js @@ -1,6 +1,7 @@ -/*jshint node: true */ module.exports = function( grunt ) { +"use strict"; + var versions = { "git": "git", "1.8": "1.8.0 1.8.1 1.8.2", diff --git a/grunt.js b/grunt.js index 9e03c95fac4..6e8655b409a 100644 --- a/grunt.js +++ b/grunt.js @@ -1,6 +1,7 @@ -/*jshint node: true */ module.exports = function( grunt ) { +"use strict"; + var // files coreFiles = [ @@ -326,9 +327,7 @@ grunt.initConfig({ } return { - // TODO: use "faux strict mode" https://github.com/jshint/jshint/issues/504 - // TODO: limit `smarttabs` to multi-line comments https://github.com/jshint/jshint/issues/503 - options: parserc(), + grunt: parserc(), ui: parserc( "ui/" ), // TODO: `evil: true` is only for document.write() https://github.com/jshint/jshint/issues/519 // TODO: don't create so many globals in tests diff --git a/package.json b/package.json index 3625c1f442b..110a23a6e72 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ ], "dependencies": {}, "devDependencies": { - "grunt": "~0.3.9", + "grunt": "~0.3.17", "grunt-css": "0.2.0", "grunt-compare-size": "0.1.4", "grunt-html": "0.1.1", diff --git a/tests/.jshintrc b/tests/.jshintrc index 78323721835..20094d43633 100644 --- a/tests/.jshintrc +++ b/tests/.jshintrc @@ -9,7 +9,6 @@ "latedef": true, "noarg": true, "onevar": true, - "smarttabs": true, "trailing": true, "undef": true, "predef": [ diff --git a/tests/unit/datepicker/datepicker_tickets.js b/tests/unit/datepicker/datepicker_tickets.js index e1b882a89e9..57b25c3fff2 100644 --- a/tests/unit/datepicker/datepicker_tickets.js +++ b/tests/unit/datepicker/datepicker_tickets.js @@ -7,9 +7,9 @@ module("datepicker: tickets"); // http://forum.jquery.com/topic/several-breaking-changes-in-jquery-ui-1-8rc1 test('beforeShowDay-getDate', function() { - expect( 3 ); + expect( 3 ); var inp = init('#inp', {beforeShowDay: function(date) { inp.datepicker('getDate'); return [true, '']; }}), - dp = $('#ui-datepicker-div'); + dp = $('#ui-datepicker-div'); inp.val('01/01/2010').datepicker('show'); // contains non-breaking space equal($('div.ui-datepicker-title').text(), 'January 2010', 'Initial month'); @@ -26,63 +26,63 @@ test('beforeShowDay-getDate', function() { }); test('Ticket 7602: Stop datepicker from appearing with beforeShow event handler', function(){ - expect( 3 ); - var inp = init('#inp',{ - beforeShow: function(){ - return false; - } - }), - dp = $('#ui-datepicker-div'); - inp.datepicker('show'); - equal(dp.css('display'), 'none',"beforeShow returns false"); - inp.datepicker('destroy'); + expect( 3 ); + var inp = init('#inp',{ + beforeShow: function(){ + return false; + } + }), + dp = $('#ui-datepicker-div'); + inp.datepicker('show'); + equal(dp.css('display'), 'none',"beforeShow returns false"); + inp.datepicker('destroy'); - inp = init('#inp',{ - beforeShow: function(){ - } - }); - dp = $('#ui-datepicker-div'); - inp.datepicker('show'); - equal(dp.css('display'), 'block',"beforeShow returns nothing"); + inp = init('#inp',{ + beforeShow: function(){ + } + }); + dp = $('#ui-datepicker-div'); + inp.datepicker('show'); + equal(dp.css('display'), 'block',"beforeShow returns nothing"); inp.datepicker('hide'); - inp.datepicker('destroy'); + inp.datepicker('destroy'); - inp = init('#inp',{ - beforeShow: function(){ - return true; - } - }); - dp = $('#ui-datepicker-div'); - inp.datepicker('show'); - equal(dp.css('display'), 'block',"beforeShow returns true"); + inp = init('#inp',{ + beforeShow: function(){ + return true; + } + }); + dp = $('#ui-datepicker-div'); + inp.datepicker('show'); + equal(dp.css('display'), 'block',"beforeShow returns true"); inp.datepicker('hide'); - inp.datepicker('destroy'); + inp.datepicker('destroy'); }); test('Ticket 6827: formatDate day of year calculation is wrong during day lights savings time', function(){ - expect( 1 ); - var time = $.datepicker.formatDate("oo", new Date("2010/03/30 12:00:00 CDT")); - equal(time, "089"); + expect( 1 ); + var time = $.datepicker.formatDate("oo", new Date("2010/03/30 12:00:00 CDT")); + equal(time, "089"); }); test('Ticket #7244: date parser does not fail when too many numbers are passed into the date function', function() { - expect( 4 ); - var date; - try{ - date = $.datepicker.parseDate('dd/mm/yy', '18/04/19881'); - ok(false, "Did not properly detect an invalid date"); - }catch(e){ - ok("invalid date detected"); - } + expect( 4 ); + var date; + try{ + date = $.datepicker.parseDate('dd/mm/yy', '18/04/19881'); + ok(false, "Did not properly detect an invalid date"); + }catch(e){ + ok("invalid date detected"); + } - try { - date = $.datepicker.parseDate('dd/mm/yy', '18/04/1988 @ 2:43 pm'); - equal(date.getDate(), 18); - equal(date.getMonth(), 3); - equal(date.getFullYear(), 1988); - } catch(e) { - ok(false, "Did not properly parse date with extra text separated by whitespace"); - } + try { + date = $.datepicker.parseDate('dd/mm/yy', '18/04/1988 @ 2:43 pm'); + equal(date.getDate(), 18); + equal(date.getMonth(), 3); + equal(date.getFullYear(), 1988); + } catch(e) { + ok(false, "Did not properly parse date with extra text separated by whitespace"); + } }); })(jQuery); diff --git a/tests/unit/testsuite.js b/tests/unit/testsuite.js index 06890d8d91d..74a561c0d27 100644 --- a/tests/unit/testsuite.js +++ b/tests/unit/testsuite.js @@ -12,6 +12,10 @@ function includeScript( url ) { document.write( "" ); } +function url( value ) { + return value + (/\?/.test(value) ? "&" : "?") + new Date().getTime() + "" + parseInt(Math.random() * 100000, 10); +} + reset = QUnit.reset; QUnit.reset = function() { // Ensure jQuery events and data on the fixture are properly removed @@ -65,11 +69,11 @@ TestHelpers.testJshint = function( module ) { $.when( $.ajax({ - url: "../../../ui/.jshintrc", + url: url("../../../ui/.jshintrc"), dataType: "json" }), $.ajax({ - url: "../../../ui/jquery.ui." + module + ".js", + url: url("../../../ui/jquery.ui." + module + ".js"), dataType: "text" }) ).done(function( hintArgs, srcArgs ) { diff --git a/ui/.jshintrc b/ui/.jshintrc index 415d69e9057..26b80877402 100644 --- a/ui/.jshintrc +++ b/ui/.jshintrc @@ -8,7 +8,6 @@ "latedef": true, "noarg": true, "onevar": true, - "smarttabs": true, "trailing": true, "undef": true, "predef": [ diff --git a/ui/jquery.ui.autocomplete.js b/ui/jquery.ui.autocomplete.js index f181e91805e..aec12bf8f3f 100644 --- a/ui/jquery.ui.autocomplete.js +++ b/ui/jquery.ui.autocomplete.js @@ -292,7 +292,7 @@ $.widget( "ui.autocomplete", { .insertAfter( this.element ); if ( $.fn.bgiframe ) { - this.menu.element.bgiframe(); + this.menu.element.bgiframe(); } // turning off autocomplete prevents the browser from remembering the