Skip to content

Commit 26e101e

Browse files
committed
test: add more infinity test
1 parent de4dd91 commit 26e101e

1 file changed

Lines changed: 47 additions & 4 deletions

File tree

src/lib.rs

Lines changed: 47 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7700,8 +7700,10 @@ mod tests {
77007700
minify_test(".order6 { order: calc(0.5) }", ".order6{order:1}");
77017701
minify_test(".order7 { order: calc(-5 * 0) }", ".order7{order:0}");
77027702

7703-
// Test Infinity
7704-
// https://drafts.csswg.org/css-values-4/#calc-ieee
7703+
// Test Infinity <integer>
7704+
// i32: calc(1/0) = 2147483647 = 2^31 - 1
7705+
// i32: calc(-1/0) = -2147483648 = -2^31
7706+
// Spec: https://drafts.csswg.org/css-values-4/#calc-ieee
77057707
minify_test(
77067708
".infinity1 { z-index: calc(9/0) }",
77077709
".infinity1{z-index:calc(1/0)}",
@@ -7727,7 +7729,7 @@ mod tests {
77277729
".infinity3-1{z-index:0}",
77287730
);
77297731
minify_test(
7730-
".infinity3-1 { z-index: calc(-0/0) }",
7732+
".infinity3-1 { z-index: calc(-0/0) }", // NaN
77317733
".infinity3-1{z-index:0}",
77327734
);
77337735
minify_test(
@@ -7762,6 +7764,46 @@ mod tests {
77627764
".infinity10 { z-index: calc(infinity + infinity) }",
77637765
".infinity10{z-index:calc(1/0)}",
77647766
);
7767+
7768+
minify_test(
7769+
".infinity11-0 { z-index: calc(2147483 - 1) }",
7770+
".infinity11-0{z-index:2147482}",
7771+
);
7772+
// TODO: Using the double type (f64) in Chrome can prevent precision loss.
7773+
// We currently align with Firefox, 2147483647 - 65 = 2147483520
7774+
minify_test(
7775+
".infinity11-1 { z-index: calc(2147483647 - 65) }",
7776+
".infinity11-1{z-index:2147483520}", // Chrome: 2147483582, Firefox: 2147483520
7777+
);
7778+
minify_test(
7779+
".infinity11-2 { z-index: calc(-2147483647 + 1) }",
7780+
".infinity11-2{z-index:calc(-1/0)}", // Chrome: -2147483646, Firefox: -2147483648
7781+
);
7782+
minify_test(
7783+
".infinity11-3 { z-index: calc(2147483647 + 1) }",
7784+
".infinity11-3{z-index:calc(1/0)}", // 2147483647
7785+
);
7786+
minify_test(
7787+
".infinity11-4 { z-index: calc(-2147483647 - 1) }",
7788+
".infinity11-4{z-index:calc(-1/0)}", // -2147483648
7789+
);
7790+
minify_test(
7791+
".infinity11-5 { z-index: calc(2147483646 + infinity) }",
7792+
".infinity11-5{z-index:calc(1/0)}", // 2147483647
7793+
);
7794+
minify_test(
7795+
".infinity11-6 { z-index: calc(2147483647 + 2 - 1) }",
7796+
".infinity11-6{z-index:calc(1/0)}", // 2147483647
7797+
);
7798+
minify_test(
7799+
".infinity12-1 { z-index: calc(calc(1/0) + infinity) }",
7800+
".infinity12-1{z-index:calc(1/0)}",
7801+
);
7802+
minify_test(
7803+
".infinity12-2 { z-index: calc(calc(1/0) - infinity) }",
7804+
".infinity12-2{z-index:0}",
7805+
);
7806+
77657807
minify_test(
77667808
".infinity6 { order: calc(infinity / infinity) }",
77677809
".infinity6{order:0}",
@@ -7801,7 +7843,7 @@ mod tests {
78017843
// ".orphans4{orphans:-5}",
78027844
// );
78037845

7804-
// Test repeat() = <integer [1,∞]>
7846+
// Test infinity repeat() = <integer [1,∞]>
78057847
minify_test(
78067848
".grid1 { grid-template-rows: repeat( calc(0.5), 1fr ); }",
78077849
".grid1{grid-template-rows:repeat(1,1fr)}",
@@ -7818,6 +7860,7 @@ mod tests {
78187860
".grid-mix1 { grid-template-rows: repeat( calc(0.5 * 5 - 1), minmax(calc(100px * 2), 1fr) ); }",
78197861
".grid-mix1{grid-template-rows:repeat(2,minmax(200px,1fr))}",
78207862
);
7863+
// end infinity
78217864

78227865
minify_test(".mix1 { z-index: calc(10 + 5 * 2 - 3) }", ".mix1{z-index:17}");
78237866
minify_test(".mix2 { z-index: calc(10 * 2 + 5) }", ".mix2{z-index:25}");

0 commit comments

Comments
 (0)