use oxide

- Setup the codebase to be able to use the Rust parts based on an
  environment variable: `OXIDE=1`.
- Setup some tests that run both the non-Rust and Rust version in the
  same test.
- Sort the candidates in a consistent way, to guarantee the order for
  now (especially in tests).
- Reflect sorting related changes in tests.
- Ensure tests run in both the Rust and non-Rust version. (Some tests
  are explicitly skipped when using the Rust version since we haven't
  implemented those features yet. These include: custom prefix,
  transformers and extractors).
  - `jest`
  -`OXIDE=1 jest`
This commit is contained in:
Robin Malfait 2022-11-30 00:10:15 +01:00
parent cc92ef53a6
commit b643d399db
No known key found for this signature in database
GPG key ID: 92F53D68B9041AFE
37 changed files with 3340 additions and 4691 deletions

View file

@ -26,18 +26,6 @@
top: var(--value);
bottom: var(--value);
}
.top-\[11px\] {
top: 11px;
}
.top-\[var\(--value\)\] {
top: var(--value);
}
.right-\[11px\] {
right: 11px;
}
.right-\[var\(--value\)\] {
right: var(--value);
}
.bottom-\[11px\] {
bottom: 11px;
}
@ -50,6 +38,18 @@
.left-\[var\(--value\)\] {
left: var(--value);
}
.right-\[11px\] {
right: 11px;
}
.right-\[var\(--value\)\] {
right: var(--value);
}
.top-\[11px\] {
top: 11px;
}
.top-\[var\(--value\)\] {
top: var(--value);
}
.z-\[123\] {
z-index: 123;
}
@ -91,18 +91,18 @@
margin-top: 7px;
margin-bottom: 7px;
}
.mt-\[7px\] {
margin-top: 7px;
}
.mr-\[7px\] {
margin-right: 7px;
}
.mb-\[7px\] {
margin-bottom: 7px;
}
.ml-\[7px\] {
margin-left: 7px;
}
.mr-\[7px\] {
margin-right: 7px;
}
.mt-\[7px\] {
margin-top: 7px;
}
.mt-\[clamp\(30px\2c 100px\)\] {
margin-top: clamp(30px, 100px);
}
@ -139,15 +139,39 @@
.min-h-\[var\(--height\)\] {
min-height: var(--height);
}
.w-\[\'\)\(\)\'\] {
width: ')()';
}
.w-\[\'\]\[\]\'\] {
width: '][]';
}
.w-\[\'\}\{\}\'\] {
width: '}{}';
}
.w-\[\(\(\)\)\] {
width: (());
}
.w-\[\(\)\] {
width: ();
}
.w-\[0\] {
width: 0;
}
.w-\[3\.23rem\] {
width: 3.23rem;
}
.w-\[\[\[\]\]\] {
width: [[]];
}
.w-\[\[\]\] {
width: [];
}
.w-\[calc\(100\%\+1rem\)\] {
width: calc(100% + 1rem);
}
.w-\[calc\(100\%\/3-1rem\*2\)\] {
width: calc(100% / 3 - 1rem * 2);
}
.w-\[calc\(var\(--10-10px\2c calc\(-20px-\(-30px--40px\)\)\)-50px\)\] {
width: calc(var(--10-10px, calc(-20px - (-30px - -40px))) - 50px);
}
@ -157,39 +181,15 @@
.w-\[var\(--width\2c calc\(100\%\+1rem\)\)\] {
width: var(--width, calc(100% + 1rem));
}
.w-\[calc\(100\%\/3-1rem\*2\)\] {
width: calc(100% / 3 - 1rem * 2);
}
.w-\[\{\}\] {
width: {
}
}
.w-\[\{\{\}\}\] {
width: {
{
}
}
}
.w-\[\[\]\] {
width: [];
}
.w-\[\[\[\]\]\] {
width: [[]];
}
.w-\[\(\)\] {
width: ();
}
.w-\[\(\(\)\)\] {
width: (());
}
.w-\[\'\]\[\]\'\] {
width: '][]';
}
.w-\[\'\)\(\)\'\] {
width: ')()';
}
.w-\[\'\}\{\}\'\] {
width: '}{}';
.w-\[\{\}\] {
width: {
}
}
.min-w-\[calc\(1-var\(--something\)\*0\.5\)\] {
min-width: calc(1 - var(--something) * 0.5);
@ -263,8 +263,8 @@
skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x))
scaleY(var(--tw-scale-y));
}
.rotate-\[23deg\] {
--tw-rotate: 23deg;
.rotate-\[1\.5turn\] {
--tw-rotate: 1.5turn;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate))
skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x))
scaleY(var(--tw-scale-y));
@ -275,14 +275,14 @@
skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x))
scaleY(var(--tw-scale-y));
}
.rotate-\[401grad\] {
--tw-rotate: 401grad;
.rotate-\[23deg\] {
--tw-rotate: 23deg;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate))
skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x))
scaleY(var(--tw-scale-y));
}
.rotate-\[1\.5turn\] {
--tw-rotate: 1.5turn;
.rotate-\[401grad\] {
--tw-rotate: 401grad;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate))
skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x))
scaleY(var(--tw-scale-y));
@ -358,12 +358,12 @@
.cursor-\[pointer\] {
cursor: pointer;
}
.cursor-\[url\(hand\.cur\)_2_2\2c pointer\] {
cursor: url(hand.cur) 2 2, pointer;
}
.cursor-\[url\(\'\.\/path_to_hand\.cur\'\)_2_2\2c pointer\] {
cursor: url('./path_to_hand.cur') 2 2, pointer;
}
.cursor-\[url\(hand\.cur\)_2_2\2c pointer\] {
cursor: url(hand.cur) 2 2, pointer;
}
.cursor-\[var\(--value\)\] {
cursor: var(--value);
}
@ -378,18 +378,18 @@
scroll-margin-top: 7px;
scroll-margin-bottom: 7px;
}
.scroll-mt-\[7px\] {
scroll-margin-top: 7px;
}
.scroll-mr-\[7px\] {
scroll-margin-right: 7px;
}
.scroll-mb-\[7px\] {
scroll-margin-bottom: 7px;
}
.scroll-ml-\[7px\] {
scroll-margin-left: 7px;
}
.scroll-mr-\[7px\] {
scroll-margin-right: 7px;
}
.scroll-mt-\[7px\] {
scroll-margin-top: 7px;
}
.scroll-mt-\[var\(--scroll-margin\)\] {
scroll-margin-top: var(--scroll-margin);
}
@ -404,18 +404,18 @@
scroll-padding-top: 7px;
scroll-padding-bottom: 7px;
}
.scroll-pt-\[7px\] {
scroll-padding-top: 7px;
}
.scroll-pr-\[7px\] {
scroll-padding-right: 7px;
}
.scroll-pb-\[7px\] {
scroll-padding-bottom: 7px;
}
.scroll-pl-\[7px\] {
scroll-padding-left: 7px;
}
.scroll-pr-\[7px\] {
scroll-padding-right: 7px;
}
.scroll-pt-\[7px\] {
scroll-padding-top: 7px;
}
.scroll-pt-\[var\(--scroll-padding\)\] {
scroll-padding-top: var(--scroll-padding);
}
@ -520,14 +520,6 @@
.rounded-\[11px\] {
border-radius: 11px;
}
.rounded-t-\[var\(--radius\)\] {
border-top-left-radius: var(--radius);
border-top-right-radius: var(--radius);
}
.rounded-r-\[var\(--radius\)\] {
border-top-right-radius: var(--radius);
border-bottom-right-radius: var(--radius);
}
.rounded-b-\[var\(--radius\)\] {
border-bottom-right-radius: var(--radius);
border-bottom-left-radius: var(--radius);
@ -536,36 +528,32 @@
border-top-left-radius: var(--radius);
border-bottom-left-radius: var(--radius);
}
.rounded-tr-\[var\(--radius\)\] {
.rounded-r-\[var\(--radius\)\] {
border-top-right-radius: var(--radius);
}
.rounded-br-\[var\(--radius\)\] {
border-bottom-right-radius: var(--radius);
}
.rounded-t-\[var\(--radius\)\] {
border-top-left-radius: var(--radius);
border-top-right-radius: var(--radius);
}
.rounded-bl-\[var\(--radius\)\] {
border-bottom-left-radius: var(--radius);
}
.rounded-br-\[var\(--radius\)\] {
border-bottom-right-radius: var(--radius);
}
.rounded-tl-\[var\(--radius\)\] {
border-top-left-radius: var(--radius);
}
.rounded-tr-\[var\(--radius\)\] {
border-top-right-radius: var(--radius);
}
.border-\[2\.5px\] {
border-width: 2.5px;
}
.border-\[length\:var\(--value\)\] {
border-width: var(--value);
}
.border-t-\[2\.5px\] {
border-top-width: 2.5px;
}
.border-t-\[length\:var\(--value\)\] {
border-top-width: var(--value);
}
.border-r-\[2\.5px\] {
border-right-width: 2.5px;
}
.border-r-\[length\:var\(--value\)\] {
border-right-width: var(--value);
}
.border-b-\[2\.5px\] {
border-bottom-width: 2.5px;
}
@ -578,29 +566,27 @@
.border-l-\[length\:var\(--value\)\] {
border-left-width: var(--value);
}
.border-r-\[2\.5px\] {
border-right-width: 2.5px;
}
.border-r-\[length\:var\(--value\)\] {
border-right-width: var(--value);
}
.border-t-\[2\.5px\] {
border-top-width: 2.5px;
}
.border-t-\[length\:var\(--value\)\] {
border-top-width: var(--value);
}
.border-\[\#f00\] {
--tw-border-opacity: 1;
border-color: rgb(255 0 0 / var(--tw-border-opacity));
}
.border-\[red_black\] {
border-color: red black;
}
.border-\[color\:var\(--value\)\] {
border-color: var(--value);
}
.border-t-\[\#f00\] {
--tw-border-opacity: 1;
border-top-color: rgb(255 0 0 / var(--tw-border-opacity));
}
.border-t-\[color\:var\(--value\)\] {
border-top-color: var(--value);
}
.border-r-\[\#f00\] {
--tw-border-opacity: 1;
border-right-color: rgb(255 0 0 / var(--tw-border-opacity));
}
.border-r-\[color\:var\(--value\)\] {
border-right-color: var(--value);
.border-\[red_black\] {
border-color: red black;
}
.border-b-\[\#f00\] {
--tw-border-opacity: 1;
@ -616,30 +602,61 @@
.border-l-\[color\:var\(--value\)\] {
border-left-color: var(--value);
}
.border-r-\[\#f00\] {
--tw-border-opacity: 1;
border-right-color: rgb(255 0 0 / var(--tw-border-opacity));
}
.border-r-\[color\:var\(--value\)\] {
border-right-color: var(--value);
}
.border-t-\[\#f00\] {
--tw-border-opacity: 1;
border-top-color: rgb(255 0 0 / var(--tw-border-opacity));
}
.border-t-\[color\:var\(--value\)\] {
border-top-color: var(--value);
}
.border-opacity-\[0\.8\] {
--tw-border-opacity: 0.8;
}
.border-opacity-\[var\(--value\)\] {
--tw-border-opacity: var(--value);
}
.bg-\[\#0000ffcc\] {
background-color: #0000ffcc;
}
.bg-\[\#0f0\] {
--tw-bg-opacity: 1;
background-color: rgb(0 255 0 / var(--tw-bg-opacity));
}
.bg-\[\#0f0_var\(--value\)\] {
background-color: #0f0 var(--value);
}
.bg-\[\#ff0000\] {
--tw-bg-opacity: 1;
background-color: rgb(255 0 0 / var(--tw-bg-opacity));
}
.bg-\[\#0000ffcc\] {
background-color: #0000ffcc;
.bg-\[color\:var\(--value1\)_var\(--value2\)\] {
background-color: var(--value1) var(--value2);
}
.bg-\[hsl\(0\2c 100\%\2c 50\%\)\] {
--tw-bg-opacity: 1;
background-color: hsl(0 100% 50% / var(--tw-bg-opacity));
}
.bg-\[hsl\(0rad\2c 100\%\2c 50\%\)\] {
--tw-bg-opacity: 1;
background-color: hsl(0rad 100% 50% / var(--tw-bg-opacity));
}
.bg-\[hsla\(0\2c 100\%\2c 50\%\2c 0\.3\)\] {
background-color: hsla(0, 100%, 50%, 0.3);
}
.bg-\[hsla\(0turn\2c 100\%\2c 50\%\2c 0\.3\)\] {
background-color: hsla(0turn, 100%, 50%, 0.3);
}
.bg-\[rgb\(123\2c 123\2c 123\)\] {
--tw-bg-opacity: 1;
background-color: rgb(123 123 123 / var(--tw-bg-opacity));
}
.bg-\[rgba\(123\2c 123\2c 123\2c 0\.5\)\] {
background-color: rgba(123, 123, 123, 0.5);
}
.bg-\[rgb\(123\2c _456\2c _123\)_black\] {
background-color: rgb(123, 456, 123) black;
}
@ -647,49 +664,26 @@
--tw-bg-opacity: 1;
background-color: rgb(123 456 789 / var(--tw-bg-opacity));
}
.bg-\[hsl\(0\2c 100\%\2c 50\%\)\] {
--tw-bg-opacity: 1;
background-color: hsl(0 100% 50% / var(--tw-bg-opacity));
}
.bg-\[hsla\(0\2c 100\%\2c 50\%\2c 0\.3\)\] {
background-color: hsla(0, 100%, 50%, 0.3);
}
.bg-\[hsl\(0rad\2c 100\%\2c 50\%\)\] {
--tw-bg-opacity: 1;
background-color: hsl(0rad 100% 50% / var(--tw-bg-opacity));
}
.bg-\[hsla\(0turn\2c 100\%\2c 50\%\2c 0\.3\)\] {
background-color: hsla(0turn, 100%, 50%, 0.3);
}
.bg-\[\#0f0_var\(--value\)\] {
background-color: #0f0 var(--value);
}
.bg-\[var\(--value1\)_var\(--value2\)\] {
background-color: var(--value1) var(--value2);
}
.bg-\[color\:var\(--value1\)_var\(--value2\)\] {
background-color: var(--value1) var(--value2);
.bg-\[rgba\(123\2c 123\2c 123\2c 0\.5\)\] {
background-color: rgba(123, 123, 123, 0.5);
}
.bg-\[var\(--value\)\2c var\(--value\)\] {
background-color: var(--value), var(--value);
}
.bg-\[var\(--value1\)_var\(--value2\)\] {
background-color: var(--value1) var(--value2);
}
.bg-opacity-\[0\.11\] {
--tw-bg-opacity: 0.11;
}
.bg-opacity-\[var\(--value\)\] {
--tw-bg-opacity: var(--value);
}
.bg-\[linear-gradient\(to_left\2c rgb\(var\(--green\)\)\2c blue\)\] {
background-image: linear-gradient(to left, rgb(var(--green)), blue);
.bg-\[image\(\)\2c var\(--value\)\] {
background-image: image(), var(--value);
}
.bg-\[url\(\'\/path-to-image\.png\'\)\] {
background-image: url('/path-to-image.png');
}
.bg-\[url\:var\(--url\)\] {
background-image: var(--url);
}
.bg-\[linear-gradient\(\#eee\2c \#fff\)\] {
background-image: linear-gradient(#eee, #fff);
.bg-\[image\:var\(--value\)\2c var\(--value\)\] {
background-image: var(--value), var(--value);
}
.bg-\[linear-gradient\(\#eee\2c
\#fff\)\2c
@ -700,11 +694,17 @@
blue\)\] {
background-image: linear-gradient(#eee, #fff), conic-gradient(red, orange, yellow, green, blue);
}
.bg-\[image\(\)\2c var\(--value\)\] {
background-image: image(), var(--value);
.bg-\[linear-gradient\(\#eee\2c \#fff\)\] {
background-image: linear-gradient(#eee, #fff);
}
.bg-\[image\:var\(--value\)\2c var\(--value\)\] {
background-image: var(--value), var(--value);
.bg-\[linear-gradient\(to_left\2c rgb\(var\(--green\)\)\2c blue\)\] {
background-image: linear-gradient(to left, rgb(var(--green)), blue);
}
.bg-\[url\(\'\/path-to-image\.png\'\)\] {
background-image: url('/path-to-image.png');
}
.bg-\[url\:var\(--url\)\] {
background-image: var(--url);
}
.from-\[\#da5b66\] {
--tw-gradient-from: #da5b66;
@ -748,12 +748,12 @@
.fill-\[\#da5b66\] {
fill: #da5b66;
}
.fill-\[var\(--value\)\] {
fill: var(--value);
}
.fill-\[url\(\#icon-gradient\)\] {
fill: url(#icon-gradient);
}
.fill-\[var\(--value\)\] {
fill: var(--value);
}
.stroke-\[\#da5b66\] {
stroke: #da5b66;
}
@ -789,18 +789,18 @@
padding-top: 7px;
padding-bottom: 7px;
}
.pt-\[7px\] {
padding-top: 7px;
}
.pr-\[7px\] {
padding-right: 7px;
}
.pb-\[7px\] {
padding-bottom: 7px;
}
.pl-\[7px\] {
padding-left: 7px;
}
.pr-\[7px\] {
padding-right: 7px;
}
.pt-\[7px\] {
padding-top: 7px;
}
.pt-\[clamp\(30px\2c 100px\)\] {
padding-top: clamp(30px, 100px);
}
@ -813,30 +813,30 @@
.align-\[10em\] {
vertical-align: 10em;
}
.font-\[Georgia\2c serif\] {
font-family: Georgia, serif;
}
.font-\[\'Gill_Sans\'\] {
font-family: 'Gill Sans';
}
.font-\[sans-serif\2c serif\] {
font-family: sans-serif, serif;
}
.font-\[family-name\:var\(--value\)\] {
font-family: var(--value);
}
.font-\[serif\2c var\(--value\)\] {
font-family: serif, var(--value);
}
.font-\[\'Some_Font\'\2c sans-serif\] {
font-family: 'Some Font', sans-serif;
}
.font-\[\'Some_Font\'\2c \'Some_Other_Font\'\] {
font-family: 'Some Font', 'Some Other Font';
}
.font-\[\'Some_Font\'\2c sans-serif\] {
font-family: 'Some Font', sans-serif;
}
.font-\[\'Some_Font\'\2c var\(--other-font\)\] {
font-family: 'Some Font', var(--other-font);
}
.font-\[Georgia\2c serif\] {
font-family: Georgia, serif;
}
.font-\[family-name\:var\(--value\)\] {
font-family: var(--value);
}
.font-\[sans-serif\2c serif\] {
font-family: sans-serif, serif;
}
.font-\[serif\2c var\(--value\)\] {
font-family: serif, var(--value);
}
.text-\[0\] {
font-size: 0;
}
@ -871,6 +871,9 @@
--tw-text-opacity: 1;
color: rgb(0 0 0 / var(--tw-text-opacity));
}
.text-\[color\:var\(--color\)\] {
color: var(--color);
}
.text-\[rgb\(123\2c 123\2c 123\)\] {
--tw-text-opacity: 1;
color: rgb(123 123 123 / var(--tw-text-opacity));
@ -883,9 +886,6 @@
--tw-text-opacity: 1;
color: rgb(123 123 123 / var(--tw-text-opacity));
}
.text-\[color\:var\(--color\)\] {
color: var(--color);
}
.text-opacity-\[0\.8\] {
--tw-text-opacity: 0.8;
}
@ -895,6 +895,9 @@
.decoration-\[black\] {
text-decoration-color: black;
}
.decoration-\[color\:var\(--color\)\] {
text-decoration-color: var(--color);
}
.decoration-\[rgb\(123\2c 123\2c 123\)\] {
text-decoration-color: rgb(123, 123, 123);
}
@ -904,9 +907,6 @@
.decoration-\[rgb\(123_123_123\)\] {
text-decoration-color: rgb(123 123 123);
}
.decoration-\[color\:var\(--color\)\] {
text-decoration-color: var(--color);
}
.decoration-\[length\:10px\] {
text-decoration-thickness: 10px;
}
@ -1122,6 +1122,10 @@
.will-change-\[var\(--will-change\)\] {
will-change: var(--will-change);
}
.content-\[\'\>\'\] {
--tw-content: '>';
content: var(--tw-content);
}
.content-\[\'hello\'\] {
--tw-content: 'hello';
content: var(--tw-content);
@ -1130,10 +1134,6 @@
--tw-content: attr(content-before);
content: var(--tw-content);
}
.content-\[\'\>\'\] {
--tw-content: '>';
content: var(--tw-content);
}
@media (min-width: 1024px) {
.lg\:grid-cols-\[200px\2c repeat\(auto-fill\2c minmax\(15\%\2c 100px\)\)\2c 300px\] {
grid-template-columns: 200px repeat(auto-fill, minmax(15%, 100px)) 300px;