The expansions must be loaded in correct order.... fuck

This commit is contained in:
2025-03-19 00:03:42 +01:00
parent 9eb71e94c1
commit 5f20368fe2
4 changed files with 50 additions and 12 deletions

View File

@@ -200,10 +200,10 @@ void main() {
final expected = [
'brrainz.harmony',
'ludeon.rimworld',
'ludeon.rimworld.anomaly',
'ludeon.rimworld.biotech',
'ludeon.rimworld.ideology',
'ludeon.rimworld.royalty',
'ludeon.rimworld.ideology',
'ludeon.rimworld.biotech',
'ludeon.rimworld.anomaly',
'dubwise.rimatomics',
'jecrell.doorsexpanded',
'dubwise.rimefeller',
@@ -304,10 +304,10 @@ void main() {
'brrainz.harmony',
'ludeon.rimworld',
'bs.betterlog',
'ludeon.rimworld.anomaly',
'ludeon.rimworld.royalty',
'ludeon.rimworld.ideology',
'ludeon.rimworld.biotech',
'ludeon.rimworld.anomaly',
];
expect(order.loadOrder, equals(expected));
});
@@ -712,10 +712,10 @@ void main() {
'brrainz.harmony',
'ludeon.rimworld',
'bs.betterlog',
'ludeon.rimworld.anomaly',
'ludeon.rimworld.biotech',
'ludeon.rimworld.ideology',
'ludeon.rimworld.royalty',
'ludeon.rimworld.ideology',
'ludeon.rimworld.biotech',
'ludeon.rimworld.anomaly',
'rah.rbse',
'mlie.usethisinstead',
'dubwise.rimatomics',

View File

@@ -182,6 +182,38 @@ void main() {
expect(result.errors, isEmpty);
expect(result.loadOrder, equals(expected));
});
test('Expansions should load in the correct order', () {
final list = ModList();
// Intentionally left barren because that's how we get it out of the box
// It is up to generateLoadOrder to fill in the details
list.mods = {
'ludeon.rimworld': makeDummy().copyWith(id: 'ludeon.rimworld'),
'ludeon.rimworld.anomaly': makeDummy().copyWith(
id: 'ludeon.rimworld.anomaly',
),
'ludeon.rimworld.ideology': makeDummy().copyWith(
id: 'ludeon.rimworld.ideology',
),
'ludeon.rimworld.biotech': makeDummy().copyWith(
id: 'ludeon.rimworld.biotech',
),
'ludeon.rimworld.royalty': makeDummy().copyWith(
id: 'ludeon.rimworld.royalty',
),
};
list.enableAll();
final result = list.generateLoadOrder();
final expected = [
'ludeon.rimworld',
'ludeon.rimworld.royalty',
'ludeon.rimworld.ideology',
'ludeon.rimworld.biotech',
'ludeon.rimworld.anomaly',
];
expect(result.errors, isEmpty);
expect(result.loadOrder, equals(expected));
});
});
group('Test loadRequired', () {