mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-05 10:49:34 +02:00
GP-701 fixed stack trace in expand data in selection when crossing address spaces
This commit is contained in:
parent
8327ebd0a1
commit
0daa79b24a
5 changed files with 141 additions and 25 deletions
|
@ -762,6 +762,28 @@ public class AddressSetTest extends AbstractGenericTest {
|
|||
assertTrue(!it.hasNext());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testForwardRangeIteratorRemove() {
|
||||
AddressSet set = set(0x100, 0x110, 0x200, 0x210, 0x300, 0x305);
|
||||
assertEquals(40, set.getNumAddresses());
|
||||
assertEquals(3, set.getNumAddressRanges());
|
||||
|
||||
Iterator<AddressRange> it = set.iterator(true);
|
||||
Assert.assertEquals(range(0x100, 0x110), it.next());
|
||||
Assert.assertEquals(range(0x200, 0x210), it.next());
|
||||
it.remove();
|
||||
Assert.assertEquals(range(0x300, 0x305), it.next());
|
||||
assertTrue(!it.hasNext());
|
||||
|
||||
it = set.iterator(true);
|
||||
Assert.assertEquals(range(0x100, 0x110), it.next());
|
||||
Assert.assertEquals(range(0x300, 0x305), it.next());
|
||||
assertTrue(!it.hasNext());
|
||||
|
||||
assertEquals(23, set.getNumAddresses());
|
||||
assertEquals(2, set.getNumAddressRanges());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBackwardRangeIterator() {
|
||||
AddressSet set = set(0x100, 0x110, 0x200, 0x210, 0x300, 0x305);
|
||||
|
@ -772,6 +794,28 @@ public class AddressSetTest extends AbstractGenericTest {
|
|||
assertTrue(!it.hasNext());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBackwardRangeIteratorRemove() {
|
||||
AddressSet set = set(0x100, 0x110, 0x200, 0x210, 0x300, 0x305);
|
||||
assertEquals(40, set.getNumAddresses());
|
||||
assertEquals(3, set.getNumAddressRanges());
|
||||
|
||||
Iterator<AddressRange> it = set.iterator(false);
|
||||
Assert.assertEquals(range(0x300, 0x305), it.next());
|
||||
Assert.assertEquals(range(0x200, 0x210), it.next());
|
||||
it.remove();
|
||||
Assert.assertEquals(range(0x100, 0x110), it.next());
|
||||
assertTrue(!it.hasNext());
|
||||
|
||||
it = set.iterator(false);
|
||||
Assert.assertEquals(range(0x300, 0x305), it.next());
|
||||
Assert.assertEquals(range(0x100, 0x110), it.next());
|
||||
assertTrue(!it.hasNext());
|
||||
|
||||
assertEquals(23, set.getNumAddresses());
|
||||
assertEquals(2, set.getNumAddressRanges());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetRangeContaining() {
|
||||
AddressSet set = set(0x100, 0x110, 0x200, 0x210, 0x300, 0x305);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue