fix(tests): add validation of comment translations (#41537)
This commit is contained in:
committed by
GitHub
parent
654d66186e
commit
0d3158d4f4
@ -1,9 +1,28 @@
|
||||
const { isEmpty } = require('lodash');
|
||||
const visit = require('unist-util-visit');
|
||||
var css = require('css');
|
||||
var visitCss = require('rework-visit');
|
||||
const { commentToData } = require('../comment-to-data');
|
||||
|
||||
function visitComments(node, cb) {
|
||||
node.rules.forEach(rule => {
|
||||
if (rule.type === 'rule') {
|
||||
visitDeclarations(rule.declarations, cb);
|
||||
} else if (rule.type === 'comment') {
|
||||
cb(rule.comment);
|
||||
} else if (rule.type === 'media') {
|
||||
visitComments(rule, cb);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function visitDeclarations(declarations, cb) {
|
||||
declarations.forEach(dec => {
|
||||
if (dec.type === 'comment') {
|
||||
cb(dec.comment);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function plugin() {
|
||||
return transformer;
|
||||
|
||||
@ -16,12 +35,9 @@ function plugin() {
|
||||
}
|
||||
function cssVisitor(node) {
|
||||
const ast = css.parse(node.value);
|
||||
visitCss(ast.stylesheet, dec => {
|
||||
let comments = dec
|
||||
.filter(({ type }) => type === 'comment')
|
||||
.map(({ comment }) => comment.trim());
|
||||
comments.forEach(comment => commentToData(file, comment));
|
||||
});
|
||||
visitComments(ast.stylesheet, comment =>
|
||||
commentToData(file, comment.trim())
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user