Update only the queue ID in settings.cfg
Saving a new queue ID wrote every setting from memory, which could also save a setting that is in use but not saved yet, like the debug winning score. Now it loads the file, changes only the queue ID and saves it again.
This commit is contained in:
1 parent
4a45e8516d
commit
62fa63fd8b
2 files changed
+41
-2
No files matched your search
@@ -107,6 +107,36 @@ func test_queue_ids_are_saved_and_load_back() -> void:
|
||||
assert_dict(Settings.queue_ids).is_equal({"https://music.example.com": "queue-1"})
|
||||
|
||||
|
||||
func test_saving_a_queue_id_leaves_the_other_settings_as_saved() -> void:
|
||||
Settings.winning_score = 10
|
||||
Settings.save_settings()
|
||||
Settings.winning_score = 12
|
||||
|
||||
Settings.set_queue_id("https://music.example.com", "queue-1")
|
||||
|
||||
var file: ConfigFile = _saved_file()
|
||||
assert_int(file.get_value("quiz", "winning_score")).is_equal(10)
|
||||
assert_str(file.get_value("queues", "https://music.example.com")).is_equal("queue-1")
|
||||
|
||||
|
||||
func test_saving_a_queue_id_without_a_file_saves_only_the_queue_id() -> void:
|
||||
Settings.set_queue_id("https://music.example.com", "queue-1")
|
||||
|
||||
var file: ConfigFile = _saved_file()
|
||||
assert_array(file.get_sections()).contains_exactly(["queues"])
|
||||
assert_str(file.get_value("queues", "https://music.example.com")).is_equal("queue-1")
|
||||
|
||||
|
||||
func test_new_queue_id_replaces_only_its_server() -> void:
|
||||
Settings.set_queue_id("https://music.example.com", "queue-1")
|
||||
Settings.set_queue_id("http://localhost:8080", "local-1")
|
||||
Settings.set_queue_id("https://music.example.com", "queue-2")
|
||||
|
||||
var file: ConfigFile = _saved_file()
|
||||
assert_str(file.get_value("queues", "https://music.example.com")).is_equal("queue-2")
|
||||
assert_str(file.get_value("queues", "http://localhost:8080")).is_equal("local-1")
|
||||
|
||||
|
||||
func test_file_without_queues_keeps_the_current_queue_ids() -> void:
|
||||
Settings.save_settings()
|
||||
Settings.queue_ids["https://music.example.com"] = "queue-1"
|
||||
|
||||
Reference in new issue
Block a user