]> source.dussan.org Git - vaadin-framework.git/commitdiff
Updated Window API based on 7.2 API review
authorArtur Signell <artur@vaadin.com>
Fri, 11 Apr 2014 12:28:24 +0000 (15:28 +0300)
committerVaadin Code Review <review@vaadin.com>
Mon, 14 Apr 2014 05:00:01 +0000 (05:00 +0000)
Change-Id: Ie6fa8b51c2fd1d1fe7def9ca7c11b4023eae52b7

server/src/com/vaadin/ui/Window.java
server/tests/src/com/vaadin/tests/server/component/window/WindowTest.java [new file with mode: 0644]

index d3afdaacf1a258ddcf3f20c9ff11c8208e98c14f..aaba601309b981074976be19dcda52b6e53529b6 100644 (file)
@@ -18,9 +18,6 @@ package com.vaadin.ui;
 
 import java.io.Serializable;
 import java.lang.reflect.Method;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
 import java.util.Map;
 
 import com.vaadin.event.FieldEvents.BlurEvent;
@@ -1020,12 +1017,12 @@ public class Window extends Panel implements FocusNotifier, BlurNotifier,
      * @param connectors
      *            with the components to use as description
      */
-    public void setAssistiveDescription(Connector... connectors) {
-        if (connectors == null) {
+    public void setAssistiveDescription(Component... components) {
+        if (components == null) {
             throw new IllegalArgumentException(
                     "Parameter connectors must be non-null");
         } else {
-            getState().contentDescription = connectors;
+            getState().contentDescription = components;
         }
     }
 
@@ -1036,9 +1033,17 @@ public class Window extends Panel implements FocusNotifier, BlurNotifier,
      * 
      * @return list of previously set components
      */
-    public List<Connector> getAssistiveDescription() {
-        return Collections.unmodifiableList(Arrays
-                .asList(getState().contentDescription));
+    public Component[] getAssistiveDescription() {
+        Connector[] contentDescription = getState().contentDescription;
+        if (contentDescription == null) {
+            return null;
+        }
+
+        Component[] target = new Component[contentDescription.length];
+        System.arraycopy(contentDescription, 0, target, 0,
+                contentDescription.length);
+
+        return target;
     }
 
     /**
diff --git a/server/tests/src/com/vaadin/tests/server/component/window/WindowTest.java b/server/tests/src/com/vaadin/tests/server/component/window/WindowTest.java
new file mode 100644 (file)
index 0000000..2cd19ee
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2000-2013 Vaadin Ltd.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.tests.server.component.window;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+import com.vaadin.ui.Button;
+import com.vaadin.ui.Label;
+import com.vaadin.ui.Window;
+
+public class WindowTest {
+
+    public Window window;
+
+    @Before
+    public void setup() {
+        window = new Window();
+    }
+
+    @Test
+    public void testAssistiveDescription() {
+        Label l1 = new Label("label 1");
+        Button b2 = new Button("button 2");
+        window.setAssistiveDescription(l1, b2);
+
+        Assert.assertEquals(2, window.getAssistiveDescription().length);
+        Assert.assertEquals(l1, window.getAssistiveDescription()[0]);
+        Assert.assertEquals(b2, window.getAssistiveDescription()[1]);
+
+        // Modifying return value must not change actual value
+        window.getAssistiveDescription()[0] = null;
+
+        Assert.assertEquals(2, window.getAssistiveDescription().length);
+        Assert.assertEquals(l1, window.getAssistiveDescription()[0]);
+        Assert.assertEquals(b2, window.getAssistiveDescription()[1]);
+
+    }
+}