diff options
Diffstat (limited to 'js/tests/integration')
-rw-r--r-- | js/tests/integration/bundle-modularity.js | 7 | ||||
-rw-r--r-- | js/tests/integration/bundle.js | 6 | ||||
-rw-r--r-- | js/tests/integration/index.html | 67 | ||||
-rw-r--r-- | js/tests/integration/rollup.bundle-modularity.js | 17 | ||||
-rw-r--r-- | js/tests/integration/rollup.bundle.js | 24 |
5 files changed, 121 insertions, 0 deletions
diff --git a/js/tests/integration/bundle-modularity.js b/js/tests/integration/bundle-modularity.js new file mode 100644 index 0000000..8546141 --- /dev/null +++ b/js/tests/integration/bundle-modularity.js @@ -0,0 +1,7 @@ +import Tooltip from '../../dist/tooltip' +import '../../dist/carousel' + +window.addEventListener('load', () => { + [].concat(...document.querySelectorAll('[data-bs-toggle="tooltip"]')) + .map(tooltipNode => new Tooltip(tooltipNode)) +}) diff --git a/js/tests/integration/bundle.js b/js/tests/integration/bundle.js new file mode 100644 index 0000000..452088a --- /dev/null +++ b/js/tests/integration/bundle.js @@ -0,0 +1,6 @@ +import { Tooltip } from '../../../dist/js/bootstrap.esm.js' + +window.addEventListener('load', () => { + [].concat(...document.querySelectorAll('[data-bs-toggle="tooltip"]')) + .map(tooltipNode => new Tooltip(tooltipNode)) +}) diff --git a/js/tests/integration/index.html b/js/tests/integration/index.html new file mode 100644 index 0000000..4c71bad --- /dev/null +++ b/js/tests/integration/index.html @@ -0,0 +1,67 @@ +<!doctype html> +<html lang="en"> + <head> + <!-- Required meta tags --> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + + <!-- Bootstrap CSS --> + <link href="../../../dist/css/bootstrap.min.css" rel="stylesheet"> + + <title>Hello, world!</title> + </head> + <body> + <div class="container py-4"> + <h1>Hello, world!</h1> + + <div class="mt-5"> + <button type="button" class="btn btn-secondary mb-3" data-bs-toggle="tooltip" data-bs-placement="top" title="Tooltip on top"> + Tooltip on top + </button> + + <div id="carouselExampleIndicators" class="carousel slide mt-2" data-bs-ride="carousel"> + <div class="carousel-indicators"> + <button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="0" aria-label="Slide 1"></button> + <button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="1" class="active" aria-current="true" aria-label="Slide 2"></button> + <button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="2" aria-label="Slide 3"></button> + </div> + + <div class="carousel-inner"> + <div class="carousel-item"> + <img class="d-block w-100" alt="First slide" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22800%22%20height%3D%22400%22%20preserveAspectRatio%3D%22none%22%20viewBox%3D%220%200%20800%20400%22%3E%3Cpath%20fill%3D%22%23777%22%20d%3D%22M0%200h800v400H0z%22%2F%3E%3Ctext%20x%3D%22285.922%22%20y%3D%22217.7%22%20fill%3D%22%23555%22%20font-family%3D%22Helvetica%2Cmonospace%22%20font-size%3D%2240pt%22%20font-weight%3D%22400%22%3EFirst%20slide%3C%2Ftext%3E%3C%2Fsvg%3E"> + <div class="carousel-caption d-none d-md-block"> + <h5>First slide label</h5> + <p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p> + </div> + </div> + <div class="carousel-item active"> + <img class="d-block w-100" alt="Second slide" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22800%22%20height%3D%22400%22%20preserveAspectRatio%3D%22none%22%20viewBox%3D%220%200%20800%20400%22%3E%3Cpath%20fill%3D%22%23777%22%20d%3D%22M0%200h800v400H0z%22%2F%3E%3Ctext%20x%3D%22285.922%22%20y%3D%22217.7%22%20fill%3D%22%23555%22%20font-family%3D%22Helvetica%2Cmonospace%22%20font-size%3D%2240pt%22%20font-weight%3D%22400%22%3ESecond%20slide%3C%2Ftext%3E%3C%2Fsvg%3E"> + <div class="carousel-caption d-none d-md-block"> + <h5>Second slide label</h5> + <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> + </div> + </div> + <div class="carousel-item"> + <img class="d-block w-100" alt="Third slide" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22800%22%20height%3D%22400%22%20preserveAspectRatio%3D%22none%22%20viewBox%3D%220%200%20800%20400%22%3E%3Cpath%20fill%3D%22%23777%22%20d%3D%22M0%200h800v400H0z%22%2F%3E%3Ctext%20x%3D%22285.922%22%20y%3D%22217.7%22%20fill%3D%22%23555%22%20font-family%3D%22Helvetica%2Cmonospace%22%20font-size%3D%2240pt%22%20font-weight%3D%22400%22%3EThird%20slide%3C%2Ftext%3E%3C%2Fsvg%3E"> + <div class="carousel-caption d-none d-md-block"> + <h5>Third slide label</h5> + <p>Praesent commodo cursus magna, vel scelerisque nisl consectetur.</p> + </div> + </div> + </div> + + <a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-bs-slide="prev"> + <span class="carousel-control-prev-icon" aria-hidden="true"></span> + <span class="visually-hidden">Previous</span> + </a> + <a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-bs-slide="next"> + <span class="carousel-control-next-icon" aria-hidden="true"></span> + <span class="visually-hidden">Next</span> + </a> + </div> + </div> + </div> + + <script src="../../coverage/bundle.js"></script> + </body> +</html> diff --git a/js/tests/integration/rollup.bundle-modularity.js b/js/tests/integration/rollup.bundle-modularity.js new file mode 100644 index 0000000..a8670ca --- /dev/null +++ b/js/tests/integration/rollup.bundle-modularity.js @@ -0,0 +1,17 @@ +/* eslint-env node */ + +const commonjs = require('@rollup/plugin-commonjs') +const configRollup = require('./rollup.bundle') + +const config = { + ...configRollup, + input: 'js/tests/integration/bundle-modularity.js', + output: { + file: 'js/coverage/bundle-modularity.js', + format: 'iife' + } +} + +config.plugins.unshift(commonjs()) + +module.exports = config diff --git a/js/tests/integration/rollup.bundle.js b/js/tests/integration/rollup.bundle.js new file mode 100644 index 0000000..caddcab --- /dev/null +++ b/js/tests/integration/rollup.bundle.js @@ -0,0 +1,24 @@ +/* eslint-env node */ + +const { babel } = require('@rollup/plugin-babel') +const { nodeResolve } = require('@rollup/plugin-node-resolve') +const replace = require('@rollup/plugin-replace') + +module.exports = { + input: 'js/tests/integration/bundle.js', + output: { + file: 'js/coverage/bundle.js', + format: 'iife' + }, + plugins: [ + replace({ + 'process.env.NODE_ENV': '"production"', + preventAssignment: true + }), + nodeResolve(), + babel({ + exclude: 'node_modules/**', + babelHelpers: 'bundled' + }) + ] +} |