Skip to content
This repository has been archived by the owner on Apr 3, 2023. It is now read-only.

Commit

Permalink
test: fix iScroll test with more strict template
Browse files Browse the repository at this point in the history
  • Loading branch information
WoodNeck committed Nov 2, 2020
1 parent 361448d commit 2a06398
Show file tree
Hide file tree
Showing 5 changed files with 203 additions and 17 deletions.
4 changes: 2 additions & 2 deletions config/validate-commit-msg.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ var TYPES = {
style: true,
refactor: true,
test: true,
chore: true,
demo: true
chore: true,
demo: true
};

var error = function() {
Expand Down
8 changes: 4 additions & 4 deletions karma.conf.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ module.exports = function(config) {

client: {
mocha: {
opts: "./mocha.opts"
opts: "./mocha.opts"
}
},

Expand All @@ -37,13 +37,13 @@ module.exports = function(config) {
},

browsers: [],

reporters: ["mocha"],
webpackMiddleware: {
noInfo: true
}
};

karmaConfig.browsers.push(config.chrome ? "Chrome" : "ChromeHeadless");

if(config.coverage) {
Expand All @@ -61,4 +61,4 @@ module.exports = function(config) {
}

config.set(karmaConfig);
};
};
73 changes: 73 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

115 changes: 115 additions & 0 deletions test/unit/fixed.tmpl.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
<style>
body, ul, div{margin:0;padding:0}
.check_visible{
height:100px;
background-color: #123;
color: white;
border: 2px solid white;
padding: 10px;
box-sizing: border-box;
}
</style>
<div id="contents">
<div>
<div class="check_visible">#1</div>
<div class="check_visible">#2</div>
<div class="check_visible">#3</div>
<div class="check_visible">#4</div>
<div class="check_visible">#5</div>
<div class="check_visible">#6</div>
<div class="check_visible">#7</div>
<div class="check_visible">#8</div>
<div class="check_visible">#9</div>
<div class="check_visible">#10</div>
<div class="check_visible">#11</div>
<div class="check_visible">#12</div>
<div class="check_visible">#13</div>
<div class="check_visible">#14</div>
<div class="check_visible">#15</div>
<div class="check_visible">#16</div>
<div class="check_visible">#17</div>
<div class="check_visible">#18</div>
<div class="check_visible">#19</div>
<div class="check_visible">#20</div>
<div class="check_visible">#21</div>
<div class="check_visible">#22</div>
<div class="check_visible">#23</div>
<div class="check_visible">#24</div>
<div class="check_visible">#25</div>
<div class="check_visible">#26</div>
<div class="check_visible">#27</div>
<div class="check_visible">#28</div>
<div class="check_visible">#29</div>
<div class="check_visible">#30</div>
<div class="check_visible">#31</div>
<div class="check_visible">#32</div>
<div class="check_visible">#33</div>
<div class="check_visible">#34</div>
<div class="check_visible">#35</div>
<div class="check_visible">#36</div>
<div class="check_visible">#37</div>
<div class="check_visible">#38</div>
<div class="check_visible">#39</div>
<div class="check_visible">#40</div>
<div class="check_visible">#41</div>
<div class="check_visible">#42</div>
<div class="check_visible">#43</div>
<div class="check_visible">#44</div>
<div class="check_visible">#45</div>
<div class="check_visible">#46</div>
<div class="check_visible">#47</div>
<div class="check_visible">#48</div>
<div class="check_visible">#49</div>
<div class="check_visible">#50</div>
<div class="check_visible">#51</div>
<div class="check_visible">#52</div>
<div class="check_visible">#53</div>
<div class="check_visible">#54</div>
<div class="check_visible">#55</div>
<div class="check_visible">#56</div>
<div class="check_visible">#57</div>
<div class="check_visible">#58</div>
<div class="check_visible">#59</div>
<div class="check_visible">#60</div>
<div class="check_visible">#61</div>
<div class="check_visible">#62</div>
<div class="check_visible">#63</div>
<div class="check_visible">#64</div>
<div class="check_visible">#65</div>
<div class="check_visible">#66</div>
<div class="check_visible">#67</div>
<div class="check_visible">#68</div>
<div class="check_visible">#69</div>
<div class="check_visible">#70</div>
<div class="check_visible">#71</div>
<div class="check_visible">#72</div>
<div class="check_visible">#73</div>
<div class="check_visible">#74</div>
<div class="check_visible">#75</div>
<div class="check_visible">#76</div>
<div class="check_visible">#77</div>
<div class="check_visible">#78</div>
<div class="check_visible">#79</div>
<div class="check_visible">#80</div>
<div class="check_visible">#81</div>
<div class="check_visible">#82</div>
<div class="check_visible">#83</div>
<div class="check_visible">#84</div>
<div class="check_visible">#85</div>
<div class="check_visible">#86</div>
<div class="check_visible">#87</div>
<div class="check_visible">#88</div>
<div class="check_visible">#89</div>
<div class="check_visible">#90</div>
<div class="check_visible">#91</div>
<div class="check_visible">#92</div>
<div class="check_visible">#93</div>
<div class="check_visible">#94</div>
<div class="check_visible">#95</div>
<div class="check_visible">#96</div>
<div class="check_visible">#97</div>
<div class="check_visible">#98</div>
<div class="check_visible">#99</div>
<div class="check_visible">#100</div>
</div>
</ul>
20 changes: 9 additions & 11 deletions test/unit/visible.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ describe("visible observe", () => {

describe("#check", () => {
it("should have correct number of visible item", done => {
let visibleItemLength = Math.ceil(windowInnerHeight / itemOffsetHeight);
let visibleItemLength = Math.ceil(windowInnerHeight / itemOffsetHeight);
if (windowInnerHeight % itemOffsetHeight === 0) {
visibleItemLength++;
}
Expand All @@ -129,10 +129,10 @@ describe("visible observe", () => {
e.isTrusted.should.to.be.true;
done();
});

visible.observe();
expect(visible._observeCallback).to.be.ok;

});
it("should have correct number of visible item with delay", done => {
let visibleItemLength = Math.ceil(windowInnerHeight / itemOffsetHeight);
Expand Down Expand Up @@ -161,8 +161,6 @@ describe("visible observe", () => {
});
it("should have correct number of visible item with containment", done => {
let visibleItemLength = Math.ceil(windowInnerHeight / itemOffsetHeight);


visible.on("change", e => {
e.visible.should.have.lengthOf(visibleItemLength);
e.invisible.should.have.lengthOf(100 - visibleItemLength);
Expand Down Expand Up @@ -354,9 +352,9 @@ describe("iScroll", () => {
iScroll;

beforeEach(() => {
document.body.innerHTML = __html__["test/unit/pre.tmpl.html"];
document.body.innerHTML = __html__["test/unit/fixed.tmpl.html"];
visible = new Visible();
iScroll = new IScroll("#view");
iScroll = new IScroll("#contents");
});

afterEach(() => {
Expand All @@ -369,16 +367,16 @@ describe("iScroll", () => {
document.body.innerHTML = "";
});
it("should have correct number of visible item after iscroll", done => {
window.scrollTo(0, 250);
window.scrollTo(0, 0);
iScroll.scrollTo(0, 0);
visible.check();
visible.on("change", e => {
e.visible.should.to.have.lengthOf(3);
e.invisible.should.to.have.lengthOf(3);
e.visible.should.to.have.lengthOf(5);
e.invisible.should.to.have.lengthOf(5);
e.isTrusted.should.to.be.true;
done();
});
iScroll.scrollTo(0, -100);
iScroll.scrollTo(0, -501);

setTimeout(() => {
visible.check();
Expand Down

0 comments on commit 2a06398

Please sign in to comment.