1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
# AI-generated module (ChatGPT)
from huggingface_hub.utils._dotenv import load_dotenv
def test_basic_key_value():
data = "KEY=value"
assert load_dotenv(data) == {"KEY": "value"}
def test_whitespace_and_comments():
data = """
# This is a comment
KEY = value # inline comment
EMPTY=
"""
assert load_dotenv(data) == {"KEY": "value", "EMPTY": ""}
def test_quoted_values():
data = """
SINGLE='single quoted'
DOUBLE="double quoted"
ESCAPED="line\\nbreak"
"""
assert load_dotenv(data) == {"SINGLE": "single quoted", "DOUBLE": "double quoted", "ESCAPED": "line\nbreak"}
def test_export_and_inline_comment():
data = "export KEY=value # this is a comment"
assert load_dotenv(data) == {"KEY": "value"}
def test_ignore_invalid_lines():
data = """
this is not valid
KEY=value
"""
assert load_dotenv(data) == {"KEY": "value"}
def test_complex_quotes():
data = r"""
QUOTED="some value with # not comment"
ESCAPE="escaped \$dollar and \\backslash"
"""
assert load_dotenv(data) == {
"QUOTED": "some value with # not comment",
"ESCAPE": "escaped $dollar and \\backslash",
}
def test_no_value():
data = "NOVALUE="
assert load_dotenv(data) == {"NOVALUE": ""}
def test_multiple_lines():
data = """
A=1
B="two"
C='three'
D=4
"""
assert load_dotenv(data) == {"A": "1", "B": "two", "C": "three", "D": "4"}
def test_environ():
data = """
A=1
B
C=3
MISSING
EMPTY
"""
environ = {"A": "one", "B": "two", "D": "four", "EMPTY": ""}
assert load_dotenv(data, environ=environ) == {"A": "1", "B": "two", "C": "3", "EMPTY": ""}
|