FocusManager: fix computation of focusable element for rule 'prepare'
diff --git a/eclipse-scout-core/src/focus/FocusManager.js b/eclipse-scout-core/src/focus/FocusManager.js
index a6dd528..3986bf0 100644
--- a/eclipse-scout-core/src/focus/FocusManager.js
+++ b/eclipse-scout-core/src/focus/FocusManager.js
@@ -162,7 +162,7 @@
    */
   evaluateFocusRule($container, focusRuleOrElement) {
     var elementToFocus;
-    if (!focusRuleOrElement || focusRuleOrElement === FocusRule.AUTO) {
+    if (!focusRuleOrElement || scout.isOneOf(focusRuleOrElement, FocusRule.AUTO, FocusRule.PREPARE)) {
       elementToFocus = this.findFirstFocusableElement($container);
     } else if (focusRuleOrElement === FocusRule.NONE) {
       elementToFocus = null;
diff --git a/eclipse-scout-core/test/focus/FocusManagerSpec.js b/eclipse-scout-core/test/focus/FocusManagerSpec.js
index 93e8f4d..4aec896 100644
--- a/eclipse-scout-core/test/focus/FocusManagerSpec.js
+++ b/eclipse-scout-core/test/focus/FocusManagerSpec.js
@@ -9,7 +9,7 @@
  *     BSI Business Systems Integration AG - initial API and implementation
  */
 import {FocusManagerSpecHelper, FormSpecHelper, TableSpecHelper, TreeSpecHelper} from '@eclipse-scout/testing';
-import {Device, focusUtils, scout} from '../../src/index';
+import {Device, FocusRule, focusUtils, scout} from '../../src/index';
 
 /* global FocusManagerSpecHelper */
 jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000;
@@ -307,4 +307,18 @@
       focusManager.uninstallFocusContext($container1);
     });
   });
+
+  describe('evaluateFocusRule', function() {
+    it('should find first focusable element', function() {
+      var $container = createDivWithTwoInputs().appendTo(session.$entryPoint);
+      focusManager.installFocusContext($container);
+
+      expect(focusManager.evaluateFocusRule($container, FocusRule.NONE)).toBe(null);
+      expect(focusManager.evaluateFocusRule($container, FocusRule.AUTO)).toBe($container.children('.input1')[0]);
+      expect(focusManager.evaluateFocusRule($container, FocusRule.PREPARE)).toBe($container.children('.input1')[0]);
+      expect(focusManager.evaluateFocusRule($container, null)).toBe($container.children('.input1')[0]);
+      expect(focusManager.evaluateFocusRule($container, 'invalid-rule')).toBe('invalid-rule');
+      expect(focusManager.evaluateFocusRule($container, $container.children('.input2')[0])).toBe($container.children('.input2')[0]);
+    });
+  });
 });