Blame view

bower_components/iron-collapse/test/basic.html 3.67 KB
73bcce88   luigser   COMPONENTS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
  <!doctype html>
  <!--
  Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
  This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
  The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
  The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
  Code distributed by Google as part of the polymer project is also
  subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
  -->
  
  <html>
    <head>
  
      <title>iron-collapse-basic</title>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
  
      <script src="../../webcomponentsjs/webcomponents-lite.js"></script>
      <script src="../../web-component-tester/browser.js"></script>
      <script src="../../test-fixture/test-fixture-mocha.js"></script>
  
      <link rel="import" href="../../test-fixture/test-fixture.html">
      <link rel="import" href="../iron-collapse.html">
  
    </head>
    <body>
  
      <test-fixture id="test">
        <template>
          <iron-collapse id="collapse" opened>
a1a3bc73   Luigi Serra   graphs updates
31
32
            <div style="height:100px;">
              Lorem ipsum
73bcce88   luigser   COMPONENTS
33
34
35
36
37
38
39
40
41
42
            </div>
          </iron-collapse>
        </template>
      </test-fixture>
  
      <script>
  
        suite('basic', function() {
  
          var collapse;
73bcce88   luigser   COMPONENTS
43
44
          var collapseHeight;
  
a1a3bc73   Luigi Serra   graphs updates
45
          setup(function() {
73bcce88   luigser   COMPONENTS
46
            collapse = fixture('test');
a1a3bc73   Luigi Serra   graphs updates
47
            collapseHeight = getComputedStyle(collapse).height;
73bcce88   luigser   COMPONENTS
48
49
50
51
52
53
          });
  
          test('opened attribute', function() {
            assert.equal(collapse.opened, true);
          });
  
a1a3bc73   Luigi Serra   graphs updates
54
55
56
57
          test('animated by default', function() {
            assert.isTrue(!collapse.noAnimation, '`noAnimation` is falsy');
          });
  
73bcce88   luigser   COMPONENTS
58
59
60
61
          test('horizontal attribute', function() {
            assert.equal(collapse.horizontal, false);
          });
  
a1a3bc73   Luigi Serra   graphs updates
62
63
          test('default opened height', function() {
            assert.equal(collapse.style.height, 'auto');
73bcce88   luigser   COMPONENTS
64
65
          });
  
a1a3bc73   Luigi Serra   graphs updates
66
          test('set opened to false triggers animation', function(done) {
73bcce88   luigser   COMPONENTS
67
            collapse.opened = false;
a1a3bc73   Luigi Serra   graphs updates
68
69
70
71
72
            // Animation got enabled.
            assert.notEqual(collapse.style.transitionDuration, '0s');
            collapse.addEventListener('transitionend', function() {
              // Animation disabled.
              assert.equal(collapse.style.transitionDuration, '0s');
73bcce88   luigser   COMPONENTS
73
              done();
a1a3bc73   Luigi Serra   graphs updates
74
            });
73bcce88   luigser   COMPONENTS
75
76
          });
  
a1a3bc73   Luigi Serra   graphs updates
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
          test('enableTransition(false) disables animations', function() {
            collapse.enableTransition(false);
            assert.isTrue(collapse.noAnimation, '`noAnimation` is true');
            // trying to animate the size update
            collapse.updateSize('0px', true);
            // Animation immediately disabled.
            assert.equal(collapse.style.height, '0px');
          });
  
          test('set opened to false, then to true', function(done) {
            // this listener will be triggered twice (every time `opened` changes)
            collapse.addEventListener('transitionend', function() {
              if (collapse.opened) {
                // Check finalSize after animation is done.
                assert.equal(collapse.style.height, 'auto');
                done();
              } else {
                // Check if size is still 0px.
                assert.equal(collapse.style.height, '0px');
                // Trigger 2nd toggle.
                collapse.opened = true;
                // Size should be immediately set.
                assert.equal(collapse.style.height, collapseHeight);
              }
            });
            // Trigger 1st toggle.
            collapse.opened = false;
            // Size should be immediately set.
            assert.equal(collapse.style.height, '0px');
73bcce88   luigser   COMPONENTS
106
107
108
109
110
111
112
113
          });
  
        });
  
      </script>
  
    </body>
  </html>