| Index: lib/src/prism/tests/helper/token-stream-transformer.js
|
| diff --git a/lib/src/prism/tests/helper/token-stream-transformer.js b/lib/src/prism/tests/helper/token-stream-transformer.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..deb831c45b982f276c710e7bca055aef2b08c5dd
|
| --- /dev/null
|
| +++ b/lib/src/prism/tests/helper/token-stream-transformer.js
|
| @@ -0,0 +1,32 @@
|
| +"use strict";
|
| +
|
| +
|
| +module.exports = {
|
| + /**
|
| + * Simplifies the token stream to ease the matching with the expected token stream.
|
| + *
|
| + * * Strings are kept as-is
|
| + * * In arrays each value is transformed individually
|
| + * * Values that are empty (empty arrays or strings only containing whitespace)
|
| + *
|
| + *
|
| + * @param {Array} tokenStream
|
| + * @returns {Array.<string[]|Array>}
|
| + */
|
| + simplify: function (tokenStream) {
|
| + if (Array.isArray(tokenStream)) {
|
| + return tokenStream
|
| + .map(this.simplify.bind(this))
|
| + .filter(function (value) {
|
| + return !(Array.isArray(value) && !value.length) && !(typeof value === "string" && !value.trim().length);
|
| + }
|
| + );
|
| + }
|
| + else if (typeof tokenStream === "object") {
|
| + return [tokenStream.type, this.simplify(tokenStream.content)];
|
| + }
|
| + else {
|
| + return tokenStream;
|
| + }
|
| + }
|
| +};
|
|
|