Loads environment variables from .env for Lute projects. [Read-only mirror] codeberg.org/clay-rip/dotenv
0

Configure Feed

Select the types of activity you want to include in your feed.

clearly mark warning tests

Clay (May 27, 2026, 3:29 AM EDT) 4e68ff47 639f0e21

+45 -44
+45 -44
tests/dotenv.test.luau
··· 149 149 asserts.eq("qux", result["BAZ"]) 150 150 end) 151 151 152 - -- error cases 153 - 154 - suite:case("errors on line without equals sign", function(asserts) 155 - local ok = pcall(function() 156 - dotenv.parse("NOEQUALSSIGN") 157 - end) 158 - asserts.eq(false, ok) 159 - end) 160 - 161 - suite:case("errors on empty variable name", function(asserts) 162 - local ok = pcall(function() 163 - dotenv.parse("=value") 164 - end) 165 - asserts.eq(false, ok) 166 - end) 167 - 168 - suite:case("errors on space in variable name", function(asserts) 169 - local ok = pcall(function() 170 - dotenv.parse("SPACE IN NAME=value") 171 - end) 172 - asserts.eq(false, ok) 173 - end) 174 - 175 - suite:case("errors on space in unquoted value", function(asserts) 176 - local ok = pcall(function() 177 - dotenv.parse("FOO=unquoted space") 178 - end) 179 - asserts.eq(false, ok) 180 - end) 181 - 182 - suite:case("errors on unclosed double quote", function(asserts) 183 - local ok = pcall(function() 184 - dotenv.parse('UNCLOSED="never closes') 185 - end) 186 - asserts.eq(false, ok) 187 - end) 188 - 189 - suite:case("errors on unclosed single quote", function(asserts) 190 - local ok = pcall(function() 191 - dotenv.parse("UNCLOSED='never closes") 192 - end) 193 - asserts.eq(false, ok) 194 - end) 195 - 152 + -- warnings 196 153 suite:case("warns when unquoted value contains variable syntax", function(asserts) 197 154 local warnings = {} 198 155 dotenv.parse("BASE=world\nUNQUOTED=${BASE}", false, function(msg) ··· 241 198 table.insert(warnings, msg) 242 199 end) 243 200 asserts.eq(0, #warnings) 201 + end) 202 + 203 + -- error cases 204 + 205 + suite:case("errors on line without equals sign", function(asserts) 206 + local ok = pcall(function() 207 + dotenv.parse("NOEQUALSSIGN") 208 + end) 209 + asserts.eq(false, ok) 210 + end) 211 + 212 + suite:case("errors on empty variable name", function(asserts) 213 + local ok = pcall(function() 214 + dotenv.parse("=value") 215 + end) 216 + asserts.eq(false, ok) 217 + end) 218 + 219 + suite:case("errors on space in variable name", function(asserts) 220 + local ok = pcall(function() 221 + dotenv.parse("SPACE IN NAME=value") 222 + end) 223 + asserts.eq(false, ok) 224 + end) 225 + 226 + suite:case("errors on space in unquoted value", function(asserts) 227 + local ok = pcall(function() 228 + dotenv.parse("FOO=unquoted space") 229 + end) 230 + asserts.eq(false, ok) 231 + end) 232 + 233 + suite:case("errors on unclosed double quote", function(asserts) 234 + local ok = pcall(function() 235 + dotenv.parse('UNCLOSED="never closes') 236 + end) 237 + asserts.eq(false, ok) 238 + end) 239 + 240 + suite:case("errors on unclosed single quote", function(asserts) 241 + local ok = pcall(function() 242 + dotenv.parse("UNCLOSED='never closes") 243 + end) 244 + asserts.eq(false, ok) 244 245 end) 245 246 end) 246 247