materialize-css
Version:
Builds Materialize distribution packages
101 lines (76 loc) • 4.01 kB
JavaScript
describe( "Cards", function () {
var reveal;
beforeEach(function() {
loadFixtures('cards/cardsFixture.html');
});
describe("reveal cards", function () {
var revealCard;
beforeEach(function() {
revealCard = $('.card.reveal');
});
it("should have a hidden card-reveal", function (done) {
var revealDiv = revealCard.find('.card-reveal');
var activator = revealCard.find('.activator');
expect(revealDiv).toBeHidden('reveal div should be hidden initially');
activator.click();
setTimeout(function() {
expect(revealDiv).toBeVisible('reveal did not appear after activator was clicked.');
// Check revealDiv covers reveal card.
expect(revealDiv.outerWidth()).toEqual(revealCard.outerWidth(), 'activator was not as wide as reveal card.');
expect(revealDiv.outerHeight()).toEqual(revealCard.outerHeight(), 'activator was not as high as reveal card.');
expect(revealDiv.offset().top).toEqual(revealCard.offset().top, 'activator was not as in the same y as reveal card.');
expect(revealDiv.offset().left).toEqual(revealCard.offset().left, 'activator was not as in the same x as reveal card.');
done();
}, 400);
});
});
describe("image cards", function () {
var imageCard;
beforeEach(function() {
imageCard = $('.card.image');
});
it("should have an image that fills to full width of card", function () {
var image = imageCard.find('.card-image > img');
expect(image.outerWidth()).toEqual(imageCard.outerWidth(), 'image does not fill width of card');
expect(image.offset().top).toEqual(imageCard.offset().top, 'image was not as in the same y as card.');
});
});
describe("sized cards", function () {
var small, medium, large;
beforeEach(function() {
small = $('.card.small');
medium = $('.card.medium');
large = $('.card.large');
});
it("should have small card dimensions", function () {
var cardImage = small.find('.card-image');
var cardContent = small.find('.card-content');
var cardAction = small.find('.card-action');
expect(small.outerHeight()).toEqual(300, 'small card should be 300px high');
expect(cardImage.outerHeight()).toBeLessThan(181, 'small image should be <= 180px or 60% high');
expect(cardContent.outerHeight()).toBeLessThan(121, 'small content should be <= 120px or 40% high');
expect(cardAction.offset().top + cardAction.outerHeight())
.toEqual(small.offset().top + small.outerHeight(), 'small action should be at bottom of card');
});
it("should have medium card dimensions", function () {
var cardImage = medium.find('.card-image');
var cardContent = medium.find('.card-content');
var cardAction = medium.find('.card-action');
expect(medium.outerHeight()).toEqual(400, 'medium card should be 400px high');
expect(cardImage.outerHeight()).toBeLessThan(241, 'medium image should be <= 240 or 60% high');
expect(cardContent.outerHeight()).toBeLessThan(161, 'medium content should be <= 160px or 40% high');
expect(cardAction.offset().top + cardAction.outerHeight())
.toEqual(medium.offset().top + medium.outerHeight(), 'medium action should be at bottom of card');
});
it("should have large card dimensions", function () {
var cardImage = large.find('.card-image');
var cardContent = large.find('.card-content');
var cardAction = large.find('.card-action');
expect(large.outerHeight()).toEqual(500, 'large card should be 500px high');
expect(cardImage.outerHeight()).toBeLessThan(301, 'large image should be <= 300 or 60% high');
expect(cardContent.outerHeight()).toBeLessThan(201, 'large content should be <= 200 or 40% high');
expect(cardAction.offset().top + cardAction.outerHeight())
.toEqual(large.offset().top + large.outerHeight(), 'large action should be at bottom of card');
});
});
});