aboutsummaryrefslogtreecommitdiff
path: root/js/tests/unit
diff options
context:
space:
mode:
authorMark Otto <[email protected]>2015-01-03 20:08:58 -0800
committerMark Otto <[email protected]>2015-01-03 20:08:58 -0800
commit0e5d17d5f651a7bd3ff7f245d75a2d9fd591c8ce (patch)
tree69acdd16736989d5fc2af762b26fa372dcfc3521 /js/tests/unit
parent31610258de7a7eeb635103de25f7f339f872d867 (diff)
parent57260f16b364e4cb559cd65159197fd1cf5248f7 (diff)
downloadbootstrap-0e5d17d5f651a7bd3ff7f245d75a2d9fd591c8ce.tar.xz
bootstrap-0e5d17d5f651a7bd3ff7f245d75a2d9fd591c8ce.zip
Merge branch 'master' into v4
Conflicts: Gruntfile.js dist/css/bootstrap-theme.css dist/css/bootstrap-theme.css.map dist/css/bootstrap-theme.min.css dist/css/bootstrap.css dist/css/bootstrap.css.map dist/css/bootstrap.min.css dist/js/bootstrap.min.js docs/_data/glyphicons.yml docs/_includes/components/alerts.html docs/_includes/components/badges.html docs/_includes/components/breadcrumbs.html docs/_includes/components/button-dropdowns.html docs/_includes/components/button-groups.html docs/_includes/components/dropdowns.html docs/_includes/components/glyphicons.html docs/_includes/components/input-groups.html docs/_includes/components/jumbotron.html docs/_includes/components/labels.html docs/_includes/components/list-group.html docs/_includes/components/media.html docs/_includes/components/navbar.html docs/_includes/components/navs.html docs/_includes/components/page-header.html docs/_includes/components/pagination.html docs/_includes/components/panels.html docs/_includes/components/progress-bars.html docs/_includes/components/responsive-embed.html docs/_includes/components/thumbnails.html docs/_includes/components/wells.html docs/_includes/css/buttons.html docs/_includes/css/code.html docs/_includes/css/forms.html docs/_includes/css/grid.html docs/_includes/css/helpers.html docs/_includes/css/images.html docs/_includes/css/less.html docs/_includes/css/tables.html docs/_includes/css/type.html docs/_includes/customizer-variables.html docs/_includes/getting-started/accessibility.html docs/_includes/getting-started/disabling-responsiveness.html docs/_includes/getting-started/download.html docs/_includes/getting-started/whats-included.html docs/_includes/js/alerts.html docs/_includes/js/buttons.html docs/_includes/js/carousel.html docs/_includes/js/collapse.html docs/_includes/js/modal.html docs/_includes/js/overview.html docs/_includes/js/popovers.html docs/_includes/js/tabs.html docs/_includes/js/tooltips.html docs/_includes/nav/components.html docs/_includes/nav/javascript.html docs/_jade/customizer-variables.jade docs/_layouts/default.html docs/about.html docs/assets/css/docs.min.css docs/assets/css/src/docs.css docs/assets/js/customize.min.js docs/assets/js/raw-files.min.js docs/assets/js/src/customizer.js docs/customize.html docs/dist/css/bootstrap-theme.css.map docs/dist/css/bootstrap.css docs/dist/css/bootstrap.css.map docs/dist/css/bootstrap.min.css less/glyphicons.less less/mixins/vendor-prefixes.less less/navbar.less less/popovers.less less/tables.less less/theme.less less/tooltip.less less/variables.less package.json scss/_carousel.scss scss/_close.scss scss/_forms.scss test-infra/npm-shrinkwrap.json
Diffstat (limited to 'js/tests/unit')
-rw-r--r--js/tests/unit/popover.js54
-rw-r--r--js/tests/unit/tooltip.js31
2 files changed, 31 insertions, 54 deletions
diff --git a/js/tests/unit/popover.js b/js/tests/unit/popover.js
index 8f59d3483..729ba46b7 100644
--- a/js/tests/unit/popover.js
+++ b/js/tests/unit/popover.js
@@ -188,33 +188,41 @@ $(function () {
equal($('.popover').length, 0, 'popover was removed')
})
- test('should render popover elements using different delegated selectors on the same node', function () {
- var popoverHTML = '<div>'
- + '<a href="#" class="first" title="mdo" data-content="http://twitter.com/mdo">@mdo</a>'
- + '<a href="#" class="second" title="mdo" data-content="http://twitter.com/mdo">@mdo</a>'
- + '</div>'
+ test('should detach popover content rather than removing it so that event handlers are left intact', function () {
+ var $content = $('<div class="content-with-handler"><a class="btn btn-warning">Button with event handler</a></div>').appendTo('#qunit-fixture')
- var $div = $(popoverHTML)
+ var handlerCalled = false
+ $('.content-with-handler .btn').click(function () {
+ handlerCalled = true
+ })
+
+ var $div = $('<div><a href="#">Show popover</a></div>')
.appendTo('#qunit-fixture')
.bootstrapPopover({
- selector: 'a.first',
- trigger: 'click'
- })
- .bootstrapPopover({
- selector: 'a.second',
- trigger: 'click'
+ html: true,
+ trigger: 'manual',
+ container: 'body',
+ content: function () {
+ return $content
+ }
})
- $div.find('a.first').click()
- notEqual($('.popover').length, 0, 'first popover was inserted')
-
- $div.find('a.first').click()
- equal($('.popover').length, 0, 'first popover removed')
-
- $div.find('a.second').click()
- notEqual($('.popover').length, 0, 'second popover was inserted')
-
- $div.find('a.second').click()
- equal($('.popover').length, 0, 'second popover removed')
+ stop()
+ $div
+ .one('shown.bs.popover', function () {
+ $div
+ .one('hidden.bs.popover', function () {
+ $div
+ .one('shown.bs.popover', function () {
+ $('.content-with-handler .btn').click()
+ $div.bootstrapPopover('destroy')
+ ok(handlerCalled, 'content\'s event handler still present')
+ start()
+ })
+ .bootstrapPopover('show')
+ })
+ .bootstrapPopover('hide')
+ })
+ .bootstrapPopover('show')
})
})
diff --git a/js/tests/unit/tooltip.js b/js/tests/unit/tooltip.js
index 6232ccdcb..8bde0f533 100644
--- a/js/tests/unit/tooltip.js
+++ b/js/tests/unit/tooltip.js
@@ -235,37 +235,6 @@ $(function () {
equal($('.tooltip').length, 0, 'tooltip was removed from dom')
})
- test('should show tooltips with different delegate selectors on the same node on click', function () {
- var tooltipHTML = '<div>'
- + '<a href="#" class="first" rel="tooltip" title="First delegated tooltip"/>'
- + '<a href="#" class="second" rel="tooltip" title="Second delegated tooltip"/>'
- + '</div>'
-
- var $div = $(tooltipHTML)
- .append()
- .appendTo('#qunit-fixture')
- .bootstrapTooltip({
- selector: 'a.first[rel="tooltip"]',
- trigger: 'click'
- })
- .bootstrapTooltip({
- selector: 'a.second[rel="tooltip"]',
- trigger: 'click'
- })
-
- $div.find('a.first').click()
- ok($('.tooltip').is('.fade.in'), 'first tooltip is faded in')
-
- $div.find('a.first').click()
- equal($('.tooltip').length, 0, 'first tooltip was removed from dom')
-
- $div.find('a.second').click()
- ok($('.tooltip').is('.fade.in'), 'second tooltip is faded in')
-
- $div.find('a.second').click()
- equal($('.tooltip').length, 0, 'second tooltip was removed from dom')
- })
-
test('should show tooltip when toggle is called', function () {
$('<a href="#" rel="tooltip" title="tooltip on toggle"/>')
.appendTo('#qunit-fixture')