Tame a few tests that relied on pairs being somewhat deterministic (#6371)

* Mangle stupid defaults test so that it compares tables, and not a non-deterministic string representation of one.

It's still extremely dumb and annoying to update. (i.e., feel free to kill it with fire in a subsequent PR, I think everybody would cheer).

* Rewrite DepGraph to be deterministic

i.e., fully array based, no more hashes, which means no more pairs randomly re-ordering stuff.

Insertion order is now preserved.

Pretty sure a couple of bugs have been fixed and/or added along the way
;p.

* Resync frontend/apps/filemanager/lib/md.lua w/ upstream

And use orderedPairs in the attribute parsing code, just to make that stupid test happy.
This commit is contained in:
NiLuJe
2020-07-14 18:25:26 +02:00
committed by GitHub
parent 70f89c4df1
commit 4e5def4282
8 changed files with 313 additions and 166 deletions

View File

@@ -28,32 +28,11 @@ describe("defaults module", function()
assert.is_same("DTAP_ZONE_BACKWARD", Defaults.defaults_name[85])
assert.is_same("DCREREADER_CONFIG_WORD_SPACING_LARGE", Defaults.defaults_name[50])
assert.is_same("DCREREADER_CONFIG_H_MARGIN_SIZES_XXX_LARGE", Defaults.defaults_name[20])
local fd = io.open(persistent_filename, "r")
assert.Equals(
[[-- For configuration changes that persists between updates
DCREREADER_CONFIG_WORD_SPACING_LARGE = {
[1] = 100,
[2] = 90
}
DTAP_ZONE_BACKWARD = {
["y"] = 0,
["x"] = 0,
["h"] = 1,
["w"] = 0.25
}
DCREREADER_CONFIG_H_MARGIN_SIZES_XXX_LARGE = {
[1] = 50,
[2] = 50
}
DDOUBLE_TAP_ZONE_PREV_CHAPTER = {
["y"] = 0,
["x"] = 0,
["h"] = 0.25,
["w"] = 0.25
}
]],
fd:read("*a"))
fd:close()
dofile(persistent_filename)
assert.is_same(DCREREADER_CONFIG_WORD_SPACING_LARGE, { [1] = 100, [2] = 90 })
assert.is_same(DTAP_ZONE_BACKWARD, { ["y"] = 0, ["x"] = 0, ["h"] = 1, ["w"] = 0.25 })
assert.is_same(DCREREADER_CONFIG_H_MARGIN_SIZES_XXX_LARGE, { [1] = 50, [2] = 50 })
assert.is_same(DDOUBLE_TAP_ZONE_PREV_CHAPTER, { ["y"] = 0, ["x"] = 0, ["h"] = 0.25, ["w"] = 0.25 })
-- in persistent
Defaults:init()
@@ -72,32 +51,21 @@ DDOUBLE_TAP_ZONE_PREV_CHAPTER = {
w = 20.75
}
Defaults:saveSettings()
fd = io.open(persistent_filename)
assert.Equals(
[[-- For configuration changes that persists between updates
DCREREADER_CONFIG_WORD_SPACING_LARGE = {
[2] = 90,
[1] = 100
}
DDOUBLE_TAP_ZONE_PREV_CHAPTER = {
["y"] = 0,
["x"] = 0,
["h"] = 0.25,
["w"] = 0.75
}
DCREREADER_CONFIG_H_MARGIN_SIZES_XXX_LARGE = {
[2] = 50,
[1] = 50
}
DTAP_ZONE_BACKWARD = {
["y"] = 10,
["x"] = 10.125,
["h"] = 20.25,
["w"] = 20.75
}
]],
fd:read("*a"))
fd:close()
dofile(persistent_filename)
assert.is_same(DCREREADER_CONFIG_WORD_SPACING_LARGE, { [2] = 90, [1] = 100 })
assert.is_same(DDOUBLE_TAP_ZONE_PREV_CHAPTER, {
["y"] = 0,
["x"] = 0,
["h"] = 0.25,
["w"] = 0.75
})
assert.is_same(DCREREADER_CONFIG_H_MARGIN_SIZES_XXX_LARGE, { [2] = 50, [1] = 50 })
assert.is_same(DTAP_ZONE_BACKWARD, {
["y"] = 10,
["x"] = 10.125,
["h"] = 20.25,
["w"] = 20.75
})
os.remove(persistent_filename)
end)
@@ -120,19 +88,14 @@ DHINTCOUNT = 2
Defaults.changed[57] = true
Defaults.defaults_value[57] = 1
Defaults:saveSettings()
fd = io.open(persistent_filename)
assert.Equals(
[[-- For configuration changes that persists between updates
DCREREADER_VIEW_MODE = "page"
DCREREADER_CONFIG_H_MARGIN_SIZES_LARGE = {
[2] = 15,
[1] = 15
}
DGLOBAL_CACHE_FREE_PROPORTION = 1
DHINTCOUNT = 2
]],
fd:read("*a"))
fd:close()
dofile(persistent_filename)
assert.Equals(DCREREADER_VIEW_MODE, "page")
assert.is_same(DCREREADER_CONFIG_H_MARGIN_SIZES_LARGE, {
[2] = 15,
[1] = 15
})
assert.Equals(DGLOBAL_CACHE_FREE_PROPORTION, 1)
assert.Equals(DHINTCOUNT, 2)
os.remove(persistent_filename)
end)
end)