You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flex.apache.org by "Mihai Chira (JIRA)" <ji...@apache.org> on 2016/03/02 10:22:18 UTC
[jira] [Resolved] (FLEX-34885) When changing the original Array and
marking the item as updated in a sorted collection, the removed item is
still in the collection
[ https://issues.apache.org/jira/browse/FLEX-34885?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mihai Chira resolved FLEX-34885.
--------------------------------
Resolution: Fixed
> When changing the original Array and marking the item as updated in a sorted collection, the removed item is still in the collection
> ------------------------------------------------------------------------------------------------------------------------------------
>
> Key: FLEX-34885
> URL: https://issues.apache.org/jira/browse/FLEX-34885
> Project: Apache Flex
> Issue Type: Bug
> Components: Spark: Sort and SortField
> Affects Versions: Apache Flex 4.14.1
> Reporter: Mihai Chira
> Assignee: Mihai Chira
> Fix For: Apache Flex 4.15.0
>
>
> See the {code}ListCollectionView_Sort_Tests.test_marking_entire_item_as_updated_gets_the_old_object_out_of_the_list(){code} unit test:
> {code}
> [Test]
> public function test_marking_entire_item_as_updated_gets_the_old_object_out_of_the_list():void
> {
> //given
> var from0To4:IList = generateVOs(5, true); //values["name"]: Object4, Object3, Object2, Object1, Object0
> _sut.addAll(from0To4);
> const sortByNameAscending:Sort = new Sort();
> sortByNameAscending.fields = [new SortField("name", false, false, false)];
> _sut.sort = sortByNameAscending;
> _sut.refresh(); //values["name"]: Object0, Object1, Object2, Object3, Object4
> //when
> const removedItem:ListCollectionView_Sort_VO = (_sut.list as ArrayList).source[0] as ListCollectionView_Sort_VO;
> const newItem:ListCollectionView_Sort_VO = generateOneObject(-1);
> (_sut.list as ArrayList).source[0] = newItem;
> _sut.itemUpdated(newItem, null, removedItem, newItem);
> removedItem.name = "Object7"; //should make no difference
> newItem.name = "Object9"; //should place it at the end of the list
> //then
> const indexOfRemovedItem:int = _sut.getItemIndex(removedItem);
> assertEquals("the item should have been removed from the list", -1, indexOfRemovedItem);
> for(var i:int = 0; i < _sut.length; i++)
> {
> assertThat(_sut.getItemAt(i) != removedItem);
> }
> assertEquals("the new item should have been moved to the end of the list", _sut.length - 1, _sut.getItemIndex(newItem));
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)