@tiny-css/compiler
Version:
The compiler for compiling & reducing the bundle size of tiny-css
108 lines (107 loc) • 3.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var groupSelectors_1 = require("../../utils/groupSelectors");
describe(groupSelectors_1.groupSelector.name + " AST Object Test", function () {
it("Should output an array of `SelectorObject`", function () {
var testSelectors = [".table th", "a:hover", "abbr table", ".btn .btn-primary .btn-hovered", ".what .why", "*", ":root ", "*::after", "::webkit-scroll-bar ::webkit-scroll-bar-button", "#dumb > .classes + marakha form"];
var selectorASTArr = testSelectors.map(groupSelectors_1.groupSelector);
var resultArr = [
{
nested: true,
type: "class",
selector: ".table",
child: {
nested: false,
type: "tag",
selector: "th",
},
},
{
nested: false,
type: "tag",
selector: "a:hover",
},
{
nested: true,
type: "tag",
selector: "abbr",
child: {
nested: false,
type: "tag",
selector: "table",
},
},
{
nested: true,
type: "class",
selector: ".btn",
child: {
nested: true,
type: "class",
selector: ".btn-primary",
child: {
nested: false,
type: "class",
selector: ".btn-hovered",
},
},
},
{
nested: true,
type: "class",
selector: ".what",
child: {
nested: false,
type: "class",
selector: ".why",
},
},
{
nested: false,
type: "pseudo",
selector: "*",
},
{
nested: false,
type: "pseudo",
selector: ":root",
},
{
nested: false,
type: "pseudo",
selector: "*::after",
},
{
nested: true,
type: "pseudo",
selector: "::webkit-scroll-bar",
child: {
nested: false,
type: "pseudo",
selector: "::webkit-scroll-bar-button",
},
},
{
nested: true,
type: "id",
selector: "#dumb",
child: {
nested: true,
type: "class",
selector: ".classes",
child: {
nested: true,
type: "invalid",
selector: "marakha",
child: {
nested: false,
type: "tag",
selector: "form",
},
},
},
},
];
expect(selectorASTArr).toEqual(resultArr);
});
});