bootstrap-vue
Version:
Quickly integrate Bootstrap 4 components with Vue.js
68 lines (54 loc) • 2.48 kB
JavaScript
import { loadFixture, testVM, nextTick, setData } from '../../../tests/utils';
describe("embed", async () => {
beforeEach(loadFixture(__dirname, "embed"));
testVM();
it("default should be rendered with outer tag 'div'", async () => {
const { app: { $refs } } = window;
expect($refs.default).toBeElement("div");
});
it("tag should be rendered with outer tag 'aside'", async () => {
const { app: { $refs } } = window;
expect($refs.tag).toBeElement("aside");
});
it("default should be rendered with inner tag 'iframe'", async () => {
const { app: { $refs } } = window;
expect($refs.default.children[0]).toBeElement("iframe");
});
it("type should be rendered with inner tag 'video'", async () => {
const { app: { $refs } } = window;
expect($refs.type.children[0]).toBeElement("video");
});
it("all should be rendered with default outer class 'embed-responsive'", async () => {
const { app: { $refs } } = window;
["default","tag","type","aspect","attributes","children"].forEach(ref => {
expect($refs[ref]).toHaveClass("embed-responsive");
});
});
it("all should be rendered with default inner class 'embed-responsive-item'", async () => {
const { app: { $refs } } = window;
["default","tag","type","aspect","attributes","children"].forEach(ref => {
expect($refs[ref].children[0]).toHaveClass("embed-responsive-item");
});
});
it("default should be rendered with outer class 'embed-responsive-16by9'", async () => {
const { app: { $refs } } = window;
expect($refs.default).toHaveClass("embed-responsive-16by9");
});
it("aspect should be rendered with outer class 'embed-responsive-4by3'", async () => {
const { app: { $refs } } = window;
expect($refs.aspect).toHaveClass("embed-responsive-4by3");
});
it("attributes should have attribute 'foo=bar' on inner tag", async () => {
const { app: { $refs } } = window;
expect($refs.attributes.children[0].hasAttribute("foo")).toBe(true);
expect($refs.attributes.children[0].getAttribute("foo")).toBe("bar");
});
it("attributes should have attribute 'baz' on inner tag", async () => {
const { app: { $refs } } = window;
expect($refs.attributes.children[0].hasAttribute("baz")).toBe(true);
});
it("children should be rendered inside inner element", async () => {
const { app: { $refs } } = window;
expect($refs.children.children[0].children[0]).toBeElement("source");
});
});