[ 
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)

Reply via email to