@@ -377,7 +377,7 @@ QUnit.module('switchable button delete decorator', {
377377 const $items = $list . find ( `.${ LIST_ITEM_CLASS } ` ) ;
378378 const $item = $items . eq ( 0 ) ;
379379
380- assert . strictEqual ( $item . children ( `.${ SWITCHABLE_DELETE_BUTTON_CONTAINER_CLASS } ` ) . length , 0 , 'delete button won\'t rendered' ) ;
380+ assert . strictEqual ( $item . children ( `.${ SWITCHABLE_DELETE_BUTTON_CONTAINER_CLASS } ` ) . length , 0 , 'delete button was not rendered' ) ;
381381 } ) ;
382382
383383 QUnit . test ( 'button should be added only when item is ready to delete' , function ( assert ) {
@@ -1474,7 +1474,7 @@ QUnit.module('context menu decorator', {
14741474 list . option ( 'allowItemDeleting' , false ) ;
14751475
14761476 const $menu = list . $element ( ) . find ( `.${ CONTEXTMENU_CLASS } ` ) ;
1477- assert . ok ( ! $menu . length , 'overlay won\'t created' ) ;
1477+ assert . ok ( ! $menu . length , 'overlay was not created' ) ;
14781478 } ) ;
14791479
14801480 QUnit . test ( 'item hold should not open overlay if widget is disabled' , function ( assert ) {
@@ -2051,7 +2051,7 @@ QUnit.module('selectAll for all pages', () => {
20512051 assert . strictEqual ( $list . find ( '.dx-list-item-selected' ) . length , 1 , 'selected items should have selected class' ) ;
20522052 } ) ;
20532053
2054- QUnit . test ( 'selectAll checkbox should change it\'s state to undefined when one item was deselected' , function ( assert ) {
2054+ QUnit . test ( 'selectAll checkbox should change its state to undefined when one item was deselected' , function ( assert ) {
20552055 const ds = new DataSource ( {
20562056 store : [ 1 , 2 , 3 , 4 , 5 , 6 ] ,
20572057 pageSize : 2 ,
@@ -2595,6 +2595,31 @@ QUnit.module('item select decorator with single selection mode', () => {
25952595 assert . strictEqual ( radioButton . option ( 'value' ) , true , 'item selected' ) ;
25962596 } ) ;
25972597
2598+ QUnit . test ( 'only one item should remain selected after double-clicking on its radio control and then clicking on another item control (T1294715)' , function ( assert ) {
2599+ const $list = $ ( '#list' ) . dxList ( {
2600+ items : [
2601+ { id : 1 , text : 'item 1' } ,
2602+ { id : 2 , text : 'item 2' } ,
2603+ ] ,
2604+ showSelectionControls : true ,
2605+ selectionMode : 'single'
2606+ } ) ;
2607+
2608+ const $radioButtons = $list . find ( `.${ SELECT_RADIO_BUTTON_CLASS } ` ) ;
2609+ const $firstRadioButton = $radioButtons . eq ( 0 ) ;
2610+ const $secondRadioButton = $radioButtons . eq ( 1 ) ;
2611+
2612+ $firstRadioButton . trigger ( 'dxclick' ) ;
2613+ $firstRadioButton . trigger ( 'dxclick' ) ;
2614+ $secondRadioButton . trigger ( 'dxclick' ) ;
2615+
2616+ const firstRadioButtonInstance = $firstRadioButton . dxRadioButton ( 'instance' ) ;
2617+ const secondRadioButtonInstance = $secondRadioButton . dxRadioButton ( 'instance' ) ;
2618+
2619+ assert . strictEqual ( firstRadioButtonInstance . option ( 'value' ) , false , 'first item is not selected' ) ;
2620+ assert . strictEqual ( secondRadioButtonInstance . option ( 'value' ) , true , 'second item is selected' ) ;
2621+ } ) ;
2622+
25982623 QUnit . test ( 'keyboard navigation should work with without selectAll checkbox' , function ( assert ) {
25992624 const $list = $ ( '#templated-list' ) . dxList ( {
26002625 focusStateEnabled : true ,
@@ -2813,14 +2838,14 @@ QUnit.module('reordering decorator', {
28132838 assert . ok ( ! $ghostItem . hasClass ( REORDERING_ITEM_CLASS ) , 'reordering class is not present' ) ;
28142839
28152840 assert . equal ( $ghostItem . css ( 'direction' ) , 'rtl' , 'direction is rtl' ) ;
2816- assert . ok ( $ghostItem . parent ( ) . hasClass ( 'dx-rtl' ) , 'ghost\'s parent has dx-rtl class' ) ;
2841+ assert . ok ( $ghostItem . parent ( ) . hasClass ( 'dx-rtl' ) , 'ghost parent has dx-rtl class' ) ;
28172842
28182843 pointer . dragEnd ( ) ;
28192844 $ghostItem = $list . find ( `.${ REORDERING_ITEM_GHOST_CLASS } ` ) ;
28202845 assert . strictEqual ( $items . length , 1 , 'duplicate item was removed' ) ;
28212846 } ) ;
28222847
2823- QUnit . test ( 'cached items doesn\'t contains a ghost item after reordering' , function ( assert ) {
2848+ QUnit . test ( 'cached items does not contains a ghost item after reordering' , function ( assert ) {
28242849 const $list = $ ( '#list' ) . dxList ( {
28252850 items : [ '0' , '1' , '2' ] ,
28262851 itemDragging : { allowReordering : true }
@@ -2836,7 +2861,7 @@ QUnit.module('reordering decorator', {
28362861 const cachedItems = list . _itemElements ( ) ;
28372862
28382863 assert . strictEqual ( cachedItems . length , 3 , 'Cached items contains 3 items' ) ;
2839- assert . notOk ( cachedItems . hasClass ( REORDERING_ITEM_GHOST_CLASS ) , 'Cached items isn\'t contain a ghost item' ) ;
2864+ assert . notOk ( cachedItems . hasClass ( REORDERING_ITEM_GHOST_CLASS ) , 'Cached items does not contain a ghost item' ) ;
28402865 } ) ;
28412866
28422867 QUnit . test ( 'ghost item should be moved by drag' , function ( assert ) {
0 commit comments