12a1f914f4
* update github.com/alecthomas/chroma v0.8.0 -> v0.8.1 * github.com/blevesearch/bleve v1.0.10 -> v1.0.12 * editorconfig-core-go v2.1.1 -> v2.3.7 * github.com/gliderlabs/ssh v0.2.2 -> v0.3.1 * migrate editorconfig.ParseBytes to Parse * github.com/shurcooL/vfsgen to 0d455de96546 * github.com/go-git/go-git/v5 v5.1.0 -> v5.2.0 * github.com/google/uuid v1.1.1 -> v1.1.2 * github.com/huandu/xstrings v1.3.0 -> v1.3.2 * github.com/klauspost/compress v1.10.11 -> v1.11.1 * github.com/markbates/goth v1.61.2 -> v1.65.0 * github.com/mattn/go-sqlite3 v1.14.0 -> v1.14.4 * github.com/mholt/archiver v3.3.0 -> v3.3.2 * github.com/microcosm-cc/bluemonday 4f7140c49acb -> v1.0.4 * github.com/minio/minio-go v7.0.4 -> v7.0.5 * github.com/olivere/elastic v7.0.9 -> v7.0.20 * github.com/urfave/cli v1.20.0 -> v1.22.4 * github.com/prometheus/client_golang v1.1.0 -> v1.8.0 * github.com/xanzy/go-gitlab v0.37.0 -> v0.38.1 * mvdan.cc/xurls v2.1.0 -> v2.2.0 Co-authored-by: Lauris BH <lauris@nix.lv> |
||
---|---|---|
.. | ||
a | ||
b | ||
c | ||
circular | ||
d | ||
e | ||
f | ||
g | ||
h | ||
i | ||
internal | ||
j | ||
k | ||
l | ||
m | ||
n | ||
o | ||
p | ||
q | ||
r | ||
s | ||
t | ||
v | ||
w | ||
x | ||
y | ||
z | ||
README.md | ||
hlb.go | ||
lexers.go |
README.md
Lexer tests
The tests in this directory feed a known input testdata/<name>.actual
into the parser for <name>
and check
that its output matches <name>.exported
.
Running the tests
Run the tests as normal:
go test ./lexers
Update existing tests
When you add a new test data file (*.actual
), you need to regenerate all tests. That's how Chroma creates the *.expected
test file based on the corresponding lexer.
To regenerate all tests, type in your terminal:
RECORD=true go test ./lexers
This first sets the RECORD
environment variable to true
. Then it runs go test
on the ./lexers
directory of the Chroma project.
(That environment variable tells Chroma it needs to output test data. After running go test ./lexers
you can remove or reset that variable.)
Windows users
Windows users will find that the RECORD=true go test ./lexers
command fails in both the standard command prompt terminal and in PowerShell.
Instead we have to perform both steps separately:
- Set the
RECORD
environment variable totrue
.- In the regular command prompt window, the
set
command sets an environment variable for the current session:set RECORD=true
. See this page for more. - In PowerShell, you can use the
$env:RECORD = 'true'
command for that. See this article for more. - You can also make a persistent environment variable by hand in the Windows computer settings. See this article for how.
- In the regular command prompt window, the
- When the environment variable is set, run
go tests ./lexers
.
Chroma will now regenerate the test files and print its results to the console window.