Port katex-a11y.js to KaTeX (#2062)

* copy katex-a11y.js from webapp to contrib/to-a11y-string.js

* first pass of updating to-a11y-string to use flow

* Set up test harness and write some tests
- add flow types for jest
- create wallaby config file
- add prettier as a dep and set up .prettierrc so that we use .toMatchInlineSnapshot() and have jest insert the snapshot for us
- add lots of TODOs (I'll create tickets for these later)

* Add some  to get the tests passing for now

* remove commented out parts of wallaby.js config file

* remove some stale strings, fix flow issue, add more coverage

* add , add few more tests, handle middle

* fix minor nits in tests

* rename to-a11y-string to render-a11y-string, updatte webpack config to build extension

* add test for \boxed

* remove commented out code
This commit is contained in:
Kevin Barabash
2019-08-02 11:24:51 -04:00
committed by GitHub
parent d82d09bebd
commit 151376e8aa
12 changed files with 2513 additions and 3 deletions

39
wallaby.js Normal file
View File

@@ -0,0 +1,39 @@
const babelConfig = require("./babel.config.js");
module.exports = function(wallaby) {
const tests = [
"test/*-spec.js",
"contrib/**/test/*-spec.js",
];
return {
tests,
// Wallaby needs to know about all files that may be loaded because
// of running a test.
files: [
"src/**/*.js",
"test/**/*.js",
"contrib/**/*.js",
"submodules/**/*.js",
"katex.js",
// These paths are excluded.
...tests.map((test) => `!${test}`),
],
// Wallaby does its own compilation of .js files to support its
// advanced logging features. Wallaby can't parse the flow and
// JSX in our source files so need to provide a babel configuration.
compilers: {
"**/*.js": wallaby.compilers.babel(babelConfig),
},
env: {
type: "node",
runner: "node",
},
testFramework: "jest",
};
};