aboutsummaryrefslogtreecommitdiff
path: root/js/tests
diff options
context:
space:
mode:
authorGijs Boddeus <[email protected]>2017-10-04 08:46:03 +0200
committerGitHub <[email protected]>2017-10-04 08:46:03 +0200
commit263190305e1208b183611fe511ea8f983932a00d (patch)
tree8cc874b98d5d9e7d9db66b078d94e5dc1db2c4e8 /js/tests
parentcc092272eefa0e89bebfc716c8df8214d2804c77 (diff)
parent682ad1fff58fb6586dceaf31d490aaa522110e59 (diff)
downloadbootstrap-263190305e1208b183611fe511ea8f983932a00d.tar.xz
bootstrap-263190305e1208b183611fe511ea8f983932a00d.zip
Merge branch 'v4-dev' into yiq-function-update
Diffstat (limited to 'js/tests')
-rw-r--r--js/tests/.eslintrc.json3
-rw-r--r--js/tests/index.html2
-rw-r--r--js/tests/unit/collapse.js44
-rw-r--r--js/tests/unit/popover.js2
-rw-r--r--js/tests/unit/scrollspy.js41
-rw-r--r--js/tests/unit/tab.js26
-rw-r--r--js/tests/visual/alert.html2
-rw-r--r--js/tests/visual/button.html2
-rw-r--r--js/tests/visual/carousel.html8
-rw-r--r--js/tests/visual/collapse.html2
-rw-r--r--js/tests/visual/dropdown.html2
-rw-r--r--js/tests/visual/modal.html2
-rw-r--r--js/tests/visual/popover.html2
-rw-r--r--js/tests/visual/scrollspy.html2
-rw-r--r--js/tests/visual/tab.html10
-rw-r--r--js/tests/visual/tooltip.html2
16 files changed, 117 insertions, 35 deletions
diff --git a/js/tests/.eslintrc.json b/js/tests/.eslintrc.json
index b03980144..460286508 100644
--- a/js/tests/.eslintrc.json
+++ b/js/tests/.eslintrc.json
@@ -21,9 +21,6 @@
"no-magic-numbers": "off",
"vars-on-top": "off",
- // Strict Mode
- "strict": "off",
-
// NodeJS and CommonJS
"global-require": "off",
"no-process-env": "off",
diff --git a/js/tests/index.html b/js/tests/index.html
index 6e2b974f9..ad5b6437a 100644
--- a/js/tests/index.html
+++ b/js/tests/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!doctype html>
<html>
<head>
<meta charset="utf-8">
diff --git a/js/tests/unit/collapse.js b/js/tests/unit/collapse.js
index 9ecb60994..c36fe25be 100644
--- a/js/tests/unit/collapse.js
+++ b/js/tests/unit/collapse.js
@@ -698,4 +698,48 @@ $(function () {
$target.trigger($.Event('click'))
})
+
+ QUnit.test('should allow jquery object in parent config', function (assert) {
+ assert.expect(1)
+ var html =
+ '<div class="my-collapse">' +
+ ' <div class="item">' +
+ ' <a data-toggle="collapse" href="#">Toggle item</a>' +
+ ' <div class="collapse">Lorem ipsum</div>' +
+ ' </div>' +
+ '</div>'
+
+ $(html).appendTo('#qunit-fixture')
+ try {
+ $('[data-toggle="collapse"]').bootstrapCollapse({
+ parent: $('.my-collapse')
+ })
+ assert.ok(true, 'collapse correctly created')
+ }
+ catch (e) {
+ assert.ok(false, 'collapse not created')
+ }
+ })
+
+ QUnit.test('should allow DOM object in parent config', function (assert) {
+ assert.expect(1)
+ var html =
+ '<div class="my-collapse">' +
+ ' <div class="item">' +
+ ' <a data-toggle="collapse" href="#">Toggle item</a>' +
+ ' <div class="collapse">Lorem ipsum</div>' +
+ ' </div>' +
+ '</div>'
+
+ $(html).appendTo('#qunit-fixture')
+ try {
+ $('[data-toggle="collapse"]').bootstrapCollapse({
+ parent: $('.my-collapse')[0]
+ })
+ assert.ok(true, 'collapse correctly created')
+ }
+ catch (e) {
+ assert.ok(false, 'collapse not created')
+ }
+ })
})
diff --git a/js/tests/unit/popover.js b/js/tests/unit/popover.js
index 6c0f99cba..b5ea714ea 100644
--- a/js/tests/unit/popover.js
+++ b/js/tests/unit/popover.js
@@ -242,7 +242,7 @@ $(function () {
QUnit.test('should render popover element using delegated selector', function (assert) {
assert.expect(2)
- var $div = $('<div><a href="#" title="mdo" data-content="http://twitter.com/mdo">@mdo</a></div>')
+ var $div = $('<div><a href="#" title="mdo" data-content="https://twitter.com/mdo">@mdo</a></div>')
.appendTo('#qunit-fixture')
.bootstrapPopover({
selector: 'a',
diff --git a/js/tests/unit/scrollspy.js b/js/tests/unit/scrollspy.js
index 96cf54eef..7bdeb4a8d 100644
--- a/js/tests/unit/scrollspy.js
+++ b/js/tests/unit/scrollspy.js
@@ -360,6 +360,47 @@ $(function () {
testActiveElements()
})
+
+ QUnit.test('should add the active class correctly when there are nested elements (nav nav-item markup)', function (assert) {
+ assert.expect(6)
+ var times = 0
+ var done = assert.async()
+ var navbarHtml = '<nav id="navigation" class="navbar">'
+ + '<ul class="nav">'
+ + '<li class="nav-item"><a id="a-1" class="nav-link" href="#div-1">div 1</a></li>'
+ + '<ul class="nav">'
+ + '<li class="nav-item"><a id="a-2" class="nav-link" href="#div-2">div 2</a></li>'
+ + '</ul>'
+ + '</ul>'
+ + '</nav>'
+
+ var contentHtml = '<div class="content" style="position: absolute; top: 0px; overflow: auto; height: 50px">'
+ + '<div id="div-1" style="padding: 0; margin: 0">'
+ + '<div id="div-2" style="height: 200px; padding: 0; margin: 0">div 2</div>'
+ + '</div>'
+ + '</div>'
+
+ $(navbarHtml).appendTo('#qunit-fixture')
+
+ var $content = $(contentHtml)
+ .appendTo('#qunit-fixture')
+ .bootstrapScrollspy({ offset: 0, target: '#navigation' })
+
+ function testActiveElements() {
+ if (++times > 3) { return done() }
+
+ $content.one('scroll', function () {
+ assert.ok($('#a-1').hasClass('active'), 'nav item for outer element has "active" class')
+ assert.ok($('#a-2').hasClass('active'), 'nav item for inner element has "active" class')
+ testActiveElements()
+ })
+
+ $content.scrollTop($content.scrollTop() + 10)
+ }
+
+ testActiveElements()
+ })
+
QUnit.test('should add the active class correctly when there are nested elements (list-group markup)', function (assert) {
assert.expect(6)
var times = 0
diff --git a/js/tests/unit/tab.js b/js/tests/unit/tab.js
index 3093299b0..73ebbd660 100644
--- a/js/tests/unit/tab.js
+++ b/js/tests/unit/tab.js
@@ -287,29 +287,29 @@ $(function () {
.bootstrapTab('show')
})
- QUnit.test('selected tab should have aria-expanded', function (assert) {
+ QUnit.test('selected tab should have aria-selected', function (assert) {
assert.expect(8)
var tabsHTML = '<ul class="nav nav-tabs">'
- + '<li><a class="nav-item active" href="#home" toggle="tab" aria-expanded="true">Home</a></li>'
- + '<li><a class="nav-item" href="#profile" toggle="tab" aria-expanded="false">Profile</a></li>'
+ + '<li><a class="nav-item active" href="#home" toggle="tab" aria-selected="true">Home</a></li>'
+ + '<li><a class="nav-item" href="#profile" toggle="tab" aria-selected="false">Profile</a></li>'
+ '</ul>'
var $tabs = $(tabsHTML).appendTo('#qunit-fixture')
$tabs.find('li:first a').bootstrapTab('show')
- assert.strictEqual($tabs.find('.active').attr('aria-expanded'), 'true', 'shown tab has aria-expanded = true')
- assert.strictEqual($tabs.find('a:not(.active)').attr('aria-expanded'), 'false', 'hidden tab has aria-expanded = false')
+ assert.strictEqual($tabs.find('.active').attr('aria-selected'), 'true', 'shown tab has aria-selected = true')
+ assert.strictEqual($tabs.find('a:not(.active)').attr('aria-selected'), 'false', 'hidden tab has aria-selected = false')
$tabs.find('li:last a').trigger('click')
- assert.strictEqual($tabs.find('.active').attr('aria-expanded'), 'true', 'after click, shown tab has aria-expanded = true')
- assert.strictEqual($tabs.find('a:not(.active)').attr('aria-expanded'), 'false', 'after click, hidden tab has aria-expanded = false')
+ assert.strictEqual($tabs.find('.active').attr('aria-selected'), 'true', 'after click, shown tab has aria-selected = true')
+ assert.strictEqual($tabs.find('a:not(.active)').attr('aria-selected'), 'false', 'after click, hidden tab has aria-selected = false')
$tabs.find('li:first a').bootstrapTab('show')
- assert.strictEqual($tabs.find('.active').attr('aria-expanded'), 'true', 'shown tab has aria-expanded = true')
- assert.strictEqual($tabs.find('a:not(.active)').attr('aria-expanded'), 'false', 'hidden tab has aria-expanded = false')
+ assert.strictEqual($tabs.find('.active').attr('aria-selected'), 'true', 'shown tab has aria-selected = true')
+ assert.strictEqual($tabs.find('a:not(.active)').attr('aria-selected'), 'false', 'hidden tab has aria-selected = false')
$tabs.find('li:first a').trigger('click')
- assert.strictEqual($tabs.find('.active').attr('aria-expanded'), 'true', 'after second show event, shown tab still has aria-expanded = true')
- assert.strictEqual($tabs.find('a:not(.active)').attr('aria-expanded'), 'false', 'after second show event, hidden tab has aria-expanded = false')
+ assert.strictEqual($tabs.find('.active').attr('aria-selected'), 'true', 'after second show event, shown tab still has aria-selected = true')
+ assert.strictEqual($tabs.find('a:not(.active)').attr('aria-selected'), 'false', 'after second show event, hidden tab has aria-selected = false')
})
QUnit.test('selected tab should deactivate previous selected tab', function (assert) {
@@ -351,13 +351,13 @@ $(function () {
var tabsHTML =
'<nav class="nav nav-tabs" role="tablist">'
+ ' <a id="tab1" href="#x-tab1" class="nav-item nav-link" data-toggle="tab" role="tab" aria-controls="x-tab1">Tab 1</a>'
- + ' <a href="#x-tab2" class="nav-item nav-link active" data-toggle="tab" role="tab" aria-controls="x-tab2" aria-expanded="true">Tab 2</a>'
+ + ' <a href="#x-tab2" class="nav-item nav-link active" data-toggle="tab" role="tab" aria-controls="x-tab2" aria-selected="true">Tab 2</a>'
+ ' <a href="#x-tab3" class="nav-item nav-link" data-toggle="tab" role="tab" aria-controls="x-tab3">Tab 3</a>'
+ '</nav>'
+ '<div class="tab-content">'
+ ' <div class="tab-pane" id="x-tab1" role="tabpanel">'
+ ' <nav class="nav nav-tabs" role="tablist">'
- + ' <a href="#nested-tab1" class="nav-item nav-link active" data-toggle="tab" role="tab" aria-controls="x-tab1" aria-expanded="true">Nested Tab 1</a>'
+ + ' <a href="#nested-tab1" class="nav-item nav-link active" data-toggle="tab" role="tab" aria-controls="x-tab1" aria-selected="true">Nested Tab 1</a>'
+ ' <a id="tabNested2" href="#nested-tab2" class="nav-item nav-link" data-toggle="tab" role="tab" aria-controls="x-profile">Nested Tab2</a>'
+ ' </nav>'
+ ' <div class="tab-content">'
diff --git a/js/tests/visual/alert.html b/js/tests/visual/alert.html
index 4632e894a..bb2d9cb48 100644
--- a/js/tests/visual/alert.html
+++ b/js/tests/visual/alert.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!doctype html>
<html>
<head>
<meta charset="utf-8">
diff --git a/js/tests/visual/button.html b/js/tests/visual/button.html
index 9aaf08d44..33de14d8b 100644
--- a/js/tests/visual/button.html
+++ b/js/tests/visual/button.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!doctype html>
<html>
<head>
<meta charset="utf-8">
diff --git a/js/tests/visual/carousel.html b/js/tests/visual/carousel.html
index eae9df705..5bdd6160b 100644
--- a/js/tests/visual/carousel.html
+++ b/js/tests/visual/carousel.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!doctype html>
<html>
<head>
<meta charset="utf-8">
@@ -20,13 +20,13 @@
</ol>
<div class="carousel-inner">
<div class="carousel-item active">
- <img src="http://i.imgur.com/iEZgY7Y.jpg" alt="First slide">
+ <img src="https://i.imgur.com/iEZgY7Y.jpg" alt="First slide">
</div>
<div class="carousel-item">
- <img src="http://i.imgur.com/eNWn1Xs.jpg" alt="Second slide">
+ <img src="https://i.imgur.com/eNWn1Xs.jpg" alt="Second slide">
</div>
<div class="carousel-item">
- <img src="http://i.imgur.com/Nm7xoti.jpg" alt="Third slide">
+ <img src="https://i.imgur.com/Nm7xoti.jpg" alt="Third slide">
</div>
</div>
<a class="carousel-control-prev" href="#carousel-example-generic" role="button" data-slide="prev">
diff --git a/js/tests/visual/collapse.html b/js/tests/visual/collapse.html
index 6b4e89bfb..0c19def73 100644
--- a/js/tests/visual/collapse.html
+++ b/js/tests/visual/collapse.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!doctype html>
<html>
<head>
<meta charset="utf-8">
diff --git a/js/tests/visual/dropdown.html b/js/tests/visual/dropdown.html
index 5a5cc45f6..bb0fc6e41 100644
--- a/js/tests/visual/dropdown.html
+++ b/js/tests/visual/dropdown.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!doctype html>
<html>
<head>
<meta charset="utf-8">
diff --git a/js/tests/visual/modal.html b/js/tests/visual/modal.html
index da9bbf93a..6e9f0f710 100644
--- a/js/tests/visual/modal.html
+++ b/js/tests/visual/modal.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!doctype html>
<html>
<head>
<meta charset="utf-8">
diff --git a/js/tests/visual/popover.html b/js/tests/visual/popover.html
index e26dca491..d979d967a 100644
--- a/js/tests/visual/popover.html
+++ b/js/tests/visual/popover.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!doctype html>
<html>
<head>
<meta charset="utf-8">
diff --git a/js/tests/visual/scrollspy.html b/js/tests/visual/scrollspy.html
index b3d4fb0b1..cfa31ceea 100644
--- a/js/tests/visual/scrollspy.html
+++ b/js/tests/visual/scrollspy.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!doctype html>
<html>
<head>
<meta charset="utf-8">
diff --git a/js/tests/visual/tab.html b/js/tests/visual/tab.html
index 37730e591..defb577cf 100644
--- a/js/tests/visual/tab.html
+++ b/js/tests/visual/tab.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!doctype html>
<html>
<head>
<meta charset="utf-8">
@@ -200,10 +200,10 @@
<div class="row">
<div class="col-4">
<div class="list-group" id="list-tab" role="tablist">
- <a class="list-group-item list-group-item-action active" id="list-home-list" data-toggle="tab" href="#list-home" role="tab" aria-controls="home">Home</a>
- <a class="list-group-item list-group-item-action" id="list-profile-list" data-toggle="tab" href="#list-profile" role="tab" aria-controls="profile">Profile</a>
- <a class="list-group-item list-group-item-action" id="list-messages-list" data-toggle="tab" href="#list-messages" role="tab" aria-controls="messages">Messages</a>
- <a class="list-group-item list-group-item-action" id="list-settings-list" data-toggle="tab" href="#list-settings" role="tab" aria-controls="settings">Settings</a>
+ <a class="list-group-item list-group-item-action active" id="list-home-list" data-toggle="tab" href="#list-home" role="tab" aria-controls="list-home">Home</a>
+ <a class="list-group-item list-group-item-action" id="list-profile-list" data-toggle="tab" href="#list-profile" role="tab" aria-controls="list-profile">Profile</a>
+ <a class="list-group-item list-group-item-action" id="list-messages-list" data-toggle="tab" href="#list-messages" role="tab" aria-controls="list-messages">Messages</a>
+ <a class="list-group-item list-group-item-action" id="list-settings-list" data-toggle="tab" href="#list-settings" role="tab" aria-controls="list-settings">Settings</a>
</div>
</div>
<div class="col-8">
diff --git a/js/tests/visual/tooltip.html b/js/tests/visual/tooltip.html
index fa84a20e4..2d3767830 100644
--- a/js/tests/visual/tooltip.html
+++ b/js/tests/visual/tooltip.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!doctype html>
<html>
<head>
<meta charset="utf-8">