Fix size sorting and add regressive test
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import 'package:rimworld_modman/logger.dart';
|
||||
import 'package:rimworld_modman/mod.dart';
|
||||
import 'package:rimworld_modman/mod_list.dart';
|
||||
import 'package:test/test.dart';
|
||||
@@ -147,6 +148,46 @@ void main() {
|
||||
expect(result.errors.any((e) => e.contains('incompatible')), isTrue);
|
||||
expect(result.errors.any((e) => e.contains('harmony')), isTrue);
|
||||
});
|
||||
test('Base game should load before other mods', () {
|
||||
final list = ModList();
|
||||
list.mods = {
|
||||
'dummy': makeDummy().copyWith(size: 10000),
|
||||
'ludeon.rimworld': makeDummy().copyWith(
|
||||
name: 'RimWorld',
|
||||
id: 'ludeon.rimworld',
|
||||
isBaseGame: true,
|
||||
),
|
||||
};
|
||||
list.enableAll();
|
||||
final result = list.generateLoadOrder();
|
||||
|
||||
final expected = ['ludeon.rimworld', 'dummy'];
|
||||
expect(result.errors, isEmpty);
|
||||
expect(result.loadOrder, equals(expected));
|
||||
});
|
||||
test('Base game and expansions should load before other mods', () {
|
||||
final list = ModList();
|
||||
list.mods = {
|
||||
'dummy': makeDummy().copyWith(size: 10000),
|
||||
'ludeon.rimworld': makeDummy().copyWith(
|
||||
name: 'RimWorld',
|
||||
id: 'ludeon.rimworld',
|
||||
isBaseGame: true,
|
||||
),
|
||||
'ludeon.rimworld.anomaly': makeDummy().copyWith(
|
||||
name: 'RimWorld Anomaly',
|
||||
id: 'ludeon.rimworld.anomaly',
|
||||
dependencies: ['ludeon.rimworld'],
|
||||
isExpansion: true,
|
||||
),
|
||||
};
|
||||
list.enableAll();
|
||||
final result = list.generateLoadOrder();
|
||||
|
||||
final expected = ['ludeon.rimworld', 'ludeon.rimworld.anomaly', 'dummy'];
|
||||
expect(result.errors, isEmpty);
|
||||
expect(result.loadOrder, equals(expected));
|
||||
});
|
||||
});
|
||||
|
||||
group('Test loadRequired', () {
|
||||
|
Reference in New Issue
Block a user