awesome/spec/gears/string_spec.lua

77 lines
3.0 KiB
Lua

local gstring = require("gears.string")
describe("gears.string", function()
describe("quote_pattern", function()
it("text", function()
assert.is.equal(gstring.quote_pattern("text"), "text")
end)
it("do.t", function()
assert.is.equal(gstring.quote_pattern("do.t"), "do%.t")
end)
it("per%cen[tage", function()
assert.is.equal(gstring.quote_pattern("per%cen[tage"), "per%%cen%[tage")
end)
end)
describe("query_to_pattern", function()
it("DownLow", function()
assert.is.equal(string.match("DownLow", gstring.query_to_pattern("downlow")), "DownLow")
end)
it("%word", function()
assert.is.equal(string.match("%word", gstring.query_to_pattern("%word")), "%word")
end)
it("Substring of DownLow", function()
assert.is.equal(string.match("DownLow", gstring.query_to_pattern("ownl")), "ownL")
end)
end)
describe("startswith", function()
assert.is_true(gstring.startswith("something", ""))
assert.is_true(gstring.startswith("something", "some"))
assert.is_false(gstring.startswith("something", "none"))
assert.is_false(gstring.startswith(nil, "anything"))
end)
describe("endswith", function()
assert.is_true(gstring.endswith("something", ""))
assert.is_true(gstring.endswith("something", "thing"))
assert.is_false(gstring.endswith("something", "that"))
assert.is_false(gstring.endswith(nil, "anything"))
end)
describe("split", function()
assert.is_same(gstring.split("", "\n"), {""})
assert.is_same(gstring.split("\n", "\n"), {"", ""})
assert.is_same(gstring.split("foo", "\n"), {"foo"})
assert.is_same(gstring.split("foo\n", "\n"), {"foo", ""})
assert.is_same(gstring.split("foo\nbar", "\n"), {"foo", "bar"})
assert.is_same(gstring.split("", "."), {""})
assert.is_same(gstring.split(".", "."), {"", ""})
assert.is_same(gstring.split("foo", "."), {"foo"})
assert.is_same(gstring.split("foo.", "."), {"foo", ""})
assert.is_same(gstring.split("foo.bar", "."), {"foo", "bar"})
end)
describe("psplit", function()
assert.is_same(gstring.psplit("", ""), {})
assert.is_same(gstring.psplit(".", ""), {"."})
assert.is_same(gstring.psplit("foo", ""), {"f", "o", "o"})
assert.is_same(gstring.psplit("foo.", ""), {"f", "o", "o", "."})
assert.is_same(gstring.psplit("foo.bar", "%."), {"foo", "bar"})
assert.is_same(gstring.psplit("", "."), {""})
assert.is_same(gstring.psplit("a", "."), {"", ""})
assert.is_same(gstring.psplit("foo", "."), {"", "", "", ""})
assert.is_same(gstring.psplit("foo.", "%W"), {"foo", ""})
assert.is_same(gstring.psplit(".foo.2.5.bar.73", "%.%d"), {".foo", "", ".bar", "3"})
end)
end)
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80