mirror of
https://github.com/bigskysoftware/htmx.git
synced 2026-04-19 05:16:13 +00:00
add parseInterval unit tests
This commit is contained in:
@@ -103,6 +103,7 @@
|
||||
<script src="tests/unit/find.js"></script>
|
||||
<script src="tests/unit/htmx.config.prefix.js"></script>
|
||||
<script src="tests/unit/morph.js"></script>
|
||||
<script src="tests/unit/parseInterval.js"></script>
|
||||
<script src="tests/unit/swap.js"></script>
|
||||
|
||||
<!-- Fast attribute tests -->
|
||||
|
||||
79
test/tests/unit/parseInterval.js
Normal file
79
test/tests/unit/parseInterval.js
Normal file
@@ -0,0 +1,79 @@
|
||||
describe('parseInterval unit tests', function() {
|
||||
|
||||
it('parses milliseconds', function () {
|
||||
assert.equal(htmx.parseInterval('100ms'), 100)
|
||||
assert.equal(htmx.parseInterval('1ms'), 1)
|
||||
assert.equal(htmx.parseInterval('5000ms'), 5000)
|
||||
})
|
||||
|
||||
it('parses seconds', function () {
|
||||
assert.equal(htmx.parseInterval('1s'), 1000)
|
||||
assert.equal(htmx.parseInterval('2s'), 2000)
|
||||
assert.equal(htmx.parseInterval('10s'), 10000)
|
||||
})
|
||||
|
||||
it('parses minutes', function () {
|
||||
assert.equal(htmx.parseInterval('1m'), 60000)
|
||||
assert.equal(htmx.parseInterval('2m'), 120000)
|
||||
assert.equal(htmx.parseInterval('5m'), 300000)
|
||||
})
|
||||
|
||||
it('parses decimal values', function () {
|
||||
assert.equal(htmx.parseInterval('1.5s'), 1500)
|
||||
assert.equal(htmx.parseInterval('0.5s'), 500)
|
||||
assert.equal(htmx.parseInterval('2.5m'), 150000)
|
||||
})
|
||||
|
||||
it('defaults to milliseconds when no unit specified', function () {
|
||||
assert.equal(htmx.parseInterval('100'), 100)
|
||||
assert.equal(htmx.parseInterval('1000'), 1000)
|
||||
assert.equal(htmx.parseInterval('5'), 5)
|
||||
})
|
||||
|
||||
it('handles decimal without unit', function () {
|
||||
assert.equal(htmx.parseInterval('1.5'), 1.5)
|
||||
assert.equal(htmx.parseInterval('100.25'), 100.25)
|
||||
})
|
||||
|
||||
it('returns undefined for invalid input', function () {
|
||||
assert.equal(htmx.parseInterval('abc'), undefined)
|
||||
assert.equal(htmx.parseInterval('invalid'), undefined)
|
||||
assert.equal(htmx.parseInterval(''), undefined)
|
||||
})
|
||||
|
||||
it('returns undefined for null', function () {
|
||||
assert.equal(htmx.parseInterval(null), undefined)
|
||||
})
|
||||
|
||||
it('returns undefined for undefined', function () {
|
||||
assert.equal(htmx.parseInterval(undefined), undefined)
|
||||
})
|
||||
|
||||
it('returns undefined for invalid unit', function () {
|
||||
assert.equal(htmx.parseInterval('100h'), undefined)
|
||||
assert.equal(htmx.parseInterval('50d'), undefined)
|
||||
})
|
||||
|
||||
it('returns undefined for negative values', function () {
|
||||
assert.equal(htmx.parseInterval('-100ms'), undefined)
|
||||
assert.equal(htmx.parseInterval('-1s'), undefined)
|
||||
})
|
||||
|
||||
it('handles zero', function () {
|
||||
assert.equal(htmx.parseInterval('0'), 0)
|
||||
assert.equal(htmx.parseInterval('0ms'), 0)
|
||||
assert.equal(htmx.parseInterval('0s'), 0)
|
||||
})
|
||||
|
||||
it('handles very large numbers', function () {
|
||||
assert.equal(htmx.parseInterval('999999ms'), 999999)
|
||||
assert.equal(htmx.parseInterval('1000s'), 1000000)
|
||||
})
|
||||
|
||||
it('returns undefined for strings with spaces', function () {
|
||||
assert.equal(htmx.parseInterval('100 ms'), undefined)
|
||||
assert.equal(htmx.parseInterval(' 100ms'), undefined)
|
||||
assert.equal(htmx.parseInterval('100ms '), undefined)
|
||||
})
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user