Software /
code /
prosody
File
spec/util_strbitop.lua @ 11191:13e2ac7b5798
tools/tb2err: Formats Lua traceback in errors.err format
Manually opening to the files and line numbers from a Lua traceback is
tedious. This tool converts tracebacks into a format that many compilers
and such tools use, which is also compatible with Vim (and possibly
other editors).
Thus if someone sends you a pastebin link with a traceback, a command
like the following gets you right to the relevant lines:
curl paste.example/abc123.txt | tb2err > errors.err; vim -q
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Wed, 28 Oct 2020 22:42:43 +0100 |
parent | 11168:cde600e2fdf9 |
line wrap: on
line source
local strbitop = require "util.strbitop"; describe("util.strbitop", function () describe("sand()", function () it("works", function () assert.equal(string.rep("Aa", 100), strbitop.sand(string.rep("a", 200), "Aa")); end); it("returns empty string if first argument is empty", function () assert.equal("", strbitop.sand("", "")); assert.equal("", strbitop.sand("", "key")); end); it("returns initial string if key is empty", function () assert.equal("hello", strbitop.sand("hello", "")); end); end); describe("sor()", function () it("works", function () assert.equal(string.rep("a", 200), strbitop.sor(string.rep("Aa", 100), "a")); end); it("returns empty string if first argument is empty", function () assert.equal("", strbitop.sor("", "")); assert.equal("", strbitop.sor("", "key")); end); it("returns initial string if key is empty", function () assert.equal("hello", strbitop.sor("hello", "")); end); end); describe("sxor()", function () it("works", function () assert.equal(string.rep("Aa", 100), strbitop.sxor(string.rep("a", 200), " \0")); end); it("returns empty string if first argument is empty", function () assert.equal("", strbitop.sxor("", "")); assert.equal("", strbitop.sxor("", "key")); end); it("returns initial string if key is empty", function () assert.equal("hello", strbitop.sxor("hello", "")); end); end); end);