You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by mi...@apache.org on 2015/05/22 19:02:19 UTC
[07/10] git commit: [flex-sdk] [refs/heads/develop] - FLEX-34852
FLEX-34853 Due to many bugs which link sorting a ListCollectionView and
getItemIndex / removeAll throwing a fatal error (e.g. FLEX-22649, FLEX-34838,
FLEX-4705), we're adding these methods
FLEX-34852 FLEX-34853 Due to many bugs which link sorting a ListCollectionView and getItemIndex / removeAll throwing a fatal error (e.g. FLEX-22649, FLEX-34838, FLEX-4705), we're adding these methods at the end of each (applicable) test.
NOTE that this way we opened FLEX-34853.
Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/04aa9e6e
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/04aa9e6e
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/04aa9e6e
Branch: refs/heads/develop
Commit: 04aa9e6ea04dca049289425790d84b29ee022112
Parents: 4e62c7c
Author: Mihai Chira <mi...@apache.org>
Authored: Fri May 22 16:06:55 2015 +0200
Committer: Mihai Chira <mi...@apache.org>
Committed: Fri May 22 18:20:31 2015 +0200
----------------------------------------------------------------------
.../tests/ListCollectionView_Sort_Tests.as | 67 ++++++++++++++++++--
1 file changed, 61 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/04aa9e6e/frameworks/projects/framework/tests/ListCollectionView_Sort_Tests.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/tests/ListCollectionView_Sort_Tests.as b/frameworks/projects/framework/tests/ListCollectionView_Sort_Tests.as
index 49da81a..3aed1a6 100644
--- a/frameworks/projects/framework/tests/ListCollectionView_Sort_Tests.as
+++ b/frameworks/projects/framework/tests/ListCollectionView_Sort_Tests.as
@@ -22,6 +22,8 @@ package {
import mx.collections.IList;
import mx.collections.ListCollectionView;
+ import org.flexunit.assertThat;
+
import org.flexunit.asserts.assertEquals;
import mx.collections.Sort;
@@ -58,6 +60,7 @@ package {
//then
assertItemsAre([4, 3, 2, 1, 0]);
+ assertRemoveAll();
}
[Test]
@@ -77,6 +80,7 @@ package {
//then
assertItemsAre([5, 4, 3, 2, 1, 0]);
+ assertRemoveAll();
}
[Test]
@@ -96,6 +100,7 @@ package {
//then
assertItemsAre([4, 2, 1, 0]);
+ assertRemoveAll();
}
[Test]
@@ -115,6 +120,7 @@ package {
//then
assertItemsAre([4, 3, 2, 0]);
+ assertRemoveAll();
}
[Test]
@@ -134,6 +140,7 @@ package {
//then
assertItemsAre([100, 4, 3, 2, 0]);
+ assertRemoveAll();
}
[Test]
@@ -153,6 +160,7 @@ package {
//then
assertItemsAre([4, 3, 3, 2, 1, 0]);
+ assertRemoveAll();
}
[Test]
@@ -172,6 +180,7 @@ package {
//then
assertItemsAre([4, 3, 3, 2, 1, 0]);
+ assertRemoveAll();
}
@@ -191,6 +200,8 @@ package {
//then
assertIndexesAre([4, 3, 2, 1, 0]);
+ assertGetItemIndex(from0To4);
+ assertRemoveAll();
}
[Test]
@@ -199,7 +210,8 @@ package {
//given
var from0To4:IList = generateVOs(5);
_sut.addAll(from0To4); //values["name"]: Object0, Object1, Object2, Object3, Object4
- _sut.addItem(generateOneObject(2, "ABC")); //values["name"]: Object0, Object1, Object2, Object3, Object4, ABC2
+ const abc2:ListCollectionView_Sort_VO = generateOneObject(2, "ABC");
+ _sut.addItem(abc2); //values["name"]: Object0, Object1, Object2, Object3, Object4, ABC2
const sortByIndexDescending:Sort = new Sort();
sortByIndexDescending.fields = [new SortField("index", false, true, true), new SortField("name", false, false, false)];
@@ -211,6 +223,13 @@ package {
//then
assertIndexesAre([4, 3, 2, 2, 1, 0]);
assertNamesAre(["Object4", "Object3", "ABC2", "Object2", "Object1", "Object0"]);
+
+ const itemsInSUT:ListCollectionView = new ListCollectionView(new ArrayList());
+ itemsInSUT.addAll(from0To4);
+ itemsInSUT.addItem(abc2);
+ assertGetItemIndex(itemsInSUT);
+
+ assertRemoveAll();
}
[Test]
@@ -226,11 +245,21 @@ package {
_sut.refresh(); //values["name"]: Object4, Object3, Object2, Object1, Object0
//when
- _sut.addItem(generateOneObject(6));
- _sut.addItem(generateOneObject(3.5));
+ const item6:ListCollectionView_Sort_VO = generateOneObject(6);
+ _sut.addItem(item6);
+ const item3_5:ListCollectionView_Sort_VO = generateOneObject(3.5);
+ _sut.addItem(item3_5);
//then
assertIndexesAre([6, 4, 3.5, 3, 2, 1, 0]);
+
+ const itemsInSUT:ListCollectionView = new ListCollectionView(new ArrayList());
+ itemsInSUT.addAll(from0To4);
+ itemsInSUT.addItem(item6);
+ itemsInSUT.addItem(item3_5);
+ assertGetItemIndex(itemsInSUT);
+
+ assertRemoveAll();
}
[Test]
@@ -246,10 +275,17 @@ package {
_sut.refresh(); //values["name"]: Object4, Object3, Object2, Object1, Object0
//when
- _sut.setItemAt(generateOneObject(6), 1);
+ const addedItem:ListCollectionView_Sort_VO = generateOneObject(6);
+ _sut.setItemAt(addedItem, 1);
//then
assertIndexesAre([6, 4, 2, 1, 0]);
+ const itemsInSUT:ListCollectionView = new ListCollectionView(new ArrayList());
+ itemsInSUT.addAll(from0To4);
+ itemsInSUT.setItemAt(addedItem, 3);
+ assertGetItemIndex(itemsInSUT);
+
+ assertRemoveAll();
}
[Test]
@@ -268,8 +304,12 @@ package {
//then
assertIndexesAre([0, 1, 2, 3, 4]);
+ assertGetItemIndex(from4To0);
+
+ assertRemoveAll();
}
+
[Test(description="Testing that changing the properties of the Sort doesn't impact the actual sort order")]
public function test_sort_fields_on_complex_objects_dont_change_unless_sort_reapplied():void
{
@@ -287,6 +327,8 @@ package {
//then
assertIndexesAre([0, 1, 2, 3, 4]);
+ assertGetItemIndex(from4To0);
+ assertRemoveAll();
}
private function assertIndexesAre(indexes:Array):void
@@ -309,8 +351,6 @@ package {
}
}
-
-
private function assertItemsAre(indexes:Array):void
{
assertEquals(indexes.length, _sut.length);
@@ -321,6 +361,21 @@ package {
}
}
+ private function assertGetItemIndex(items:IList):void
+ {
+ for(var i:int = 0; i < items.length; i++)
+ {
+ var target:ListCollectionView_Sort_VO = items.getItemAt(i) as ListCollectionView_Sort_VO;
+ assertThat("could not find " + target.name, _sut.getItemIndex(target) != -1); //in some bugs, an RTE is thrown here
+ }
+ }
+
+ private function assertRemoveAll():void
+ {
+ _sut.removeAll(); //in some bugs, an RTE is thrown here
+ assertEquals(0, _sut.length);
+ }
+
private static function generateVOs(no:int, reverse:Boolean = false):IList
{