diff spec/util_format_spec.lua @ 13930:1914675b6727

util.format: Handle Lua 5.5 change in precision tostring(big number) sed -i '/73786976294838206464/s/equal("\[7\.3786976294838e+19]"/matches("%[7%.3786976294838%d*e%+19%]"/' sed -i '/73786976294838206464/s/equal("7\.3786976294838e+19"/matches("7%.3786976294838%d*e%+19"/' Don't think this change in Lua affects anything else, we shouldn't be depending on the exact number format tostring() uses.
author Kim Alvefur <zash@zash.se>
date Fri, 08 Aug 2025 15:04:48 +0200
parents c0e3e0d79574
children
line wrap: on
line diff
--- a/spec/util_format_spec.lua	Wed Aug 06 16:48:35 2025 +0200
+++ b/spec/util_format_spec.lua	Fri Aug 08 15:04:48 2025 +0200
@@ -15,7 +15,7 @@
 			assert.equal("% [true]", format("%%", true));
 			assert.equal("{}", format("%q", {}));
 			assert.equal("[1.5]", format("%d", 1.5));
-			assert.equal("[7.3786976294838e+19]", format("%d", 73786976294838206464));
+			assert.matches("%[7%.3786976294838%d*e%+19%]", format("%d", 73786976294838206464));
 		end);
 
 		it("escapes ascii control stuff", function ()
@@ -262,7 +262,7 @@
 				it("works", function ()
 					assert.equal("a", format("%c", 97))
 					assert.equal("[1.5]", format("%c", 1.5))
-					assert.equal("[7.3786976294838e+19]", format("%c", 73786976294838206464))
+					assert.matches("%[7%.3786976294838%d*e%+19%]", format("%c", 73786976294838206464))
 					assert.equal("[inf]", format("%c", math.huge))
 				end);
 			end);
@@ -272,7 +272,7 @@
 					assert.equal("97", format("%d", 97))
 					assert.equal("-12345", format("%d", -12345))
 					assert.equal("[1.5]", format("%d", 1.5))
-					assert.equal("[7.3786976294838e+19]", format("%d", 73786976294838206464))
+					assert.matches("%[7%.3786976294838%d*e%+19%]", format("%d", 73786976294838206464))
 					assert.equal("[inf]", format("%d", math.huge))
 					assert.equal("2147483647", format("%d", 2147483647))
 				end);
@@ -283,7 +283,7 @@
 					assert.equal("97", format("%i", 97))
 					assert.equal("-12345", format("%i", -12345))
 					assert.equal("[1.5]", format("%i", 1.5))
-					assert.equal("[7.3786976294838e+19]", format("%i", 73786976294838206464))
+					assert.matches("%[7%.3786976294838%d*e%+19%]", format("%i", 73786976294838206464))
 					assert.equal("[inf]", format("%i", math.huge))
 					assert.equal("2147483647", format("%i", 2147483647))
 				end);
@@ -294,7 +294,7 @@
 					assert.equal("141", format("%o", 97))
 					assert.equal("[-12345]", format("%o", -12345))
 					assert.equal("[1.5]", format("%o", 1.5))
-					assert.equal("[7.3786976294838e+19]", format("%o", 73786976294838206464))
+					assert.matches("%[7%.3786976294838%d*e%+19%]", format("%o", 73786976294838206464))
 					assert.equal("[inf]", format("%o", math.huge))
 					assert.equal("17777777777", format("%o", 2147483647))
 				end);
@@ -305,7 +305,7 @@
 					assert.equal("97", format("%u", 97))
 					assert.equal("[-12345]", format("%u", -12345))
 					assert.equal("[1.5]", format("%u", 1.5))
-					assert.equal("[7.3786976294838e+19]", format("%u", 73786976294838206464))
+					assert.matches("%[7%.3786976294838%d*e%+19%]", format("%u", 73786976294838206464))
 					assert.equal("[inf]", format("%u", math.huge))
 					assert.equal("2147483647", format("%u", 2147483647))
 				end);
@@ -316,7 +316,7 @@
 					assert.equal("61", format("%x", 97))
 					assert.equal("[-12345]", format("%x", -12345))
 					assert.equal("[1.5]", format("%x", 1.5))
-					assert.equal("[7.3786976294838e+19]", format("%x", 73786976294838206464))
+					assert.matches("%[7%.3786976294838%d*e%+19%]", format("%x", 73786976294838206464))
 					assert.equal("[inf]", format("%x", math.huge))
 					assert.equal("7fffffff", format("%x", 2147483647))
 				end);
@@ -327,7 +327,7 @@
 					assert.equal("61", format("%X", 97))
 					assert.equal("[-12345]", format("%X", -12345))
 					assert.equal("[1.5]", format("%X", 1.5))
-					assert.equal("[7.3786976294838e+19]", format("%X", 73786976294838206464))
+					assert.matches("%[7%.3786976294838%d*e%+19%]", format("%X", 73786976294838206464))
 					assert.equal("[inf]", format("%X", math.huge))
 					assert.equal("7FFFFFFF", format("%X", 2147483647))
 				end);
@@ -426,7 +426,7 @@
 					assert.equal("97", format("%s", 97))
 					assert.equal("-12345", format("%s", -12345))
 					assert.equal("1.5", format("%s", 1.5))
-					assert.equal("7.3786976294838e+19", format("%s", 73786976294838206464))
+					assert.matches("7%.3786976294838%d*e%+19", format("%s", 73786976294838206464))
 					assert.equal("inf", format("%s", math.huge))
 					assert.equal("2147483647", format("%s", 2147483647))
 				end);