@@ -123,7 +123,7 @@ def test___panel___set_value___sets_value(
123123 }
124124
125125
126- def test___panel___get_unset_value___raises_exception (
126+ def test___panel___get_unset_value_with_no_default___raises_exception (
127127 fake_panel_channel : grpc .Channel ,
128128) -> None :
129129 """Test that get_value() raises an exception for an unset value."""
@@ -146,6 +146,30 @@ def test___panel___set_value___gets_value(
146146 assert panel .get_value (value_id ) == string_value
147147
148148
149+ def test___set_value___get_value_ignores_default (
150+ fake_panel_channel : grpc .Channel ,
151+ ) -> None :
152+ panel = StreamlitPanel ("my_panel" , "path/to/script" , grpc_channel = fake_panel_channel )
153+
154+ value_id = "test_id"
155+ string_value = "test_value"
156+ panel .set_value (value_id , string_value )
157+
158+ assert panel .get_value (value_id , "default" ) == string_value
159+
160+
161+ def test___get_value_returns_default_when_value_not_set (
162+ fake_panel_channel : grpc .Channel ,
163+ ) -> None :
164+ panel = StreamlitPanel ("my_panel" , "path/to/script" , grpc_channel = fake_panel_channel )
165+
166+ assert panel .get_value ("missing_string" , "default" ) == "default"
167+ assert panel .get_value ("missing_int" , 123 ) == 123
168+ assert panel .get_value ("missing_float" , 1.23 ) == 1.23
169+ assert panel .get_value ("missing_bool" , True ) is True
170+ assert panel .get_value ("missing_list" , [1 , 2 , 3 ]) == [1 , 2 , 3 ]
171+
172+
149173@pytest .mark .parametrize (
150174 "value_payload" ,
151175 [
0 commit comments