mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-05-22 06:31:45 +08:00
test(Calendar): add test cases (#8712)
* test(Calendar): add test cases * test(Calendar): test cases * test(Calendar): test cases
This commit is contained in:
parent
d9c3050542
commit
bb7dccfeec
@ -1,325 +0,0 @@
|
|||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
||||||
|
|
||||||
exports[`color prop when type is range 1`] = `
|
|
||||||
<div class="van-calendar">
|
|
||||||
<div class="van-calendar__header">
|
|
||||||
<div class="van-calendar__header-title">日期选择</div>
|
|
||||||
<div class="van-calendar__header-subtitle">2010年1月</div>
|
|
||||||
<div class="van-calendar__weekdays"><span class="van-calendar__weekday">日</span><span class="van-calendar__weekday">一</span><span class="van-calendar__weekday">二</span><span class="van-calendar__weekday">三</span><span class="van-calendar__weekday">四</span><span class="van-calendar__weekday">五</span><span class="van-calendar__weekday">六</span></div>
|
|
||||||
</div>
|
|
||||||
<div class="van-calendar__body">
|
|
||||||
<div class="van-calendar__month">
|
|
||||||
<div role="grid" class="van-calendar__days">
|
|
||||||
<div class="van-calendar__month-mark" style="">1</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="margin-left: 71.42857142857143%;">1</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="">2</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="">3</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="">4</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="">5</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">6</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">7</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">8</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">9</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day van-calendar__day--start" style="background: blue;">10<div class="van-calendar__bottom-info">开始</div>
|
|
||||||
</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day van-calendar__day--middle" style="color: blue;">11</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day van-calendar__day--middle" style="color: blue;">12</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day van-calendar__day--middle" style="color: blue;">13</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day van-calendar__day--middle" style="color: blue;">14</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day van-calendar__day--middle" style="color: blue;">15</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day van-calendar__day--middle" style="color: blue;">16</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day van-calendar__day--middle" style="color: blue;">17</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day van-calendar__day--middle" style="color: blue;">18</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day van-calendar__day--middle" style="color: blue;">19</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day van-calendar__day--end" style="background: blue;">20<div class="van-calendar__bottom-info">结束</div>
|
|
||||||
</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">21</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">22</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">23</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">24</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">25</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">26</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">27</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">28</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">29</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">30</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">31</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="van-calendar__footer"><button type="button" class="van-button van-button--danger van-button--normal van-button--block van-button--round van-calendar__confirm" style="color: white; background: blue; border-color: blue;">
|
|
||||||
<div class="van-button__content"><span class="van-button__text">确定</span></div>
|
|
||||||
</button></div>
|
|
||||||
</div>
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`color prop when type is single 1`] = `
|
|
||||||
<div class="van-calendar">
|
|
||||||
<div class="van-calendar__header">
|
|
||||||
<div class="van-calendar__header-title">日期选择</div>
|
|
||||||
<div class="van-calendar__header-subtitle">2010年1月</div>
|
|
||||||
<div class="van-calendar__weekdays"><span class="van-calendar__weekday">日</span><span class="van-calendar__weekday">一</span><span class="van-calendar__weekday">二</span><span class="van-calendar__weekday">三</span><span class="van-calendar__weekday">四</span><span class="van-calendar__weekday">五</span><span class="van-calendar__weekday">六</span></div>
|
|
||||||
</div>
|
|
||||||
<div class="van-calendar__body">
|
|
||||||
<div class="van-calendar__month">
|
|
||||||
<div role="grid" class="van-calendar__days">
|
|
||||||
<div class="van-calendar__month-mark" style="">1</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="margin-left: 71.42857142857143%;">1</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="">2</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="">3</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="">4</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="">5</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">6</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">7</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">8</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">9</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">
|
|
||||||
<div class="van-calendar__selected-day" style="background: blue;">10</div>
|
|
||||||
</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">11</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">12</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">13</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">14</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">15</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">16</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">17</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">18</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">19</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">20</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">21</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">22</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">23</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">24</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">25</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">26</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">27</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">28</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">29</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">30</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">31</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="van-calendar__footer"><button type="button" class="van-button van-button--danger van-button--normal van-button--block van-button--round van-calendar__confirm" style="color: white; background: blue; border-color: blue;">
|
|
||||||
<div class="van-button__content"><span class="van-button__text">确定</span></div>
|
|
||||||
</button></div>
|
|
||||||
</div>
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`formatter prop 1`] = `
|
|
||||||
<div class="van-calendar">
|
|
||||||
<div class="van-calendar__header">
|
|
||||||
<div class="van-calendar__header-title">日期选择</div>
|
|
||||||
<div class="van-calendar__header-subtitle">2010年1月</div>
|
|
||||||
<div class="van-calendar__weekdays"><span class="van-calendar__weekday">日</span><span class="van-calendar__weekday">一</span><span class="van-calendar__weekday">二</span><span class="van-calendar__weekday">三</span><span class="van-calendar__weekday">四</span><span class="van-calendar__weekday">五</span><span class="van-calendar__weekday">六</span></div>
|
|
||||||
</div>
|
|
||||||
<div class="van-calendar__body">
|
|
||||||
<div class="van-calendar__month">
|
|
||||||
<div role="grid" class="van-calendar__days">
|
|
||||||
<div class="van-calendar__month-mark" style="">1</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="margin-left: 71.42857142857143%;">1</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="">2</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="">3</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="">4</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="">5</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">6</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">7</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">8</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">9</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">
|
|
||||||
<div class="van-calendar__selected-day">10</div>
|
|
||||||
</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">
|
|
||||||
<div class="van-calendar__top-info">Top Info</div>11
|
|
||||||
</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">12<div class="van-calendar__bottom-info">Bottom Info</div>
|
|
||||||
</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">Text</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day test">14</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">15</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">16</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">17</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">18</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">19</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">20</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">21</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">22</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">23</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">24</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">25</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">26</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">27</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">28</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">29</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">30</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">31</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="van-calendar__footer"><button type="button" class="van-button van-button--danger van-button--normal van-button--block van-button--round van-calendar__confirm">
|
|
||||||
<div class="van-button__content"><span class="van-button__text">确定</span></div>
|
|
||||||
</button></div>
|
|
||||||
</div>
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`popup wrapper 1`] = ``;
|
|
||||||
|
|
||||||
exports[`popup wrapper 2`] = `
|
|
||||||
<div class="van-popup van-popup--round van-popup--bottom van-calendar__popup" name="van-popup-slide-bottom" style="z-index: 2002;">
|
|
||||||
<div class="van-calendar">
|
|
||||||
<div class="van-calendar__header">
|
|
||||||
<div class="van-calendar__header-title">日期选择</div>
|
|
||||||
<div class="van-calendar__header-subtitle">2010年1月</div>
|
|
||||||
<div class="van-calendar__weekdays"><span class="van-calendar__weekday">日</span><span class="van-calendar__weekday">一</span><span class="van-calendar__weekday">二</span><span class="van-calendar__weekday">三</span><span class="van-calendar__weekday">四</span><span class="van-calendar__weekday">五</span><span class="van-calendar__weekday">六</span></div>
|
|
||||||
</div>
|
|
||||||
<div class="van-calendar__body">
|
|
||||||
<div class="van-calendar__month">
|
|
||||||
<div role="grid" class="van-calendar__days">
|
|
||||||
<div class="van-calendar__month-mark" style="">1</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="margin-left: 71.42857142857143%;">1</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="">2</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="">3</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="">4</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="">5</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">6</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">7</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">8</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">9</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">
|
|
||||||
<div class="van-calendar__selected-day">10</div>
|
|
||||||
</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">11</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">12</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">13</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">14</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">15</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">16</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">17</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">18</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">19</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">20</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">21</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">22</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">23</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">24</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">25</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">26</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">27</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">28</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">29</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">30</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">31</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="van-calendar__footer"><button type="button" class="van-button van-button--danger van-button--normal van-button--block van-button--round van-calendar__confirm">
|
|
||||||
<div class="van-button__content"><span class="van-button__text">确定</span></div>
|
|
||||||
</button></div>
|
|
||||||
</div><i role="button" tabindex="0" class="van-icon van-icon-cross van-popup__close-icon van-popup__close-icon--top-right">
|
|
||||||
<!----></i>
|
|
||||||
</div>
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`row-height prop 1`] = `
|
|
||||||
<div class="van-calendar">
|
|
||||||
<div class="van-calendar__header">
|
|
||||||
<div class="van-calendar__header-title">日期选择</div>
|
|
||||||
<div class="van-calendar__header-subtitle">2010年1月</div>
|
|
||||||
<div class="van-calendar__weekdays"><span class="van-calendar__weekday">日</span><span class="van-calendar__weekday">一</span><span class="van-calendar__weekday">二</span><span class="van-calendar__weekday">三</span><span class="van-calendar__weekday">四</span><span class="van-calendar__weekday">五</span><span class="van-calendar__weekday">六</span></div>
|
|
||||||
</div>
|
|
||||||
<div class="van-calendar__body">
|
|
||||||
<div class="van-calendar__month">
|
|
||||||
<div role="grid" class="van-calendar__days">
|
|
||||||
<div class="van-calendar__month-mark" style="">1</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="height: 50px; margin-left: 71.42857142857143%;">1</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="height: 50px;">2</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="height: 50px;">3</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="height: 50px;">4</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="height: 50px;">5</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="height: 50px;">6</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="height: 50px;">7</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="height: 50px;">8</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="height: 50px;">9</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day" style="height: 50px;">
|
|
||||||
<div class="van-calendar__selected-day" style="width: 50px; height: 50px;">10</div>
|
|
||||||
</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day" style="height: 50px;">11</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day" style="height: 50px;">12</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day" style="height: 50px;">13</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day" style="height: 50px;">14</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day" style="height: 50px;">15</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day" style="height: 50px;">16</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day" style="height: 50px;">17</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day" style="height: 50px;">18</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day" style="height: 50px;">19</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day" style="height: 50px;">20</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="height: 50px;">21</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="height: 50px;">22</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="height: 50px;">23</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="height: 50px;">24</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="height: 50px;">25</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="height: 50px;">26</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="height: 50px;">27</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="height: 50px;">28</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="height: 50px;">29</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="height: 50px;">30</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="height: 50px;">31</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="van-calendar__footer"><button type="button" class="van-button van-button--danger van-button--normal van-button--block van-button--round van-calendar__confirm">
|
|
||||||
<div class="van-button__content"><span class="van-button__text">确定</span></div>
|
|
||||||
</button></div>
|
|
||||||
</div>
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`title & footer slot 1`] = `
|
|
||||||
<div class="van-calendar">
|
|
||||||
<div class="van-calendar__header">
|
|
||||||
<div class="van-calendar__header-title">Custom Title</div>
|
|
||||||
<div class="van-calendar__header-subtitle">2010年1月</div>
|
|
||||||
<div class="van-calendar__weekdays"><span class="van-calendar__weekday">日</span><span class="van-calendar__weekday">一</span><span class="van-calendar__weekday">二</span><span class="van-calendar__weekday">三</span><span class="van-calendar__weekday">四</span><span class="van-calendar__weekday">五</span><span class="van-calendar__weekday">六</span></div>
|
|
||||||
</div>
|
|
||||||
<div class="van-calendar__body">
|
|
||||||
<div class="van-calendar__month">
|
|
||||||
<div role="grid" class="van-calendar__days">
|
|
||||||
<div class="van-calendar__month-mark" style="">1</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="margin-left: 71.42857142857143%;">1</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="">2</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="">3</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="">4</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="">5</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">6</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">7</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">8</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">9</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">
|
|
||||||
<div class="van-calendar__selected-day">10</div>
|
|
||||||
</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">11</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">12</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">13</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">14</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">15</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">16</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">17</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">18</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">19</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">20</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">21</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">22</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">23</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">24</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">25</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">26</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">27</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">28</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">29</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">30</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">31</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="van-calendar__footer">Custom Footer</div>
|
|
||||||
</div>
|
|
||||||
`;
|
|
1143
src/calendar/test/__snapshots__/index.spec.ts.snap
Normal file
1143
src/calendar/test/__snapshots__/index.spec.ts.snap
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,54 +0,0 @@
|
|||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
||||||
|
|
||||||
exports[`lazy-render prop 1`] = `
|
|
||||||
<div class="van-calendar">
|
|
||||||
<div class="van-calendar__header">
|
|
||||||
<div class="van-calendar__header-title">日期选择</div>
|
|
||||||
<div class="van-calendar__header-subtitle"></div>
|
|
||||||
<div class="van-calendar__weekdays"><span class="van-calendar__weekday">日</span><span class="van-calendar__weekday">一</span><span class="van-calendar__weekday">二</span><span class="van-calendar__weekday">三</span><span class="van-calendar__weekday">四</span><span class="van-calendar__weekday">五</span><span class="van-calendar__weekday">六</span></div>
|
|
||||||
</div>
|
|
||||||
<div class="van-calendar__body">
|
|
||||||
<div class="van-calendar__month">
|
|
||||||
<div role="grid" class="van-calendar__days">
|
|
||||||
<div class="van-calendar__month-mark">1</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled" style="margin-left: 71.42857142857143%;">1</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">2</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">3</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">4</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">5</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">6</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">7</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">8</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">9</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">10</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">11</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">12</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">13</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">14</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">15</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">16</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">17</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">18</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">19</div>
|
|
||||||
<div role="gridcell" tabindex="-1" class="van-calendar__day">
|
|
||||||
<div class="van-calendar__selected-day">20</div>
|
|
||||||
</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">21</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">22</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">23</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">24</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">25</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">26</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">27</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">28</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">29</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">30</div>
|
|
||||||
<div role="gridcell" class="van-calendar__day van-calendar__day--disabled">31</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="van-calendar__footer"><button type="button" class="van-button van-button--danger van-button--normal van-button--block van-button--round van-calendar__confirm">
|
|
||||||
<div class="van-button__content"><span class="van-button__text">确定</span></div>
|
|
||||||
</button></div>
|
|
||||||
</div>
|
|
||||||
`;
|
|
227
src/calendar/test/__snapshots__/prop.spec.ts.snap
Normal file
227
src/calendar/test/__snapshots__/prop.spec.ts.snap
Normal file
@ -0,0 +1,227 @@
|
|||||||
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
|
exports[`lazy-render prop 1`] = `
|
||||||
|
<div class="van-calendar">
|
||||||
|
<div class="van-calendar__header">
|
||||||
|
<div class="van-calendar__header-title">
|
||||||
|
Calendar
|
||||||
|
</div>
|
||||||
|
<div class="van-calendar__header-subtitle">
|
||||||
|
</div>
|
||||||
|
<div class="van-calendar__weekdays">
|
||||||
|
<span class="van-calendar__weekday">
|
||||||
|
Sun
|
||||||
|
</span>
|
||||||
|
<span class="van-calendar__weekday">
|
||||||
|
Mon
|
||||||
|
</span>
|
||||||
|
<span class="van-calendar__weekday">
|
||||||
|
Tue
|
||||||
|
</span>
|
||||||
|
<span class="van-calendar__weekday">
|
||||||
|
Wed
|
||||||
|
</span>
|
||||||
|
<span class="van-calendar__weekday">
|
||||||
|
Thu
|
||||||
|
</span>
|
||||||
|
<span class="van-calendar__weekday">
|
||||||
|
Fri
|
||||||
|
</span>
|
||||||
|
<span class="van-calendar__weekday">
|
||||||
|
Sat
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="van-calendar__body">
|
||||||
|
<div class="van-calendar__month">
|
||||||
|
<div role="grid"
|
||||||
|
class="van-calendar__days"
|
||||||
|
>
|
||||||
|
<div class="van-calendar__month-mark">
|
||||||
|
1
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
style="margin-left: 71.42857142857143%;"
|
||||||
|
class="van-calendar__day van-calendar__day--disabled"
|
||||||
|
>
|
||||||
|
1
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day van-calendar__day--disabled"
|
||||||
|
>
|
||||||
|
2
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day van-calendar__day--disabled"
|
||||||
|
>
|
||||||
|
3
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day van-calendar__day--disabled"
|
||||||
|
>
|
||||||
|
4
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day van-calendar__day--disabled"
|
||||||
|
>
|
||||||
|
5
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day van-calendar__day--disabled"
|
||||||
|
>
|
||||||
|
6
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day van-calendar__day--disabled"
|
||||||
|
>
|
||||||
|
7
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day van-calendar__day--disabled"
|
||||||
|
>
|
||||||
|
8
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day van-calendar__day--disabled"
|
||||||
|
>
|
||||||
|
9
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day"
|
||||||
|
tabindex="-1"
|
||||||
|
>
|
||||||
|
10
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day"
|
||||||
|
tabindex="-1"
|
||||||
|
>
|
||||||
|
11
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day"
|
||||||
|
tabindex="-1"
|
||||||
|
>
|
||||||
|
12
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day"
|
||||||
|
tabindex="-1"
|
||||||
|
>
|
||||||
|
13
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day"
|
||||||
|
tabindex="-1"
|
||||||
|
>
|
||||||
|
14
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day"
|
||||||
|
tabindex="-1"
|
||||||
|
>
|
||||||
|
15
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day"
|
||||||
|
tabindex="-1"
|
||||||
|
>
|
||||||
|
16
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day"
|
||||||
|
tabindex="-1"
|
||||||
|
>
|
||||||
|
17
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day"
|
||||||
|
tabindex="-1"
|
||||||
|
>
|
||||||
|
18
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day"
|
||||||
|
tabindex="-1"
|
||||||
|
>
|
||||||
|
19
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day van-calendar__day--selected"
|
||||||
|
tabindex="-1"
|
||||||
|
>
|
||||||
|
<div class="van-calendar__selected-day">
|
||||||
|
20
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day van-calendar__day--disabled"
|
||||||
|
>
|
||||||
|
21
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day van-calendar__day--disabled"
|
||||||
|
>
|
||||||
|
22
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day van-calendar__day--disabled"
|
||||||
|
>
|
||||||
|
23
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day van-calendar__day--disabled"
|
||||||
|
>
|
||||||
|
24
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day van-calendar__day--disabled"
|
||||||
|
>
|
||||||
|
25
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day van-calendar__day--disabled"
|
||||||
|
>
|
||||||
|
26
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day van-calendar__day--disabled"
|
||||||
|
>
|
||||||
|
27
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day van-calendar__day--disabled"
|
||||||
|
>
|
||||||
|
28
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day van-calendar__day--disabled"
|
||||||
|
>
|
||||||
|
29
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day van-calendar__day--disabled"
|
||||||
|
>
|
||||||
|
30
|
||||||
|
</div>
|
||||||
|
<div role="gridcell"
|
||||||
|
class="van-calendar__day van-calendar__day--disabled"
|
||||||
|
>
|
||||||
|
31
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="van-calendar__footer">
|
||||||
|
<button type="button"
|
||||||
|
class="van-button van-button--danger van-button--normal van-button--block van-button--round van-calendar__confirm"
|
||||||
|
>
|
||||||
|
<div class="van-button__content">
|
||||||
|
<span class="van-button__text">
|
||||||
|
Confirm
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
`;
|
@ -1,50 +0,0 @@
|
|||||||
import { Calendar } from '..';
|
|
||||||
import { mount } from '../../../test';
|
|
||||||
import { getNextDay, getPrevDay } from '../utils';
|
|
||||||
import { minDate, maxDate } from './utils';
|
|
||||||
|
|
||||||
test('should reset to default date when calling reset method', async () => {
|
|
||||||
const defaultDate = [minDate, getNextDay(minDate)];
|
|
||||||
const wrapper = mount(Calendar, {
|
|
||||||
props: {
|
|
||||||
minDate,
|
|
||||||
maxDate,
|
|
||||||
type: 'range',
|
|
||||||
poppable: false,
|
|
||||||
lazyRender: false,
|
|
||||||
defaultDate,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
const days = wrapper.findAll('.van-calendar__day');
|
|
||||||
await days[15].trigger('click');
|
|
||||||
await days[18].trigger('click');
|
|
||||||
|
|
||||||
wrapper.vm.reset();
|
|
||||||
|
|
||||||
wrapper.find('.van-calendar__confirm').trigger('click');
|
|
||||||
expect(wrapper.emitted('confirm')[0][0]).toEqual(defaultDate);
|
|
||||||
});
|
|
||||||
|
|
||||||
test('should reset to specific date when calling reset method with date', async () => {
|
|
||||||
const wrapper = mount(Calendar, {
|
|
||||||
props: {
|
|
||||||
minDate,
|
|
||||||
maxDate,
|
|
||||||
type: 'range',
|
|
||||||
poppable: false,
|
|
||||||
lazyRender: false,
|
|
||||||
defaultDate: [minDate, getNextDay(minDate)],
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
const days = wrapper.findAll('.van-calendar__day');
|
|
||||||
await days[15].trigger('click');
|
|
||||||
await days[18].trigger('click');
|
|
||||||
|
|
||||||
const newDate = [getPrevDay(maxDate), maxDate];
|
|
||||||
wrapper.vm.reset(newDate);
|
|
||||||
|
|
||||||
wrapper.find('.van-calendar__confirm').trigger('click');
|
|
||||||
expect(wrapper.emitted('confirm')[0][0]).toEqual(newDate);
|
|
||||||
});
|
|
@ -1,14 +1,54 @@
|
|||||||
import { Calendar } from '..';
|
import { Calendar, CalendarDayItem } from '..';
|
||||||
import { mount, later } from '../../../test';
|
import { mount, later } from '../../../test';
|
||||||
import { getNextDay } from '../utils';
|
import { getNextDay, getPrevDay } from '../utils';
|
||||||
import {
|
import { now, minDate, maxDate } from './utils';
|
||||||
now,
|
import type { ComponentInstance } from '../../utils';
|
||||||
minDate,
|
|
||||||
maxDate,
|
test('should reset to default date when calling reset method', async () => {
|
||||||
formatDate,
|
const defaultDate = [minDate, getNextDay(minDate)];
|
||||||
formatRange,
|
const wrapper = mount(Calendar, {
|
||||||
formatMultiple,
|
props: {
|
||||||
} from './utils';
|
minDate,
|
||||||
|
maxDate,
|
||||||
|
type: 'range',
|
||||||
|
poppable: false,
|
||||||
|
lazyRender: false,
|
||||||
|
defaultDate,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
const days = wrapper.findAll('.van-calendar__day');
|
||||||
|
await days[15].trigger('click');
|
||||||
|
await days[18].trigger('click');
|
||||||
|
|
||||||
|
(wrapper.vm as ComponentInstance).reset();
|
||||||
|
|
||||||
|
wrapper.find('.van-calendar__confirm').trigger('click');
|
||||||
|
expect(wrapper.emitted<[Date, Date]>('confirm')![0][0]).toEqual(defaultDate);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('should reset to specific date when calling reset method with date', async () => {
|
||||||
|
const wrapper = mount(Calendar, {
|
||||||
|
props: {
|
||||||
|
minDate,
|
||||||
|
maxDate,
|
||||||
|
type: 'range',
|
||||||
|
poppable: false,
|
||||||
|
lazyRender: false,
|
||||||
|
defaultDate: [minDate, getNextDay(minDate)],
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
const days = wrapper.findAll('.van-calendar__day');
|
||||||
|
await days[15].trigger('click');
|
||||||
|
await days[18].trigger('click');
|
||||||
|
|
||||||
|
const newDate = [getPrevDay(maxDate), maxDate];
|
||||||
|
(wrapper.vm as ComponentInstance).reset(newDate);
|
||||||
|
|
||||||
|
wrapper.find('.van-calendar__confirm').trigger('click');
|
||||||
|
expect(wrapper.emitted<[Date, Date]>('confirm')![0][0]).toEqual(newDate);
|
||||||
|
});
|
||||||
|
|
||||||
test('select event when type is single', async () => {
|
test('select event when type is single', async () => {
|
||||||
const wrapper = mount(Calendar, {
|
const wrapper = mount(Calendar, {
|
||||||
@ -16,14 +56,17 @@ test('select event when type is single', async () => {
|
|||||||
minDate,
|
minDate,
|
||||||
maxDate,
|
maxDate,
|
||||||
poppable: false,
|
poppable: false,
|
||||||
|
lazyRender: false,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
await later();
|
await later();
|
||||||
|
|
||||||
wrapper.findAll('.van-calendar__day').at(15).trigger('click');
|
wrapper.findAll('.van-calendar__day')[15].trigger('click');
|
||||||
|
|
||||||
expect(formatDate(wrapper.emitted('select')[0][0])).toEqual('2010/1/16');
|
expect(wrapper.emitted<[Date]>('select')![0][0]).toEqual(
|
||||||
|
new Date(2010, 0, 16)
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('select event when type is range', async () => {
|
test('select event when type is range', async () => {
|
||||||
@ -33,23 +76,27 @@ test('select event when type is range', async () => {
|
|||||||
minDate,
|
minDate,
|
||||||
maxDate,
|
maxDate,
|
||||||
poppable: false,
|
poppable: false,
|
||||||
|
lazyRender: false,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
await later();
|
await later();
|
||||||
|
|
||||||
const days = wrapper.findAll('.van-calendar__day');
|
const days = wrapper.findAll('.van-calendar__day');
|
||||||
days.at(15).trigger('click');
|
days[15].trigger('click');
|
||||||
days.at(15).trigger('click');
|
days[15].trigger('click');
|
||||||
days.at(16).trigger('click');
|
days[16].trigger('click');
|
||||||
days.at(15).trigger('click');
|
days[15].trigger('click');
|
||||||
days.at(12).trigger('click');
|
days[12].trigger('click');
|
||||||
|
|
||||||
const emittedSelect = wrapper.emitted('select');
|
const onSelect = wrapper.emitted<[Date]>('select');
|
||||||
expect(formatRange(emittedSelect[0][0])).toEqual('2010/1/16-');
|
expect(onSelect![0][0]).toEqual([new Date(2010, 0, 16)]);
|
||||||
expect(formatRange(emittedSelect[1][0])).toEqual('2010/1/16-2010/1/17');
|
expect(onSelect![1][0]).toEqual([
|
||||||
expect(formatRange(emittedSelect[2][0])).toEqual('2010/1/16-');
|
new Date(2010, 0, 16),
|
||||||
expect(formatRange(emittedSelect[3][0])).toEqual('2010/1/13-');
|
new Date(2010, 0, 17),
|
||||||
|
]);
|
||||||
|
expect(onSelect![2][0]).toEqual([new Date(2010, 0, 16)]);
|
||||||
|
expect(onSelect![3][0]).toEqual([new Date(2010, 0, 13)]);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('select event when type is multiple', async () => {
|
test('select event when type is multiple', async () => {
|
||||||
@ -60,31 +107,43 @@ test('select event when type is multiple', async () => {
|
|||||||
maxDate,
|
maxDate,
|
||||||
poppable: false,
|
poppable: false,
|
||||||
defaultDate: [minDate],
|
defaultDate: [minDate],
|
||||||
|
lazyRender: false,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
await later();
|
await later();
|
||||||
|
|
||||||
const days = wrapper.findAll('.van-calendar__day');
|
const days = wrapper.findAll('.van-calendar__day');
|
||||||
days.at(15).trigger('click');
|
days[15].trigger('click');
|
||||||
days.at(16).trigger('click');
|
days[16].trigger('click');
|
||||||
days.at(17).trigger('click');
|
days[17].trigger('click');
|
||||||
|
|
||||||
await later();
|
await later();
|
||||||
days.at(15).trigger('click');
|
days[15].trigger('click');
|
||||||
days.at(12).trigger('click');
|
days[12].trigger('click');
|
||||||
|
|
||||||
const emittedSelect = wrapper.emitted('select');
|
const onSelect = wrapper.emitted<[Date]>('select');
|
||||||
expect(formatMultiple(emittedSelect[0][0])).toEqual('2010/1/10,2010/1/16');
|
expect(onSelect![0][0]).toEqual([
|
||||||
expect(formatMultiple(emittedSelect[1][0])).toEqual(
|
new Date(2010, 0, 10),
|
||||||
'2010/1/10,2010/1/16,2010/1/17'
|
new Date(2010, 0, 16),
|
||||||
);
|
]);
|
||||||
expect(formatMultiple(emittedSelect[2][0])).toEqual(
|
expect(onSelect![1][0]).toEqual([
|
||||||
'2010/1/10,2010/1/16,2010/1/17,2010/1/18'
|
new Date(2010, 0, 10),
|
||||||
);
|
new Date(2010, 0, 16),
|
||||||
expect(formatMultiple(emittedSelect[3][0])).toEqual(
|
new Date(2010, 0, 17),
|
||||||
'2010/1/10,2010/1/17,2010/1/18,2010/1/13'
|
]);
|
||||||
);
|
expect(onSelect![2][0]).toEqual([
|
||||||
|
new Date(2010, 0, 10),
|
||||||
|
new Date(2010, 0, 16),
|
||||||
|
new Date(2010, 0, 17),
|
||||||
|
new Date(2010, 0, 18),
|
||||||
|
]);
|
||||||
|
expect(onSelect![3][0]).toEqual([
|
||||||
|
new Date(2010, 0, 10),
|
||||||
|
new Date(2010, 0, 17),
|
||||||
|
new Date(2010, 0, 18),
|
||||||
|
new Date(2010, 0, 13),
|
||||||
|
]);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('select event when type is multiple', async () => {
|
test('select event when type is multiple', async () => {
|
||||||
@ -95,17 +154,20 @@ test('select event when type is multiple', async () => {
|
|||||||
maxDate,
|
maxDate,
|
||||||
poppable: false,
|
poppable: false,
|
||||||
defaultDate: [minDate],
|
defaultDate: [minDate],
|
||||||
|
lazyRender: false,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
await later();
|
await later();
|
||||||
|
|
||||||
const days = wrapper.findAll('.van-calendar__day');
|
const days = wrapper.findAll('.van-calendar__day');
|
||||||
days.at(15).trigger('click');
|
days[15].trigger('click');
|
||||||
await later();
|
await later();
|
||||||
days.at(15).trigger('click');
|
days[15].trigger('click');
|
||||||
|
|
||||||
expect(formatDate(wrapper.emitted('unselect')[0][0])).toEqual('2010/1/16');
|
expect(wrapper.emitted<[Date]>('unselect')![0][0]).toEqual(
|
||||||
|
new Date(2010, 0, 16)
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('should not trigger select event when click disabled day', async () => {
|
test('should not trigger select event when click disabled day', async () => {
|
||||||
@ -114,6 +176,7 @@ test('should not trigger select event when click disabled day', async () => {
|
|||||||
minDate,
|
minDate,
|
||||||
maxDate,
|
maxDate,
|
||||||
poppable: false,
|
poppable: false,
|
||||||
|
lazyRender: false,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -121,7 +184,7 @@ test('should not trigger select event when click disabled day', async () => {
|
|||||||
|
|
||||||
wrapper.findAll('.van-calendar__day')[1].trigger('click');
|
wrapper.findAll('.van-calendar__day')[1].trigger('click');
|
||||||
|
|
||||||
expect(formatDate(wrapper.emitted('select'))).toBeFalsy();
|
expect(wrapper.emitted('select')).toBeFalsy();
|
||||||
});
|
});
|
||||||
|
|
||||||
test('confirm event when type is single', async () => {
|
test('confirm event when type is single', async () => {
|
||||||
@ -130,17 +193,20 @@ test('confirm event when type is single', async () => {
|
|||||||
minDate,
|
minDate,
|
||||||
maxDate,
|
maxDate,
|
||||||
poppable: false,
|
poppable: false,
|
||||||
|
lazyRender: false,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
await later();
|
await later();
|
||||||
|
|
||||||
wrapper.findAll('.van-calendar__day').at(15).trigger('click');
|
wrapper.findAll('.van-calendar__day')[15].trigger('click');
|
||||||
|
|
||||||
expect(wrapper.emitted('confirm')).toBeFalsy();
|
expect(wrapper.emitted('confirm')).toBeFalsy();
|
||||||
|
|
||||||
wrapper.find('.van-calendar__confirm').trigger('click');
|
wrapper.find('.van-calendar__confirm').trigger('click');
|
||||||
expect(formatDate(wrapper.emitted('confirm')[0][0])).toEqual('2010/1/16');
|
expect(wrapper.emitted<[Date]>('confirm')![0][0]).toEqual(
|
||||||
|
new Date(2010, 0, 16)
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('confirm event when type is range', async () => {
|
test('confirm event when type is range', async () => {
|
||||||
@ -150,34 +216,23 @@ test('confirm event when type is range', async () => {
|
|||||||
minDate,
|
minDate,
|
||||||
maxDate,
|
maxDate,
|
||||||
poppable: false,
|
poppable: false,
|
||||||
|
lazyRender: false,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
await later();
|
await later();
|
||||||
|
|
||||||
const days = wrapper.findAll('.van-calendar__day');
|
const days = wrapper.findAll('.van-calendar__day');
|
||||||
days.at(15).trigger('click');
|
days[15].trigger('click');
|
||||||
days.at(18).trigger('click');
|
days[18].trigger('click');
|
||||||
|
|
||||||
expect(wrapper.emitted('confirm')).toBeFalsy();
|
expect(wrapper.emitted('confirm')).toBeFalsy();
|
||||||
|
|
||||||
wrapper.find('.van-calendar__confirm').trigger('click');
|
wrapper.find('.van-calendar__confirm').trigger('click');
|
||||||
expect(formatRange(wrapper.emitted('confirm')[0][0])).toEqual(
|
expect(wrapper.emitted<[Date]>('confirm')![0][0]).toEqual([
|
||||||
'2010/1/16-2010/1/19'
|
new Date(2010, 0, 16),
|
||||||
);
|
new Date(2010, 0, 19),
|
||||||
});
|
]);
|
||||||
|
|
||||||
test('default single date', async () => {
|
|
||||||
const wrapper = mount(Calendar, {
|
|
||||||
props: {
|
|
||||||
poppable: false,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
await later();
|
|
||||||
|
|
||||||
wrapper.find('.van-calendar__confirm').trigger('click');
|
|
||||||
expect(formatDate(wrapper.emitted('confirm')[0][0])).toEqual(formatDate(now));
|
|
||||||
});
|
});
|
||||||
|
|
||||||
test('default range date', async () => {
|
test('default range date', async () => {
|
||||||
@ -185,15 +240,31 @@ test('default range date', async () => {
|
|||||||
props: {
|
props: {
|
||||||
type: 'range',
|
type: 'range',
|
||||||
poppable: false,
|
poppable: false,
|
||||||
|
lazyRender: false,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
await later();
|
await later();
|
||||||
|
|
||||||
wrapper.find('.van-calendar__confirm').trigger('click');
|
wrapper.find('.van-calendar__confirm').trigger('click');
|
||||||
expect(formatRange(wrapper.emitted('confirm')[0][0])).toEqual(
|
expect(wrapper.emitted<[Date]>('confirm')![0][0]).toEqual([
|
||||||
formatRange([now, getNextDay(now)])
|
now,
|
||||||
);
|
getNextDay(now),
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('default single date', async () => {
|
||||||
|
const wrapper = mount(Calendar, {
|
||||||
|
props: {
|
||||||
|
poppable: false,
|
||||||
|
lazyRender: false,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
await later();
|
||||||
|
|
||||||
|
wrapper.find('.van-calendar__confirm').trigger('click');
|
||||||
|
expect(wrapper.emitted<[Date]>('confirm')![0][0]).toEqual(now);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('set show-confirm to false', async () => {
|
test('set show-confirm to false', async () => {
|
||||||
@ -204,18 +275,20 @@ test('set show-confirm to false', async () => {
|
|||||||
type: 'range',
|
type: 'range',
|
||||||
poppable: false,
|
poppable: false,
|
||||||
showConfirm: false,
|
showConfirm: false,
|
||||||
|
lazyRender: false,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
await later();
|
await later();
|
||||||
|
|
||||||
const days = wrapper.findAll('.van-calendar__day');
|
const days = wrapper.findAll('.van-calendar__day');
|
||||||
days.at(15).trigger('click');
|
days[15].trigger('click');
|
||||||
days.at(18).trigger('click');
|
days[18].trigger('click');
|
||||||
|
|
||||||
expect(formatRange(wrapper.emitted('confirm')[0][0])).toEqual(
|
expect(wrapper.emitted<[Date]>('confirm')![0][0]).toEqual([
|
||||||
'2010/1/16-2010/1/19'
|
new Date(2010, 0, 16),
|
||||||
);
|
new Date(2010, 0, 19),
|
||||||
|
]);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('row-height prop', async () => {
|
test('row-height prop', async () => {
|
||||||
@ -226,6 +299,7 @@ test('row-height prop', async () => {
|
|||||||
poppable: false,
|
poppable: false,
|
||||||
rowHeight: 50,
|
rowHeight: 50,
|
||||||
defaultDate: minDate,
|
defaultDate: minDate,
|
||||||
|
lazyRender: false,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -241,8 +315,9 @@ test('formatter prop', async () => {
|
|||||||
maxDate,
|
maxDate,
|
||||||
poppable: false,
|
poppable: false,
|
||||||
defaultDate: minDate,
|
defaultDate: minDate,
|
||||||
formatter(day) {
|
lazyRender: false,
|
||||||
const date = day.date.getDate();
|
formatter(day: CalendarDayItem) {
|
||||||
|
const date = day.date?.getDate();
|
||||||
|
|
||||||
switch (date) {
|
switch (date) {
|
||||||
case 11:
|
case 11:
|
||||||
@ -276,6 +351,7 @@ test('title & footer slot', async () => {
|
|||||||
maxDate,
|
maxDate,
|
||||||
poppable: false,
|
poppable: false,
|
||||||
defaultDate: minDate,
|
defaultDate: minDate,
|
||||||
|
lazyRender: false,
|
||||||
},
|
},
|
||||||
slots: {
|
slots: {
|
||||||
title: () => 'Custom Title',
|
title: () => 'Custom Title',
|
||||||
@ -295,22 +371,26 @@ test('should reset when type changed', async () => {
|
|||||||
maxDate,
|
maxDate,
|
||||||
poppable: false,
|
poppable: false,
|
||||||
defaultDate: minDate,
|
defaultDate: minDate,
|
||||||
|
lazyRender: false,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
await later();
|
await later();
|
||||||
|
|
||||||
wrapper.find('.van-calendar__confirm').trigger('click');
|
wrapper.find('.van-calendar__confirm').trigger('click');
|
||||||
expect(formatDate(wrapper.emitted('confirm')[0][0])).toEqual('2010/1/10');
|
expect(wrapper.emitted<[Date]>('confirm')![0][0]).toEqual(
|
||||||
|
new Date(2010, 0, 10)
|
||||||
|
);
|
||||||
|
|
||||||
wrapper.setProps({
|
await wrapper.setProps({
|
||||||
type: 'range',
|
type: 'range',
|
||||||
defaultDate: [minDate, getNextDay(minDate)],
|
defaultDate: [minDate, getNextDay(minDate)],
|
||||||
});
|
});
|
||||||
wrapper.find('.van-calendar__confirm').trigger('click');
|
wrapper.find('.van-calendar__confirm').trigger('click');
|
||||||
expect(formatRange(wrapper.emitted('confirm')[1][0])).toEqual(
|
expect(wrapper.emitted<[Date]>('confirm')![1][0]).toEqual([
|
||||||
'2010/1/10-2010/1/11'
|
new Date(2010, 0, 10),
|
||||||
);
|
new Date(2010, 0, 11),
|
||||||
|
]);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('default-date prop in single type', async () => {
|
test('default-date prop in single type', async () => {
|
||||||
@ -320,17 +400,22 @@ test('default-date prop in single type', async () => {
|
|||||||
maxDate,
|
maxDate,
|
||||||
defaultDate: getNextDay(minDate),
|
defaultDate: getNextDay(minDate),
|
||||||
poppable: false,
|
poppable: false,
|
||||||
|
lazyRender: false,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
await later();
|
await later();
|
||||||
|
|
||||||
wrapper.find('.van-calendar__confirm').trigger('click');
|
wrapper.find('.van-calendar__confirm').trigger('click');
|
||||||
expect(formatDate(wrapper.emitted('confirm')[0][0])).toEqual('2010/1/11');
|
expect(wrapper.emitted<[Date]>('confirm')![0][0]).toEqual(
|
||||||
|
new Date(2010, 0, 11)
|
||||||
|
);
|
||||||
|
|
||||||
wrapper.setProps({ defaultDate: maxDate });
|
await wrapper.setProps({ defaultDate: maxDate });
|
||||||
wrapper.find('.van-calendar__confirm').trigger('click');
|
wrapper.find('.van-calendar__confirm').trigger('click');
|
||||||
expect(formatDate(wrapper.emitted('confirm')[1][0])).toEqual('2010/1/20');
|
expect(wrapper.emitted<[Date]>('confirm')![1][0]).toEqual(
|
||||||
|
new Date(2010, 0, 20)
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('default-date prop in range type', async () => {
|
test('default-date prop in range type', async () => {
|
||||||
@ -340,22 +425,24 @@ test('default-date prop in range type', async () => {
|
|||||||
minDate,
|
minDate,
|
||||||
maxDate,
|
maxDate,
|
||||||
poppable: false,
|
poppable: false,
|
||||||
|
lazyRender: false,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
await later();
|
await later();
|
||||||
|
|
||||||
wrapper.setProps({ defaultDate: [] });
|
await wrapper.setProps({ defaultDate: null });
|
||||||
wrapper.find('.van-calendar__confirm').trigger('click');
|
wrapper.find('.van-calendar__confirm').trigger('click');
|
||||||
expect(wrapper.emitted('confirm')).toBeFalsy();
|
expect(wrapper.emitted('confirm')).toBeFalsy();
|
||||||
|
|
||||||
const days = wrapper.findAll('.van-calendar__day');
|
const days = wrapper.findAll('.van-calendar__day');
|
||||||
days.at(15).trigger('click');
|
await days[15].trigger('click');
|
||||||
days.at(18).trigger('click');
|
await days[18].trigger('click');
|
||||||
wrapper.find('.van-calendar__confirm').trigger('click');
|
wrapper.find('.van-calendar__confirm').trigger('click');
|
||||||
expect(formatRange(wrapper.emitted('confirm')[0][0])).toEqual(
|
expect(wrapper.emitted<[Date]>('confirm')![0][0]).toEqual([
|
||||||
'2010/1/16-2010/1/19'
|
new Date(2010, 0, 16),
|
||||||
);
|
new Date(2010, 0, 19),
|
||||||
|
]);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('popup wrapper', async () => {
|
test('popup wrapper', async () => {
|
||||||
@ -364,10 +451,9 @@ test('popup wrapper', async () => {
|
|||||||
minDate,
|
minDate,
|
||||||
maxDate,
|
maxDate,
|
||||||
defaultDate: minDate,
|
defaultDate: minDate,
|
||||||
},
|
show: false,
|
||||||
listeners: {
|
'onUpdate:show': (show: boolean) => {
|
||||||
input(value) {
|
wrapper.setProps({ show });
|
||||||
wrapper.setProps({ value });
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
@ -375,13 +461,13 @@ test('popup wrapper', async () => {
|
|||||||
await later();
|
await later();
|
||||||
expect(wrapper.html()).toMatchSnapshot();
|
expect(wrapper.html()).toMatchSnapshot();
|
||||||
|
|
||||||
wrapper.setProps({ value: true });
|
await wrapper.setProps({ show: true });
|
||||||
await later();
|
await later();
|
||||||
|
|
||||||
expect(wrapper.html()).toMatchSnapshot();
|
expect(wrapper.html()).toMatchSnapshot();
|
||||||
|
|
||||||
wrapper.find('.van-popup__close-icon').trigger('click');
|
await wrapper.find('.van-popup__close-icon').trigger('click');
|
||||||
expect(wrapper.style.display).toEqual('none');
|
expect(wrapper.find('.van-calendar__popup').style.display).toEqual('none');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('set show-mark prop to false', async () => {
|
test('set show-mark prop to false', async () => {
|
||||||
@ -391,12 +477,13 @@ test('set show-mark prop to false', async () => {
|
|||||||
maxDate,
|
maxDate,
|
||||||
showMark: false,
|
showMark: false,
|
||||||
poppable: false,
|
poppable: false,
|
||||||
|
lazyRender: false,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
await later();
|
await later();
|
||||||
|
|
||||||
expect(wrapper.find('.van-calendar__month-mark').element).toBeFalsy();
|
expect(wrapper.find('.van-calendar__month-mark').exists()).toBeFalsy();
|
||||||
});
|
});
|
||||||
|
|
||||||
test('color prop when type is single', async () => {
|
test('color prop when type is single', async () => {
|
||||||
@ -407,6 +494,7 @@ test('color prop when type is single', async () => {
|
|||||||
color: 'blue',
|
color: 'blue',
|
||||||
poppable: false,
|
poppable: false,
|
||||||
defaultDate: minDate,
|
defaultDate: minDate,
|
||||||
|
lazyRender: false,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -432,13 +520,16 @@ test('color prop when type is range', async () => {
|
|||||||
expect(wrapper.html()).toMatchSnapshot();
|
expect(wrapper.html()).toMatchSnapshot();
|
||||||
});
|
});
|
||||||
|
|
||||||
test('close event', () => {
|
test('close event', async () => {
|
||||||
|
const onClose = jest.fn();
|
||||||
const wrapper = mount(Calendar, {
|
const wrapper = mount(Calendar, {
|
||||||
props: {
|
props: {
|
||||||
value: true,
|
show: true,
|
||||||
|
onClose,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
wrapper.setProps({ value: false });
|
await wrapper.setProps({ show: false });
|
||||||
expect(wrapper.emitted('close')).toBeTruthy();
|
|
||||||
|
expect(onClose).toHaveBeenCalledTimes(1);
|
||||||
});
|
});
|
@ -1,6 +1,6 @@
|
|||||||
import { Calendar } from '..';
|
import { Calendar } from '..';
|
||||||
import { mount, later } from '../../../test';
|
import { mount, later } from '../../../test';
|
||||||
import { minDate, maxDate, formatRange, formatDate } from './utils';
|
import { minDate, maxDate } from './utils';
|
||||||
|
|
||||||
test('max-range prop when type is range and showConfirm is false', async () => {
|
test('max-range prop when type is range and showConfirm is false', async () => {
|
||||||
const wrapper = mount(Calendar, {
|
const wrapper = mount(Calendar, {
|
||||||
@ -11,19 +11,23 @@ test('max-range prop when type is range and showConfirm is false', async () => {
|
|||||||
maxRange: 3,
|
maxRange: 3,
|
||||||
poppable: false,
|
poppable: false,
|
||||||
showConfirm: false,
|
showConfirm: false,
|
||||||
|
lazyRender: false,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
await later();
|
await later();
|
||||||
|
|
||||||
const days = wrapper.findAll('.van-calendar__day');
|
const days = wrapper.findAll('.van-calendar__day');
|
||||||
days.at(12).trigger('click');
|
days[12].trigger('click');
|
||||||
days.at(18).trigger('click');
|
days[18].trigger('click');
|
||||||
|
|
||||||
expect(formatRange(wrapper.emitted('select')[0][0])).toEqual('2010/1/13-');
|
expect(wrapper.emitted<[Date]>('select')![0][0]).toEqual([
|
||||||
expect(formatRange(wrapper.emitted('select')[1][0])).toEqual(
|
new Date(2010, 0, 13),
|
||||||
'2010/1/13-2010/1/19'
|
]);
|
||||||
);
|
expect(wrapper.emitted<[Date]>('select')![1][0]).toEqual([
|
||||||
|
new Date(2010, 0, 13),
|
||||||
|
new Date(2010, 0, 19),
|
||||||
|
]);
|
||||||
expect(wrapper.emitted('confirm')).toBeFalsy();
|
expect(wrapper.emitted('confirm')).toBeFalsy();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -35,19 +39,23 @@ test('max-range prop when type is range and showConfirm is true', async () => {
|
|||||||
maxDate,
|
maxDate,
|
||||||
maxRange: 3,
|
maxRange: 3,
|
||||||
poppable: false,
|
poppable: false,
|
||||||
|
lazyRender: false,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
await later();
|
await later();
|
||||||
|
|
||||||
const days = wrapper.findAll('.van-calendar__day');
|
const days = wrapper.findAll('.van-calendar__day');
|
||||||
days.at(12).trigger('click');
|
days[12].trigger('click');
|
||||||
days.at(18).trigger('click');
|
days[18].trigger('click');
|
||||||
|
|
||||||
expect(formatRange(wrapper.emitted('select')[0][0])).toEqual('2010/1/13-');
|
expect(wrapper.emitted<[Date]>('select')![0][0]).toEqual([
|
||||||
expect(formatRange(wrapper.emitted('select')[1][0])).toEqual(
|
new Date(2010, 0, 13),
|
||||||
'2010/1/13-2010/1/15'
|
]);
|
||||||
);
|
expect(wrapper.emitted<[Date]>('select')![1][0]).toEqual([
|
||||||
|
new Date(2010, 0, 13),
|
||||||
|
new Date(2010, 0, 15),
|
||||||
|
]);
|
||||||
expect(wrapper.emitted('confirm')).toBeFalsy();
|
expect(wrapper.emitted('confirm')).toBeFalsy();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -60,86 +68,87 @@ test('max-range prop when type is multiple', async () => {
|
|||||||
maxRange: 2,
|
maxRange: 2,
|
||||||
poppable: false,
|
poppable: false,
|
||||||
showConfirm: false,
|
showConfirm: false,
|
||||||
|
lazyRender: false,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
await later();
|
await later();
|
||||||
|
|
||||||
const days = wrapper.findAll('.van-calendar__day');
|
const days = wrapper.findAll('.van-calendar__day');
|
||||||
days.at(13).trigger('click');
|
days[13].trigger('click');
|
||||||
days.at(14).trigger('click');
|
days[14].trigger('click');
|
||||||
|
days[15].trigger('click');
|
||||||
|
|
||||||
expect(wrapper.emitted('select').length).toEqual(1);
|
expect(wrapper.emitted<[Date]>('select')![0][0]).toHaveLength(2);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('show-title prop', () => {
|
test('show-title prop', async () => {
|
||||||
const wrapper = mount(Calendar, {
|
const wrapper = mount(Calendar, {
|
||||||
props: {
|
props: {
|
||||||
value: true,
|
show: true,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(wrapper.contains('.van-calendar__header-title')).toBeTruthy();
|
expect(wrapper.find('.van-calendar__header-title').exists()).toBeTruthy();
|
||||||
wrapper.setProps({ showTitle: false });
|
await wrapper.setProps({ showTitle: false });
|
||||||
expect(wrapper.contains('.van-calendar__header-title')).toBeFalsy();
|
expect(wrapper.find('.van-calendar__header-title').exists()).toBeFalsy();
|
||||||
});
|
});
|
||||||
|
|
||||||
test('show-subtitle prop', () => {
|
test('show-subtitle prop', async () => {
|
||||||
const wrapper = mount(Calendar, {
|
const wrapper = mount(Calendar, {
|
||||||
props: {
|
props: {
|
||||||
value: true,
|
show: true,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(wrapper.contains('.van-calendar__header-subtitle')).toBeTruthy();
|
expect(wrapper.find('.van-calendar__header-subtitle').exists()).toBeTruthy();
|
||||||
wrapper.setProps({ showSubtitle: false });
|
await wrapper.setProps({ showSubtitle: false });
|
||||||
expect(wrapper.contains('.van-calendar__header-subtitle')).toBeFalsy();
|
expect(wrapper.find('.van-calendar__header-subtitle').exists()).toBeFalsy();
|
||||||
});
|
});
|
||||||
|
|
||||||
test('hide close icon when there is no title', () => {
|
test('hide close icon when there is no title', async () => {
|
||||||
const wrapper = mount(Calendar, {
|
const wrapper = mount(Calendar, {
|
||||||
props: {
|
props: {
|
||||||
value: true,
|
show: true,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(wrapper.contains('.van-popup__close-icon')).toBeTruthy();
|
expect(wrapper.find('.van-popup__close-icon').exists()).toBeTruthy();
|
||||||
|
|
||||||
wrapper.setProps({
|
await wrapper.setProps({
|
||||||
showTitle: false,
|
showTitle: false,
|
||||||
showSubtitle: false,
|
showSubtitle: false,
|
||||||
});
|
});
|
||||||
expect(wrapper.contains('.van-popup__close-icon')).toBeFalsy();
|
expect(wrapper.find('.van-popup__close-icon').exists()).toBeFalsy();
|
||||||
});
|
});
|
||||||
|
|
||||||
test('allow-same-day prop', async () => {
|
test('allow-same-day prop', async () => {
|
||||||
const select = jest.fn();
|
const onSelect = jest.fn();
|
||||||
const wrapper = mount(Calendar, {
|
const wrapper = mount(Calendar, {
|
||||||
props: {
|
props: {
|
||||||
type: 'range',
|
type: 'range',
|
||||||
minDate,
|
minDate,
|
||||||
maxDate,
|
maxDate,
|
||||||
poppable: false,
|
poppable: false,
|
||||||
},
|
lazyRender: false,
|
||||||
listeners: {
|
onSelect,
|
||||||
select,
|
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
await later();
|
await later();
|
||||||
|
|
||||||
const days = wrapper.findAll('.van-calendar__day');
|
const days = wrapper.findAll('.van-calendar__day');
|
||||||
days.at(9).trigger('click');
|
days[9].trigger('click');
|
||||||
days.at(9).trigger('click');
|
days[9].trigger('click');
|
||||||
|
|
||||||
expect(select).toHaveBeenLastCalledWith([minDate, null]);
|
expect(onSelect).toHaveBeenLastCalledWith([minDate]);
|
||||||
|
|
||||||
wrapper.setProps({
|
await wrapper.setProps({
|
||||||
allowSameDay: true,
|
allowSameDay: true,
|
||||||
});
|
});
|
||||||
|
|
||||||
days.at(9).trigger('click');
|
days[9].trigger('click');
|
||||||
expect(select).toHaveBeenLastCalledWith([minDate, minDate]);
|
expect(onSelect).toHaveBeenLastCalledWith([minDate, minDate]);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('min-date after current time', () => {
|
test('min-date after current time', () => {
|
||||||
@ -148,11 +157,14 @@ test('min-date after current time', () => {
|
|||||||
poppable: false,
|
poppable: false,
|
||||||
minDate: new Date(2200, 0, 1),
|
minDate: new Date(2200, 0, 1),
|
||||||
maxDate: new Date(2200, 0, 2),
|
maxDate: new Date(2200, 0, 2),
|
||||||
|
lazyRender: false,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
wrapper.find('.van-calendar__confirm').trigger('click');
|
wrapper.find('.van-calendar__confirm').trigger('click');
|
||||||
expect(formatDate(wrapper.emitted('confirm')[0][0])).toEqual('2200/1/1');
|
expect(wrapper.emitted<[Date]>('confirm')![0][0]).toEqual(
|
||||||
|
new Date(2200, 0, 1)
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('min-date before current time', () => {
|
test('min-date before current time', () => {
|
||||||
@ -161,11 +173,14 @@ test('min-date before current time', () => {
|
|||||||
poppable: false,
|
poppable: false,
|
||||||
minDate: new Date(1800, 0, 1),
|
minDate: new Date(1800, 0, 1),
|
||||||
maxDate: new Date(1800, 0, 2),
|
maxDate: new Date(1800, 0, 2),
|
||||||
|
lazyRender: false,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
wrapper.find('.van-calendar__confirm').trigger('click');
|
wrapper.find('.van-calendar__confirm').trigger('click');
|
||||||
expect(formatDate(wrapper.emitted('confirm')[0][0])).toEqual('1800/1/2');
|
expect(wrapper.emitted<[Date]>('confirm')![0][0]).toEqual(
|
||||||
|
new Date(1800, 0, 2)
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('lazy-render prop', () => {
|
test('lazy-render prop', () => {
|
||||||
@ -184,10 +199,10 @@ test('lazy-render prop', () => {
|
|||||||
test('month-show event', async () => {
|
test('month-show event', async () => {
|
||||||
const wrapper = mount(Calendar, {
|
const wrapper = mount(Calendar, {
|
||||||
props: {
|
props: {
|
||||||
value: true,
|
show: true,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
await later();
|
await later(100);
|
||||||
|
|
||||||
expect(wrapper.emitted('month-show')).toBeTruthy();
|
expect(wrapper.emitted('month-show')).toBeTruthy();
|
||||||
});
|
});
|
||||||
@ -200,12 +215,13 @@ test('first day of week', async () => {
|
|||||||
minDate: new Date(2020, 7, 1),
|
minDate: new Date(2020, 7, 1),
|
||||||
maxDate: new Date(2020, 7, 30),
|
maxDate: new Date(2020, 7, 30),
|
||||||
firstDayOfWeek: 2,
|
firstDayOfWeek: 2,
|
||||||
|
lazyRender: false,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
await later();
|
await later();
|
||||||
|
|
||||||
expect(wrapper.find('.van-calendar__weekdays').text()[0]).toEqual('二');
|
expect(wrapper.findAll('.van-calendar__weekday')[0].text()).toEqual('Tue');
|
||||||
|
|
||||||
const day = wrapper.find(
|
const day = wrapper.find(
|
||||||
'.van-calendar__month:first-of-type .van-calendar__day'
|
'.van-calendar__month:first-of-type .van-calendar__day'
|
||||||
@ -222,16 +238,17 @@ test('readonly prop', async () => {
|
|||||||
maxDate,
|
maxDate,
|
||||||
readonly: true,
|
readonly: true,
|
||||||
poppable: false,
|
poppable: false,
|
||||||
|
lazyRender: false,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
await later();
|
await later();
|
||||||
|
|
||||||
const days = wrapper.findAll('.van-calendar__day');
|
const days = wrapper.findAll('.van-calendar__day');
|
||||||
days.at(13).trigger('click');
|
days[13].trigger('click');
|
||||||
expect(wrapper.emitted('select')).toBeFalsy();
|
expect(wrapper.emitted('select')).toBeFalsy();
|
||||||
|
|
||||||
wrapper.setProps({ readonly: false });
|
await wrapper.setProps({ readonly: false });
|
||||||
days.at(13).trigger('click');
|
days[13].trigger('click');
|
||||||
expect(wrapper.emitted('select')).toBeTruthy();
|
expect(wrapper.emitted('select')).toBeTruthy();
|
||||||
});
|
});
|
@ -1,19 +0,0 @@
|
|||||||
export const now = new Date();
|
|
||||||
export const minDate = new Date(2010, 0, 10);
|
|
||||||
export const maxDate = new Date(2010, 0, 20);
|
|
||||||
|
|
||||||
export function formatDate(date) {
|
|
||||||
if (date) {
|
|
||||||
return `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}`;
|
|
||||||
}
|
|
||||||
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
|
|
||||||
export function formatRange([start, end]) {
|
|
||||||
return `${formatDate(start)}-${formatDate(end)}`;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function formatMultiple(dates) {
|
|
||||||
return dates.map(formatDate).join(',');
|
|
||||||
}
|
|
3
src/calendar/test/utils.ts
Normal file
3
src/calendar/test/utils.ts
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
export const now = new Date(new Date().setHours(0, 0, 0, 0));
|
||||||
|
export const minDate = new Date(2010, 0, 10);
|
||||||
|
export const maxDate = new Date(2010, 0, 20);
|
Loading…
x
Reference in New Issue
Block a user