1
0
mirror of https://github.com/OpenTTD/OpenTTD.git synced 2025-08-19 04:29:09 +00:00

(svn r19293) -Fix [FS#3566]: Some methods of AIAbstractList left invalid iterators.

This commit is contained in:
frosch
2010-02-28 19:53:11 +00:00
parent b3f2f3e278
commit ac1a08ef4a
4 changed files with 51 additions and 51 deletions

View File

@@ -785,6 +785,36 @@ function Regression::List()
list.Clear();
print(" IsEmpty(): " + list.IsEmpty());
for (local i = 0; i < 10; i++) {
list.AddItem(i, 5 + i / 2);
}
local it = list.Begin();
print(" " + it + " => " + list.GetValue(it) + " (" + list.HasNext() + ")");
list.Sort(list.SORT_BY_VALUE, list.SORT_ASCENDING);
it = list.Next();
print(" " + it + " => " + list.GetValue(it) + " (" + list.HasNext() + ")");
it = list.Begin();
print(" " + it + " => " + list.GetValue(it) + " (" + list.HasNext() + ")");
list.SetValue(it + 1, -5);
it = list.Next();
print(" " + it + " => " + list.GetValue(it) + " (" + list.HasNext() + ")");
list.RemoveValue(list.GetValue(it) + 1);
it = list.Next();
print(" " + it + " => " + list.GetValue(it) + " (" + list.HasNext() + ")");
list.RemoveAboveValue(list.GetValue(it));
it = list.Next();
print(" " + it + " => " + list.GetValue(it) + " (" + list.HasNext() + ")");
while (list.HasNext()) {
it = list.Next();
print(" " + it + " => " + list.GetValue(it));
}
}
function Regression::Map()

View File

@@ -569,6 +569,14 @@
[]:
4000 => 50
IsEmpty(): true
0 => 5 (true)
ERROR: Next() is invalid as Begin() is never called
ERROR: HasNext() is invalid as Begin() is never called
0 => 5 (false)
0 => 5 (true)
2 => 6 (true)
3 => 6 (true)
9 => 0 (false)
--Company--
SetName(): true