Merge branch 'master'

This commit is contained in:
Vasil Trifonov
2020-01-17 15:12:28 +02:00
parent 432a029499
commit b76893801d
3131 changed files with 418263 additions and 185769 deletions

View File

@@ -0,0 +1,85 @@
import { cssTreeParse } from "@nativescript/core/css/css-tree-parser";
import { parse as reworkCssParse } from "@nativescript/core/css";
import { assert } from "chai";
describe("css-tree parser compatible with rework ", () => {
it("basic selector", () => {
const testCase = ".test { color: red; }";
const reworkAST = reworkCssParse(testCase, { source: "file.css" });
const cssTreeAST = cssTreeParse(testCase, "file.css");
assert.deepEqual(cssTreeAST, reworkAST);
});
it("@keyframes", () => {
const testCase = ".test { animation-name: test; } @keyframes test { from { background-color: red; } to { background-color: blue; } } .test { color: red; }";
const reworkAST = reworkCssParse(testCase, { source: "file.css" });
const cssTreeAST = cssTreeParse(testCase, "file.css");
assert.deepEqual(cssTreeAST, reworkAST);
});
it("@media", () => {
const testCase = "@media screen and (max-width: 600px) { body { background-color: olive; } } .test { color: red; }";
const reworkAST = reworkCssParse(testCase, { source: "file.css" });
const cssTreeAST = cssTreeParse(testCase, "file.css");
assert.deepEqual(cssTreeAST, reworkAST);
});
it("@supports", () => {
const testCase = "@supports not (display: grid) { div { float: right; } } .test { color: red; }";
const reworkAST = reworkCssParse(testCase, { source: "file.css" });
const cssTreeAST = cssTreeParse(testCase, "file.css");
assert.deepEqual(cssTreeAST, reworkAST);
});
it("@page", () => {
const testCase = "@page :first { margin: 2cm; } .test { color: red; }";
const reworkAST = reworkCssParse(testCase, { source: "file.css" });
const cssTreeAST = cssTreeParse(testCase, "file.css");
assert.deepEqual(cssTreeAST, reworkAST);
});
it("@document", () => {
const testCase = "@document url(\"https://www.example.com/\") { h1 { color: green; } } .test { color: red; }";
const reworkAST = reworkCssParse(testCase, { source: "file.css" });
const cssTreeAST = cssTreeParse(testCase, "file.css");
assert.deepEqual(cssTreeAST, reworkAST);
});
it("@font-face", () => {
const testCase = "@font-face { font-family: \"Open Sans\"; src: url(\"/fonts/OpenSans-Regular-webfont.woff2\") format(\"woff2\"), url(\"/fonts/OpenSans-Regular-webfont.woff\") format(\"woff\"); } .test { color: red; }";
const reworkAST = reworkCssParse(testCase, { source: "file.css" });
const cssTreeAST = cssTreeParse(testCase, "file.css");
assert.deepEqual(cssTreeAST, reworkAST);
});
it("@import", () => {
const testCase = "@import url('landscape.css') screen and (orientation:landscape); @import url(\"fineprint.css\") print; .test { color: red; }";
const reworkAST = reworkCssParse(testCase, { source: "file.css" });
const cssTreeAST = cssTreeParse(testCase, "file.css");
assert.deepEqual(cssTreeAST, reworkAST);
});
it("@charset", () => {
const testCase = "@charset \"utf-8\"; .test { color: red; }";
const reworkAST = reworkCssParse(testCase, { source: "file.css" });
const cssTreeAST = cssTreeParse(testCase, "file.css");
assert.deepEqual(cssTreeAST, reworkAST);
});
it("@namespace", () => {
const testCase = "@namespace svg url(http://www.w3.org/2000/svg); .test { color: red; }";
const reworkAST = reworkCssParse(testCase, { source: "file.css" });
const cssTreeAST = cssTreeParse(testCase, "file.css");
assert.deepEqual(cssTreeAST, reworkAST);
});
});