1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

update components

This commit is contained in:
Luke Pulverenti 2016-04-06 13:34:36 -04:00
parent b4d47994e6
commit 84e9dd4257
22 changed files with 516 additions and 375 deletions

View file

@ -34,6 +34,19 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
</template>
</test-fixture>
<test-fixture id="TwoMenuButtons">
<template>
<paper-menu-button no-animations>
<span class="dropdown-trigger">trigger</span>
<span class="dropdown-content">content</span>
</paper-menu-button>
<paper-menu-button no-animations>
<span class="dropdown-trigger">trigger</span>
<span class="dropdown-content">content</span>
</paper-menu-button>
</template>
</test-fixture>
<script>
suite('<paper-menu-button>', function() {
var menuButton;
@ -54,37 +67,27 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
expect(contentRect.width).to.be.equal(0);
expect(contentRect.height).to.be.equal(0);
MockInteractions.tap(trigger);
Polymer.Base.async(function() {
contentRect = content.getBoundingClientRect();
menuButton.addEventListener('paper-dropdown-open', function() {
expect(menuButton.opened).to.be.equal(true);
expect(contentRect.width).to.be.greaterThan(0);
expect(contentRect.height).to.be.greaterThan(0);
done();
});
MockInteractions.tap(trigger);
});
test('closes when trigger is clicked again', function(done) {
MockInteractions.tap(trigger);
Polymer.Base.async(function() {
MockInteractions.tap(trigger);
menuButton.addEventListener('paper-dropdown-open', function() {
menuButton.addEventListener('paper-dropdown-close', function() {
expect(menuButton.opened).to.be.equal(false);
done();
});
Polymer.Base.async(function() {
var contentRect = content.getBoundingClientRect();
expect(menuButton.opened).to.be.equal(false);
expect(contentRect.width).to.be.equal(0);
expect(contentRect.height).to.be.equal(0);
done();
}, Polymer.PaperMenuButton.MAX_ANIMATION_TIME_MS);
}, 100);
MockInteractions.tap(trigger);
});
});
MockInteractions.tap(trigger);
});
test('closes when disabled while open', function() {
@ -103,6 +106,62 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
test('has aria-haspopup attribute', function() {
expect(menuButton.hasAttribute('aria-haspopup')).to.be.equal(true);
});
});
suite('when there are two buttons', function() {
var menuButton;
var trigger;
var otherButton;
var otherTrigger;
setup(function() {
var buttons = fixture('TwoMenuButtons');
menuButton = buttons[0];
otherButton = buttons[1];
trigger = Polymer.dom(menuButton).querySelector('.dropdown-trigger');
otherTrigger = Polymer.dom(otherButton).querySelector('.dropdown-trigger');
});
test('closes current and opens other', function(done) {
expect(menuButton.opened).to.be.equal(false);
expect(otherButton.opened).to.be.equal(false);
/*
NOTE: iron-overlay-behavior adds listeners asynchronously when the
overlay opens, so we need to wait for this event which is a
more-explicit signal that tells us that the overlay is really opened.
*/
menuButton.addEventListener('iron-overlay-opened', function() {
expect(menuButton.opened).to.be.equal(true);
expect(otherButton.opened).to.be.equal(false);
var firstClosed = false;
var secondOpened = false;
menuButton.addEventListener('paper-dropdown-close', function() {
firstClosed = true;
});
otherButton.addEventListener('paper-dropdown-open', function() {
secondOpened = true;
});
Polymer.Base.async(function() {
MockInteractions.tap(otherTrigger);
});
Polymer.Base.async(function() {
expect(firstClosed).to.be.equal(true);
expect(secondOpened).to.be.equal(true);
done();
});
});
MockInteractions.tap(trigger);
});
});
</script>
</body>