Skip to content

Commit 89d4da3

Browse files
committed
Reproduce bug with list initialization
1 parent 1d7b5e8 commit 89d4da3

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

tests/test_instantiation.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
from dataclasses import dataclass, field
66
from typing import Dict
77

8+
import pytest
9+
810
from datafiles import Missing, datafile
911
from datafiles.utils import logbreak, write
1012

@@ -17,6 +19,7 @@
1719
class SampleWithDefaults:
1820
foo: int = 1
1921
bar: str = "a"
22+
items: list[str] = field(default_factory=list)
2023

2124

2225
@dataclass
@@ -64,19 +67,22 @@ def it_wins_when_no_init_values(expect):
6467
expect(sample.foo) == 2
6568
expect(sample.bar) == "b"
6669

70+
@pytest.mark.xfail(reason="https://github.com/jacebrowning/datafiles/issues/344")
6771
def it_loses_against_init_values(expect):
6872
write(
6973
"tmp/sample.yml",
7074
"""
7175
foo: 3
7276
bar: c
77+
items: ["aaa"]
7378
""",
7479
)
7580

76-
sample = SampleWithDefaults(4, "d")
81+
sample = SampleWithDefaults(4, "d", ["aaa", "bbb"])
7782

7883
expect(sample.foo) == 4
7984
expect(sample.bar) == "d"
85+
expect(sample.items) == ["aaa", "bbb"]
8086

8187
def it_wins_against_default_init_values(expect):
8288
write(

0 commit comments

Comments
 (0)