--
-- Tests for the hstext module
--
local hstext = require 'hstext'
assert(hstext.lower 'YELLING' == 'yelling')
assert(hstext.upper 'silence' == 'SILENCE')
assert(hstext.len 'five' == 4)
-- Test UTF-8
assert(hstext.upper 'Lübeck' == 'LÜBECK')
assert(hstext.upper 'Spaß' == 'SPASS')
assert(hstext.len 'Straße' == 6)
assert(hstext.len 'Charité' == 7)
assert(hstext.len '☃' == 1)
assert(hstext.reverse 'être' == 'ertê')
assert(hstext.reverse 'être' == 'ertê')
local hw = 'Hello, World'
assert(string.sub(hw, 6) == hstext.sub(hw, 6))
assert(string.sub(hw, -1, -1) == hstext.sub(hw, -1, -1))
assert(string.sub(hw, -7, -2) == hstext.sub(hw, -7, -2))
assert(string.sub(hw, 7, -2) == hstext.sub(hw, 7, -2))
assert(string.sub(hw, 1, 5) == hstext.sub(hw, 1, 5))
assert(string.sub(hw, 5, 0) == hstext.sub(hw, 5, 0))
assert(string.sub(hw, 0, 2) == hstext.sub(hw, 0, 2))
assert(string.sub(hw, -19, 5) == hstext.sub(hw, -19, 5))