diff --git a/Gruntfile.js b/Gruntfile.js index 7d55f4089..4cfcade9f 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -390,7 +390,7 @@ module.exports = function (grunt) { build: process.env.TRAVIS_JOB_ID, concurrency: 10, urls: ['http://127.0.0.1:3000/js/tests/index.html'], - browsers: grunt.file.readYAML('test-infra/sauce_browsers.yml') + browsers: grunt.file.readYAML('grunt/sauce_browsers.yml') } } }, diff --git a/bower.json b/bower.json index 7590d787e..965ed2f1c 100644 --- a/bower.json +++ b/bower.json @@ -26,7 +26,8 @@ "composer.json", "CONTRIBUTING.md", "docs", - "js/tests" + "js/tests", + "test-infra" ], "dependencies": { "jquery": ">= 1.9.0" diff --git a/dist/js/bootstrap.js b/dist/js/bootstrap.js index bf6a6a202..b9ae0fc11 100644 --- a/dist/js/bootstrap.js +++ b/dist/js/bootstrap.js @@ -817,7 +817,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re } Modal.prototype.toggle = function (_relatedTarget) { - return this[!this.isShown ? 'show' : 'hide'](_relatedTarget) + return this.isShown ? this.hide() : this.show(_relatedTarget) } Modal.prototype.show = function (_relatedTarget) { @@ -1208,7 +1208,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re var $parent = this.$element.parent() var orgPlacement = placement - var docScroll = document.documentElement.scrollTop || document.body.scrollTop + var docScroll = document.documentElement.scrollTop var parentWidth = this.options.container == 'body' ? window.innerWidth : $parent.outerWidth() var parentHeight = this.options.container == 'body' ? window.innerHeight : $parent.outerHeight() var parentLeft = this.options.container == 'body' ? 0 : $parent.offset().left @@ -1578,7 +1578,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re this.$element = $(element).is('body') ? $(window) : $(element) this.$body = $('body') - this.$scrollElement = this.$element.on('scroll.bs.scroll-spy.data-api', process) + this.$scrollElement = this.$element.on('scroll.bs.scrollspy', process) this.options = $.extend({}, ScrollSpy.DEFAULTS, options) this.selector = (this.options.target || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 @@ -1702,7 +1702,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re // SCROLLSPY DATA-API // ================== - $(window).on('load', function () { + $(window).on('load.bs.scrollspy.data-api', function () { $('[data-spy="scroll"]').each(function () { var $spy = $(this) $spy.scrollspy($spy.data()) diff --git a/test-infra/sauce_browsers.yml b/grunt/sauce_browsers.yml similarity index 100% rename from test-infra/sauce_browsers.yml rename to grunt/sauce_browsers.yml diff --git a/js/affix.js b/js/affix.js index 84953c5cd..7d36fff0b 100644 --- a/js/affix.js +++ b/js/affix.js @@ -55,8 +55,6 @@ var offsetTop = offset.top var offsetBottom = offset.bottom - if (this.affixed == 'top') position.top += scrollTop - if (typeof offset != 'object') offsetBottom = offsetTop = offset if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element) if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element) @@ -84,7 +82,7 @@ .trigger($.Event(affixType.replace('affix', 'affixed'))) if (affix == 'bottom') { - this.$element.offset({ top: scrollHeight - offsetBottom - this.$element.height() }) + this.$element.offset({ top: position.top }) } } diff --git a/js/modal.js b/js/modal.js index 454d7d57a..ec358696f 100644 --- a/js/modal.js +++ b/js/modal.js @@ -36,7 +36,7 @@ } Modal.prototype.toggle = function (_relatedTarget) { - return this[!this.isShown ? 'show' : 'hide'](_relatedTarget) + return this.isShown ? this.hide() : this.show(_relatedTarget) } Modal.prototype.show = function (_relatedTarget) { diff --git a/js/scrollspy.js b/js/scrollspy.js index fc907f11b..137bd373f 100644 --- a/js/scrollspy.js +++ b/js/scrollspy.js @@ -19,7 +19,7 @@ this.$element = $(element).is('body') ? $(window) : $(element) this.$body = $('body') - this.$scrollElement = this.$element.on('scroll.bs.scroll-spy.data-api', process) + this.$scrollElement = this.$element.on('scroll.bs.scrollspy', process) this.options = $.extend({}, ScrollSpy.DEFAULTS, options) this.selector = (this.options.target || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 @@ -143,7 +143,7 @@ // SCROLLSPY DATA-API // ================== - $(window).on('load', function () { + $(window).on('load.bs.scrollspy.data-api', function () { $('[data-spy="scroll"]').each(function () { var $spy = $(this) $spy.scrollspy($spy.data()) diff --git a/js/tooltip.js b/js/tooltip.js index 7b75d7939..eb7875c9f 100644 --- a/js/tooltip.js +++ b/js/tooltip.js @@ -160,7 +160,7 @@ var $parent = this.$element.parent() var orgPlacement = placement - var docScroll = document.documentElement.scrollTop || document.body.scrollTop + var docScroll = document.documentElement.scrollTop var parentWidth = this.options.container == 'body' ? window.innerWidth : $parent.outerWidth() var parentHeight = this.options.container == 'body' ? window.innerHeight : $parent.outerHeight() var parentLeft = this.options.container == 'body' ? 0 : $parent.offset().left