浏览代码

Tests: add tests for dropdown util: enableModelIfOneIsEnabled().

Maciej Gołaszewski 7 年之前
父节点
当前提交
b1a76a974b
共有 1 个文件被更改,包括 25 次插入1 次删除
  1. 25 1
      packages/ckeditor5-ui/tests/dropdown/utils.js

+ 25 - 1
packages/ckeditor5-ui/tests/dropdown/utils.js

@@ -21,6 +21,7 @@ import {
 	createButtonForDropdown,
 	createDropdownView,
 	createSingleButtonDropdown,
+	enableModelIfOneIsEnabled,
 	focusDropdownContentsOnArrows
 } from '../../src/dropdown/utils';
 import ListItemView from '../../src/list/listitemview';
@@ -175,7 +176,30 @@ describe( 'utils', () => {
 
 	describe( 'createSingleButtonDropdown', () => {} );
 
-	describe( 'enableModelIfOneIsEnabled', () => {} );
+	describe( 'enableModelIfOneIsEnabled', () => {
+		it( 'Bind to #isEnabled of each observable  and set it true if any observable #isEnabled is true', () => {
+			const observables = [
+				new Model( { isEnabled: false } ),
+				new Model( { isEnabled: false } ),
+				new Model( { isEnabled: false } )
+			];
+			enableModelIfOneIsEnabled( model, observables );
+
+			expect( model.isEnabled ).to.be.false;
+
+			observables[ 0 ].isEnabled = true;
+
+			expect( model.isEnabled ).to.be.true;
+
+			observables[ 0 ].isEnabled = false;
+
+			expect( model.isEnabled ).to.be.false;
+
+			observables[ 1 ].isEnabled = true;
+
+			expect( model.isEnabled ).to.be.true;
+		} );
+	} );
 
 	describe( 'addListViewToDropdown', () => {
 		let items;