Added more tests.
This commit is contained in:
parent
f887404d33
commit
08359a2c63
3 changed files with 168 additions and 54 deletions
|
@ -17,36 +17,54 @@ class ReadingTimeTest {
|
|||
assertEquals(3, wordCount("one two three"))
|
||||
assertEquals(2, wordCount(" one two "))
|
||||
assertEquals(7, wordCount(rt.text))
|
||||
assertEquals(210, wordCount(blogPost))
|
||||
assertEquals(505, wordCount(blogPost))
|
||||
assertEquals(391, wordCount(mediumPost))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testImgCount() {
|
||||
assertEquals(1, imgCount(rt.text))
|
||||
assertEquals(4, imgCount(blogPost))
|
||||
assertEquals(11, imgCount(blogPost))
|
||||
assertEquals(3, imgCount(mediumPost))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testReadingTimeInSec() {
|
||||
assertEquals((wordCount(rt.text) / (rt.wpm / 60.0)) + 12.0, rt.calcReadingTimeInSec())
|
||||
|
||||
rt.text = "<img src=\"#\"> <IMG src=\"#\">"
|
||||
assertEquals(12.0 + 11.0, rt.calcReadingTimeInSec())
|
||||
|
||||
rt.text = blogPost
|
||||
assertEquals((wordCount(rt.text) / (rt.wpm / 60.0)) + 12.0 + 11.0 + 10.0 + 9.0, rt.calcReadingTimeInSec())
|
||||
assertEquals(
|
||||
(wordCount(rt.text) / (rt.wpm / 60.0)) + 12.0 + 11.0 + 10.0 + 9.0 + 8.0 + 7.0 + 6.0 + 5.0 + 4.0 + 3.0 + 3.0,
|
||||
rt.calcReadingTimeInSec()
|
||||
)
|
||||
|
||||
rt.excludeImages = true
|
||||
assertEquals((wordCount(rt.text) / (rt.wpm / 60.0)), rt.calcReadingTimeInSec())
|
||||
rt.excludeImages = false
|
||||
|
||||
rt.text = mediumPost
|
||||
rt.wpm = 300
|
||||
assertEquals(wordCount(rt.text) / (rt.wpm / 60.0) + 12.0 + 11.0 + 10.0, rt.calcReadingTimeInSec())
|
||||
assertEquals(wordCount(rt.text) / (300.0 / 60.0) + 12.0 + 11.0 + 10.0, rt.calcReadingTimeInSec())
|
||||
rt.wpm = 275
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testReadingTime() {
|
||||
rt.text = blogPost
|
||||
assertEquals("2 min read", rt.calcReadingTime())
|
||||
assertEquals("4 min read", rt.calcReadingTime())
|
||||
|
||||
rt.plural = "mins read"
|
||||
assertEquals("2 mins read", rt.calcReadingTime())
|
||||
assertEquals("4 mins read", rt.calcReadingTime())
|
||||
|
||||
rt.text = mediumPost
|
||||
rt.plural = ""
|
||||
assertEquals("2", rt.calcReadingTime())
|
||||
|
||||
rt.text = "This is a test."
|
||||
rt.postfix = ""
|
||||
assertEquals("1", rt.calcReadingTime())
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,46 +1,60 @@
|
|||
Eons ago, a couple of Medium engineers got fed up. They were sick of having to scroll all the way down the page to see how long a story was. It was wearing out their trackpad, it was making their fingers sore, and they figured there must be a better way. So they sat down and devised a simple formula, and the Medium read time was born.</p>
|
||||
<figure class="ij ik il im in io da db paragraph-image">
|
||||
<div class="ip iq ir is ai">
|
||||
<div class="da db ii">
|
||||
<div class="iy r ir iz">
|
||||
<div class="ja jb r">
|
||||
<div class="it iu s t u iv ai br iw ix"><img alt="Image for post" class="s t u iv ai jc jd je"
|
||||
src="https://miro.medium.com/max/60/1*wju0JzgNZVpPzZDgfchajg.png?q=20"
|
||||
width="180" height="58"/></div>
|
||||
<img alt="Image for post" class="it iu s t u iv ai jf" width="180" height="58"/>
|
||||
<noscript><img alt="Image for post" class="s t u iv ai"
|
||||
src="https://miro.medium.com/max/360/1*wju0JzgNZVpPzZDgfchajg.png" width="180"
|
||||
height="58"/></noscript>
|
||||
<section class="gx gy gz ha hb">
|
||||
<div class="n p">
|
||||
<div class="z ab ac ae af ht ah ai"><p id="d889"
|
||||
class="kq kr bj ks b ip kt ku is kv kw kx ky ix kz la ja lb lc jd ld gx ct">
|
||||
Eons ago, a couple of Medium engineers got fed up. They were sick of having to scroll all the way down the
|
||||
page to see how long a story was. It was wearing out their trackpad, it was making their fingers sore, and
|
||||
they figured there must be a better way. So they sat down and devised a simple formula, and the Medium read
|
||||
time was born.</p>
|
||||
<figure class="lf lg lh li lj lk gr gs paragraph-image">
|
||||
<div class="ll lm cd ln ai">
|
||||
<div class="gr gs le">
|
||||
<div class="lr r cd gf">
|
||||
<div class="ls lt r">
|
||||
<div class="cc lo s t u ex ai bv lp lq"><img alt="Image for post"
|
||||
class="s t u ex ai lu lv lw"
|
||||
src="https://miro.medium.com/max/60/1*wju0JzgNZVpPzZDgfchajg.png?q=20"
|
||||
width="180" height="58"/></div>
|
||||
<img alt="Image for post" class="cc lo s t u ex ai lx" width="180" height="58"/>
|
||||
<noscript><img alt="Image for post" class="s t u ex ai"
|
||||
src="https://miro.medium.com/max/360/1*wju0JzgNZVpPzZDgfchajg.png"
|
||||
width="180" height="58"/></noscript>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</figure>
|
||||
<p id="8a5b" class="kq kr bj ks b ip kt ku is kv kw kx ky ix kz la ja lb lc jd ld gx ct">With the widespread
|
||||
adoption of this feature across the internet, we decided to shed some light on exactly what goes in to
|
||||
our read time calculation.</p>
|
||||
<blockquote class="ly"><p id="13d1" class="lz ma bj hw b mb mc md me mf mg ld bn">Read time is based on the
|
||||
average reading speed of an adult (roughly 275 WPM). We take the total word count of a post and
|
||||
translate it into minutes. Then, we add 12 seconds for each inline image. <strong class="ay">Boom, read
|
||||
time.</strong></p></blockquote>
|
||||
<p id="17fc" class="kq kr bj ks b ip mh ku is mi kw kx mj ix kz mk ja lb ml jd ld gx ct">Lately, we have
|
||||
seen more and more long form stories containing a ton of images. With our release of <a
|
||||
href="https://medium.com/the-story/introducing-image-grids-c592e5bc16d8"
|
||||
class="cg dj mm mn mo mp" target="_blank" rel="noopener">image grids</a>, we expect even more of
|
||||
these types of essays.</p>
|
||||
<p id="c072" class="kq kr bj ks b ip kt ku is kv kw kx ky ix kz la ja lb lc jd ld gx ct">Our original read
|
||||
time calculation was geared toward “slow” images, like comics, where you would really want to sit down
|
||||
and invest in the image. This resulted in articles with crazy big read times. For instance, this <a
|
||||
href="https://medium.com/@dahul/inside-medium-94931f66eebd" class="cg dj mm mn mo mp"
|
||||
target="_blank" rel="noopener">article</a> containing 140 images was clocking in at a whopping
|
||||
87 minute read. So we amended our read time calculation to count 12 seconds for the first image, 11 for
|
||||
the second, and minus an additional second for each subsequent image. Any images after the tenth image
|
||||
are counted at three seconds.</p>
|
||||
<p id="fbc9" class="kq kr bj ks b ip kt ku is kv kw kx ky ix kz la ja lb lc jd ld gx ct">You might see this
|
||||
change reflected across the site. Keep in mind that our estimated read time is just that: <em
|
||||
class="mq">an estimation</em>. You might finish a story faster or slower depending on various
|
||||
factors such as how many children or cats you have, your caffeine/alcohol intake, or if you’re a
|
||||
time-traveler from the future and already read that story. We just want to give you a ballpark figure so
|
||||
you can decide whether you have time to read one more story before the bus comes, or if you should
|
||||
bookmark it for later.</p>
|
||||
<p id="369b" class="kq kr bj ks b ip kt ku is kv kw kx ky ix kz la ja lb lc jd ld gx ct">We aren’t done with
|
||||
read time yet. In the future, we’d like to tailor it to your reading speed, account for the <a
|
||||
href="https://medium.com/@fchimero/this-should-only-take-a-minute-or-four-probably-e38bb7bf2adf"
|
||||
class="cg dj mm mn mo mp" target="_blank" rel="noopener">complexity of an article</a>, and add
|
||||
support for other languages. We’ll be sure to let you know about these changes as they happen.</p></div>
|
||||
</div>
|
||||
</figure>
|
||||
<p id="8a5b" class="ht hu as hv b fa hw hx fd hy hz ia ib fi ic id fl ie if fo ig di ih">With the widespread
|
||||
adoption of this feature across the internet, we decided to shed some light on exactly what goes in to our read time
|
||||
calculation.</p>
|
||||
<blockquote class="jg"><p id="13d1" class="jh ji as eh b jj jk jl jm jn jo ig aw">Read time is based on the average
|
||||
reading speed of an adult (roughly 275 WPM). We take the total word count of a post and translate it into minutes.
|
||||
Then, we add 12 seconds for each inline image. <strong class="be">Boom, read time.</strong></p></blockquote>
|
||||
<p id="17fc" class="ht hu as hv b fa jp hx fd jq hz ia jr fi ic js fl ie jt fo ig di ih">Lately, we have seen more and
|
||||
more long form stories containing a ton of images. With our release of <a
|
||||
href="https://medium.com/the-story/introducing-image-grids-c592e5bc16d8" class="co he ju jv jw jx"
|
||||
target="_blank" rel="noopener">image grids</a>, we expect even more of these types of essays.</p>
|
||||
<p id="c072" class="ht hu as hv b fa hw hx fd hy hz ia ib fi ic id fl ie if fo ig di ih">Our original read time
|
||||
calculation was geared toward “slow” images, like comics, where you would really want to sit down and invest in the
|
||||
image. This resulted in articles with crazy big read times. For instance, this <a
|
||||
href="https://medium.com/@dahul/inside-medium-94931f66eebd" class="co he ju jv jw jx" target="_blank"
|
||||
rel="noopener">article</a> containing 140 images was clocking in at a whopping 87 minute read. So we amended
|
||||
our read time calculation to count 12 seconds for the first image, 11 for the second, and minus an additional second
|
||||
for each subsequent image. Any images after the tenth image are counted at three seconds.</p>
|
||||
<p id="fbc9" class="ht hu as hv b fa hw hx fd hy hz ia ib fi ic id fl ie if fo ig di ih">You might see this change
|
||||
reflected across the site. Keep in mind that our estimated read time is just that: <em class="jy">an estimation</em>.
|
||||
You might finish a story faster or slower depending on various factors such as how many children or cats you have,
|
||||
your caffeine/alcohol intake, or if you’re a time-traveler from the future and already read that story. We just want
|
||||
to give you a ballpark figure so you can decide whether you have time to read one more story before the bus comes,
|
||||
or if you should bookmark it for later.</p>
|
||||
<p id="369b" class="ht hu as hv b fa hw hx fd hy hz ia ib fi ic id fl ie if fo ig di ih">We aren’t done with read time
|
||||
yet. In the future, we’d like to tailor it to your reading speed, account for the <a
|
||||
href="https://medium.com/@fchimero/this-should-only-take-a-minute-or-four-probably-e38bb7bf2adf"
|
||||
class="co he ju jv jw jx" target="_blank" rel="noopener">complexity of an article</a>, and add support for
|
||||
other languages. We’ll be sure to let you know about these changes as they happen.</p>
|
||||
</section>
|
||||
|
|
|
@ -1,6 +1,30 @@
|
|||
<h1>HTML Ipsum Presents</h1>
|
||||
|
||||
<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>
|
||||
<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas.
|
||||
Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas
|
||||
semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien
|
||||
ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi.
|
||||
Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a
|
||||
href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>
|
||||
|
||||
<dl>
|
||||
<dt>Definition list</dt>
|
||||
<dd>Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
|
||||
aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
|
||||
commodo consequat.</dd>
|
||||
<dt>Lorem ipsum dolor sit amet</dt>
|
||||
<dd>Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
|
||||
aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
|
||||
commodo consequat.</dd>
|
||||
</dl>
|
||||
|
||||
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam,
|
||||
feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies
|
||||
mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat
|
||||
wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros
|
||||
ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis.
|
||||
Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam
|
||||
erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus</p>
|
||||
|
||||
<h2>Header Level 2</h2>
|
||||
|
||||
|
@ -10,7 +34,9 @@
|
|||
<li><img src="#"></li>
|
||||
</ol>
|
||||
|
||||
<blockquote><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa. Donec eleifend, libero at sagittis mollis, tellus est malesuada tellus, at luctus turpis elit sit amet quam. Vivamus pretium ornare est.</p></blockquote>
|
||||
<blockquote><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet
|
||||
congue. Ut a est eget ligula molestie gravida. Curabitur massa. Donec eleifend, libero at sagittis mollis, tellus
|
||||
est malesuada tellus, at luctus turpis elit sit amet quam. Vivamus pretium ornare est.</p></blockquote>
|
||||
|
||||
<h3>Header Level 3</h3>
|
||||
|
||||
|
@ -20,7 +46,7 @@
|
|||
<li><img src="#"></li>
|
||||
</ul>
|
||||
|
||||
<h3>Header Level 4</h3>
|
||||
<h4>Header Level 4</h4>
|
||||
|
||||
<ul>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
|
@ -28,7 +54,63 @@
|
|||
<li><img src="#"></li>
|
||||
</ul>
|
||||
|
||||
<h3>Header Level 5</h3>
|
||||
<h5>Header Level 5</h5>
|
||||
|
||||
<ul>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
<li><img src="#"></li>
|
||||
</ul>
|
||||
|
||||
<h6>Header Level 6</h6>
|
||||
|
||||
<ul>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
<li><img src="#"></li>
|
||||
</ul>
|
||||
|
||||
<h6>Header Level 6</h6>
|
||||
|
||||
<ul>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
<li><img src="#"></li>
|
||||
</ul>
|
||||
|
||||
<h6>Header Level 6</h6>
|
||||
|
||||
<ul>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
<li><img src="#"></li>
|
||||
</ul>
|
||||
|
||||
<h6>Header Level 6</h6>
|
||||
|
||||
<ul>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
<li><img src="#"></li>
|
||||
</ul>
|
||||
|
||||
<h6>Header Level 6</h6>
|
||||
|
||||
<ul>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
<li><img src="#"></li>
|
||||
</ul>
|
||||
|
||||
<h6>Header Level 6</h6>
|
||||
|
||||
<ul>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
<li>Aliquam tincidunt mauris eu risus.</li>
|
||||
<li><img src="#"></li>
|
||||
</ul>
|
||||
|
||||
<h6>Header Level 6</h6>
|
||||
|
||||
<ul>
|
||||
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue