1 /* 2 * Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package javafx.scene.control; 27 28 import javafx.scene.control.skin.TooltipSkin; 29 import javafx.beans.property.DoubleProperty; 30 import javafx.beans.property.DoublePropertyBase; 31 import javafx.beans.property.SimpleStringProperty; 32 33 import javafx.scene.Node; 34 import org.junit.Before; 35 import org.junit.Test; 36 37 import static org.junit.Assert.*; 38 39 /** 40 * 41 * @author lubermud 42 */ 43 public class PopupControlTest { 44 private PopupControl popup; 45 46 private static final class PopupControlSkin<C extends PopupControl> implements Skin<C>{ 47 @Override public Node getNode() { return null; } 48 @Override public void dispose() { } 49 @Override public C getSkinnable() { return null; } 50 } 51 52 @Before public void setup() { 53 popup = new PopupControl(); 54 } 55 56 /********************************************************************* 57 * Tests for the constructors * 58 ********************************************************************/ 59 60 @Test public void usePrefSizeShouldBeNegativeInfinity() { 61 assertEquals(PopupControl.USE_PREF_SIZE, Double.NEGATIVE_INFINITY, 0.0D); 62 } 63 64 @Test public void useComputedSizeShouldBeNegativeOne() { 65 assertEquals(PopupControl.USE_COMPUTED_SIZE, -1.0D, 0.0D); 66 } 67 68 @Test public void defaultGetId() { 69 assertNull(popup.getId()); 70 } 71 72 @Test public void setIdShouldWork() { 73 popup.setId("Hello"); 74 assertEquals("Hello", popup.getId()); 75 } 76 77 @Test public void idPropertyShouldWork() { 78 assertNull(popup.idProperty().get()); 79 } 80 81 @Test public void idPropertyShouldWork2() { 82 popup.idProperty().set("Hello"); 83 assertEquals("Hello", popup.getId()); 84 } 85 86 @Test public void idPropertyShouldBeBindable() { 87 SimpleStringProperty other = new SimpleStringProperty("Hello"); 88 popup.idProperty().bind(other); 89 assertEquals("Hello", popup.getId()); 90 } 91 92 @Test public void getStyleClassNotNull() { 93 assertNotNull(popup.getStyleClass()); 94 } 95 96 @Test public void getStyleClassAddable() { 97 popup.getStyleClass().add("Hello"); 98 popup.getStyleClass().add("Goodbye"); 99 assertEquals(2, popup.getStyleClass().size()); 100 } 101 102 @Test public void getStyleClassStringable1() { 103 assertEquals("", popup.getStyleClass().toString()); 104 } 105 106 @Test public void getStyleClassStringable2() { 107 popup.getStyleClass().add("Hello"); 108 assertEquals("Hello", popup.getStyleClass().toString()); 109 } 110 111 @Test public void getStyleClassStringable3() { 112 popup.getStyleClass().add("Hello"); 113 popup.getStyleClass().add("Goodbye"); 114 assertEquals("Hello Goodbye", popup.getStyleClass().toString()); 115 } 116 117 @org.junit.Ignore("getStyle should not return null per Node#setStyle") 118 @Test public void styleSetNullGetNull() { 119 popup.setStyle(null); 120 assertNull(popup.getStyle()); 121 } 122 123 // See Node#setStyle 124 @Test public void styleSetNullGetEmptyString() { 125 popup.setStyle(null); 126 assertTrue("".equals(popup.getStyle())); 127 } 128 129 @Test public void styleSettable() { 130 popup.setStyle("Hello"); 131 assertEquals("Hello", popup.getStyle()); 132 } 133 134 @Test public void stylePropertySettable() { 135 popup.styleProperty().set("Hello"); 136 assertEquals("Hello", popup.getStyle()); 137 } 138 139 @Test public void stylePropertyBindable() { 140 SimpleStringProperty other = new SimpleStringProperty("Hello"); 141 popup.styleProperty().bind(other); 142 assertEquals("Hello", popup.getStyle()); 143 } 144 145 @Test public void defaultSkinIsNull() { 146 assertNull(popup.getSkin()); 147 } 148 149 @Test public void getSkinPropertyBean() { 150 assertEquals(popup, popup.skinProperty().getBean()); 151 } 152 153 @Test public void getSkinPropertyName() { 154 assertEquals("skin", popup.skinProperty().getName()); 155 } 156 157 @Test public void setAndGetSpecifiedSkin() { 158 Skin skin = new PopupControlSkin(); 159 popup.setSkin(skin); 160 assertEquals(skin, popup.getSkin()); 161 } 162 163 @Test public void setAndGetNullSkin() { 164 popup.setSkin(null); 165 assertNull(popup.getSkin()); 166 } 167 168 @Test public void getNullMinWidth() { 169 assertEquals(PopupControl.USE_COMPUTED_SIZE, popup.getMinWidth(), 0.0D); 170 } 171 172 @Test public void getNotNullMinWidth() { 173 popup.minWidthProperty(); 174 assertNotNull(popup.getMinWidth()); 175 } 176 177 @Test public void setAndGetMinWidth() { 178 popup.setMinWidth( 3.0D ); 179 assertEquals( 3.0D, popup.getMinWidth(), 0.0D ); 180 } 181 182 @Test public void setTwiceAndGetMinWidth() { 183 popup.setMinWidth( 3.0D ); 184 popup.setMinWidth( 6.0D ); 185 assertEquals( 6.0D, popup.getMinWidth(), 0.0D ); 186 } 187 188 @Test public void getMinWidthBean() { 189 assertEquals( popup, popup.minWidthProperty().getBean() ); 190 } 191 192 @Test public void getMinWidthName() { 193 assertEquals( "minWidth", popup.minWidthProperty().getName() ); 194 } 195 196 @Test public void minWidthBindable() { 197 DoubleProperty other = new DoublePropertyBase( 3.0D ) { 198 @Override public Object getBean() { return popup; } 199 @Override public String getName() { return "minWidth"; } 200 }; 201 popup.minWidthProperty().bind(other); 202 assertEquals( 3.0D, popup.getMinWidth(), 0.0D ); 203 } 204 205 @Test public void getNullMinHeight() { 206 assertEquals(PopupControl.USE_COMPUTED_SIZE, popup.getMinHeight(), 0.0D); 207 } 208 209 @Test public void getNotNullMinHeight() { 210 popup.minHeightProperty(); 211 assertNotNull(popup.getMinHeight()); 212 } 213 214 @Test public void setAndGetMinHeight() { 215 popup.setMinHeight( 3.0D ); 216 assertEquals( 3.0D, popup.getMinHeight(), 0.0D ); 217 } 218 219 @Test public void setTwiceAndGetMinHeight() { 220 popup.setMinHeight( 3.0D ); 221 popup.setMinHeight( 6.0D ); 222 assertEquals( 6.0D, popup.getMinHeight(), 0.0D ); 223 } 224 225 @Test public void getMinHeightBean() { 226 assertEquals( popup, popup.minHeightProperty().getBean() ); 227 } 228 229 @Test public void getMinHeightName() { 230 assertEquals( "minHeight", popup.minHeightProperty().getName() ); 231 } 232 233 @Test public void minHeightBindable() { 234 DoubleProperty other = new DoublePropertyBase( 3.0D ) { 235 @Override public Object getBean() { return popup; } 236 @Override public String getName() { return "minHeight"; } 237 }; 238 popup.minHeightProperty().bind(other); 239 assertEquals( 3.0D, popup.getMinHeight(), 0.0D ); 240 } 241 242 @Test public void setMinSizeAndGetMinWidth() { 243 popup.setMinSize( 3.0D, 6.0D ); 244 assertEquals( 3.0D, popup.getMinWidth(), 0.0D ); 245 } 246 247 @Test public void setMinSizeAndGetMinHeight() { 248 popup.setMinSize( 3.0D, 6.0D ); 249 assertEquals( 6.0D, popup.getMinHeight(), 0.0D ); 250 } 251 252 @Test public void getNullPrefWidth() { 253 assertEquals(PopupControl.USE_COMPUTED_SIZE, popup.getPrefWidth(), 0.0D); 254 } 255 256 @Test public void getNotNullPrefWidth() { 257 popup.prefWidthProperty(); 258 assertNotNull(popup.getPrefWidth()); 259 } 260 261 @Test public void setAndGetPrefWidth() { 262 popup.setPrefWidth( 3.0D ); 263 assertEquals( 3.0D, popup.getPrefWidth(), 0.0D ); 264 } 265 266 @Test public void setTwiceAndGetPrefWidth() { 267 popup.setPrefWidth( 3.0D ); 268 popup.setPrefWidth( 6.0D ); 269 assertEquals( 6.0D, popup.getPrefWidth(), 0.0D ); 270 } 271 272 @Test public void getPrefWidthBean() { 273 assertEquals( popup, popup.prefWidthProperty().getBean() ); 274 } 275 276 @Test public void getPrefWidthName() { 277 assertEquals( "prefWidth", popup.prefWidthProperty().getName() ); 278 } 279 280 @Test public void prefWidthBindable() { 281 DoubleProperty other = new DoublePropertyBase( 3.0D ) { 282 @Override public Object getBean() { return popup; } 283 @Override public String getName() { return "prefWidth"; } 284 }; 285 popup.prefWidthProperty().bind(other); 286 assertEquals( 3.0D, popup.getPrefWidth(), 0.0D ); 287 } 288 289 @Test public void getNullPrefHeight() { 290 assertEquals(PopupControl.USE_COMPUTED_SIZE, popup.getPrefHeight(), 0.0D); 291 } 292 293 @Test public void getNotNullPrefHeight() { 294 popup.prefHeightProperty(); 295 assertNotNull(popup.getPrefHeight()); 296 } 297 298 @Test public void setAndGetPrefHeight() { 299 popup.setPrefHeight( 3.0D ); 300 assertEquals( 3.0D, popup.getPrefHeight(), 0.0D ); 301 } 302 303 @Test public void setTwiceAndGetPrefHeight() { 304 popup.setPrefHeight( 3.0D ); 305 popup.setPrefHeight( 6.0D ); 306 assertEquals( 6.0D, popup.getPrefHeight(), 0.0D ); 307 } 308 309 @Test public void getPrefHeightBean() { 310 assertEquals( popup, popup.prefHeightProperty().getBean() ); 311 } 312 313 @Test public void getPrefHeightName() { 314 assertEquals( "prefHeight", popup.prefHeightProperty().getName() ); 315 } 316 317 @Test public void prefHeightBindable() { 318 DoubleProperty other = new DoublePropertyBase( 3.0D ) { 319 @Override public Object getBean() { return popup; } 320 @Override public String getName() { return "prefHeight"; } 321 }; 322 popup.prefHeightProperty().bind(other); 323 assertEquals( 3.0D, popup.getPrefHeight(), 0.0D ); 324 } 325 326 @Test public void setPrefSizeAndGetPrefWidth() { 327 popup.setPrefSize( 3.0D, 6.0D ); 328 assertEquals( 3.0D, popup.getPrefWidth(), 0.0D ); 329 } 330 331 @Test public void setPrefSizeAndGetPrefHeight() { 332 popup.setPrefSize( 3.0D, 6.0D ); 333 assertEquals( 6.0D, popup.getPrefHeight(), 0.0D ); 334 } 335 336 @Test public void getNullMaxWidth() { 337 assertEquals(PopupControl.USE_COMPUTED_SIZE, popup.getMaxWidth(), 0.0D); 338 } 339 340 @Test public void getNotNullMaxWidth() { 341 popup.maxWidthProperty(); 342 assertNotNull(popup.getMaxWidth()); 343 } 344 345 @Test public void setAndGetMaxWidth() { 346 popup.setMaxWidth( 3.0D ); 347 assertEquals( 3.0D, popup.getMaxWidth(), 0.0D ); 348 } 349 350 @Test public void setTwiceAndGetMaxWidth() { 351 popup.setMaxWidth( 3.0D ); 352 popup.setMaxWidth( 6.0D ); 353 assertEquals( 6.0D, popup.getMaxWidth(), 0.0D ); 354 } 355 356 @Test public void getMaxWidthBean() { 357 assertEquals( popup, popup.maxWidthProperty().getBean() ); 358 } 359 360 @Test public void getMaxWidthName() { 361 assertEquals( "maxWidth", popup.maxWidthProperty().getName() ); 362 } 363 364 @Test public void maxWidthBindable() { 365 DoubleProperty other = new DoublePropertyBase( 3.0D ) { 366 @Override public Object getBean() { return popup; } 367 @Override public String getName() { return "maxWidth"; } 368 }; 369 popup.maxWidthProperty().bind(other); 370 assertEquals( 3.0D, popup.getMaxWidth(), 0.0D ); 371 } 372 373 @Test public void getNullMaxHeight() { 374 assertEquals(PopupControl.USE_COMPUTED_SIZE, popup.getMaxHeight(), 0.0D); 375 } 376 377 @Test public void getNotNullMaxHeight() { 378 popup.maxHeightProperty(); 379 assertNotNull(popup.getMaxHeight()); 380 } 381 382 @Test public void setAndGetMaxHeight() { 383 popup.setMaxHeight( 3.0D ); 384 assertEquals( 3.0D, popup.getMaxHeight(), 0.0D ); 385 } 386 387 @Test public void setTwiceAndGetMaxHeight() { 388 popup.setMaxHeight( 3.0D ); 389 popup.setMaxHeight( 6.0D ); 390 assertEquals( 6.0D, popup.getMaxHeight(), 0.0D ); 391 } 392 393 @Test public void getMaxHeightBean() { 394 assertEquals( popup, popup.maxHeightProperty().getBean() ); 395 } 396 397 @Test public void getMaxHeightName() { 398 assertEquals( "maxHeight", popup.maxHeightProperty().getName() ); 399 } 400 401 @Test public void maxHeightBindable() { 402 DoubleProperty other = new DoublePropertyBase( 3.0D ) { 403 @Override public Object getBean() { return popup; } 404 @Override public String getName() { return "maxHeight"; } 405 }; 406 popup.maxHeightProperty().bind(other); 407 assertEquals( 3.0D, popup.getMaxHeight(), 0.0D ); 408 } 409 410 @Test public void setMaxSizeAndGetMaxWidth() { 411 popup.setMaxSize( 3.0D, 6.0D ); 412 assertEquals( 3.0D, popup.getMaxWidth(), 0.0D ); 413 } 414 415 @Test public void setMaxSizeAndGetMaxHeight() { 416 popup.setMaxSize( 3.0D, 6.0D ); 417 assertEquals( 6.0D, popup.getMaxHeight(), 0.0D ); 418 } 419 420 @Test public void nullSkinNodeAndUseComputedSizeYieldsZeroComputedMinWidth() { 421 double anyNum = -2; 422 popup.setSkin(null); 423 popup.setMinWidth(PopupControl.USE_COMPUTED_SIZE); 424 assertEquals(0.0D, popup.minWidth(anyNum), 0.0D); 425 } 426 427 @Test public void nullSkinNodeAndSpecifiedSizeYieldsSpecifiedComputedMinWidth() { 428 double anyNum = -2; 429 popup.setSkin(null); 430 popup.setMinWidth(3.0D); 431 assertEquals(3.0D, popup.minWidth(anyNum), 0.0D); 432 } 433 434 @Test public void popupControlSkinNodeAndUseComputedSizeYieldsZeroComputedMinWidth() { 435 double anyNum = -2; 436 popup.setSkin(new PopupControlSkin()); 437 popup.setMinWidth(PopupControl.USE_COMPUTED_SIZE); 438 assertEquals(0.0D, popup.minWidth(anyNum), 0.0D); 439 } 440 441 @Test public void tooltipSkinNodeAndUseComputedSizeYieldsSomeMinWidth() { 442 double anyNum = 10; 443 Tooltip tooltip = new Tooltip("Hello"); 444 TooltipSkin skin = new TooltipSkin(tooltip); 445 popup.setSkin(skin); 446 popup.getScene().getRoot().impl_processCSS(true); 447 448 popup.setMinWidth(PopupControl.USE_COMPUTED_SIZE); 449 assertEquals(popup.getSkin().getNode().minWidth(anyNum), popup.minWidth(anyNum), 0.0D); 450 } 451 452 @Test public void specifiedSkinNodeAndSpecifiedSizeYieldsSpecifiedComputedMinWidth() { 453 double anyNum = -2; 454 popup.setSkin(new PopupControlSkin()); 455 popup.setMinWidth(3.0D); 456 assertEquals(3.0D, popup.minWidth(anyNum), 0.0D); 457 } 458 459 @Test public void nullSkinNodeAndUseComputedSizeYieldsZeroComputedMinHeight() { 460 double anyNum = -2; 461 popup.setSkin(null); 462 popup.setMinHeight(PopupControl.USE_COMPUTED_SIZE); 463 assertEquals(0.0D, popup.minHeight(anyNum), 0.0D); 464 } 465 466 @Test public void nullSkinNodeAndSpecifiedSizeYieldsSpecifiedComputedMinHeight() { 467 double anyNum = -2; 468 popup.setSkin(null); 469 popup.setMinHeight(3.0D); 470 assertEquals(3.0D, popup.minHeight(anyNum), 0.0D); 471 } 472 473 @Test public void popupControlSkinNodeAndUseComputedSizeYieldsZeroComputedMinHeight() { 474 double anyNum = -2; 475 popup.setSkin(new PopupControlSkin()); 476 popup.setMinHeight(PopupControl.USE_COMPUTED_SIZE); 477 assertEquals(0.0D, popup.minHeight(anyNum), 0.0D); 478 } 479 480 @Test public void tooltipSkinNodeAndUseComputedSizeYieldsSomeMinHeight() { 481 double anyNum = 10; 482 Tooltip tooltip = new Tooltip("Hello"); 483 TooltipSkin skin = new TooltipSkin(tooltip); 484 popup.setSkin(skin); 485 popup.getScene().getRoot().impl_processCSS(true); 486 487 popup.setMinHeight(PopupControl.USE_COMPUTED_SIZE); 488 assertEquals(popup.getSkin().getNode().minHeight(anyNum), popup.minHeight(anyNum), 0.0D); 489 } 490 491 @Test public void specifiedSkinNodeAndSpecifiedSizeYieldsSpecifiedComputedMinHeight() { 492 double anyNum = -2; 493 popup.setSkin(new PopupControlSkin()); 494 popup.setMinHeight(3.0D); 495 assertEquals(3.0D, popup.minHeight(anyNum), 0.0D); 496 } 497 498 @Test public void nullSkinNodeAndUseComputedSizeYieldsZeroComputedPrefWidth() { 499 double anyNum = -2; 500 popup.setSkin(null); 501 popup.setPrefWidth(PopupControl.USE_COMPUTED_SIZE); 502 assertEquals(0.0D, popup.prefWidth(anyNum), 0.0D); 503 } 504 505 @Test public void nullSkinNodeAndSpecifiedSizeYieldsSpecifiedComputedPrefWidth() { 506 double anyNum = -2; 507 popup.setSkin(null); 508 popup.setPrefWidth(3.0D); 509 assertEquals(3.0D, popup.prefWidth(anyNum), 0.0D); 510 } 511 512 @Test public void popupControlSkinNodeAndUseComputedSizeYieldsZeroComputedPrefWidth() { 513 double anyNum = -2; 514 popup.setSkin(new PopupControlSkin()); 515 popup.setPrefWidth(PopupControl.USE_COMPUTED_SIZE); 516 assertEquals(0.0D, popup.prefWidth(anyNum), 0.0D); 517 } 518 519 @Test public void tooltipSkinNodeAndUseComputedSizeYieldsSomePrefWidth() { 520 double anyNum = 10; 521 Tooltip tooltip = new Tooltip("Hello"); 522 TooltipSkin skin = new TooltipSkin(tooltip); 523 popup.setSkin(skin); 524 popup.getScene().getRoot().impl_processCSS(true); 525 526 popup.setPrefWidth(PopupControl.USE_COMPUTED_SIZE); 527 assertEquals(popup.getSkin().getNode().prefWidth(anyNum), popup.prefWidth(anyNum), 0.0D); 528 } 529 530 @Test public void specifiedSkinNodeAndSpecifiedSizeYieldsSpecifiedComputedPrefWidth() { 531 double anyNum = -2; 532 popup.setSkin(new PopupControlSkin()); 533 popup.setPrefWidth(3.0D); 534 assertEquals(3.0D, popup.prefWidth(anyNum), 0.0D); 535 } 536 537 @Test public void nullSkinNodeAndUseComputedSizeYieldsZeroComputedPrefHeight() { 538 double anyNum = -2; 539 popup.setSkin(null); 540 popup.setPrefHeight(PopupControl.USE_COMPUTED_SIZE); 541 assertEquals(0.0D, popup.prefHeight(anyNum), 0.0D); 542 } 543 544 @Test public void nullSkinNodeAndSpecifiedSizeYieldsSpecifiedComputedPrefHeight() { 545 double anyNum = -2; 546 popup.setSkin(null); 547 popup.setPrefHeight(3.0D); 548 assertEquals(3.0D, popup.prefHeight(anyNum), 0.0D); 549 } 550 551 @Test public void popupControlSkinNodeAndUseComputedSizeYieldsZeroComputedPrefHeight() { 552 double anyNum = -2; 553 popup.setSkin(new PopupControlSkin()); 554 popup.setPrefHeight(PopupControl.USE_COMPUTED_SIZE); 555 assertEquals(0.0D, popup.prefHeight(anyNum), 0.0D); 556 } 557 558 @Test public void tooltipSkinNodeAndUseComputedSizeYieldsSomePrefHeight() { 559 double anyNum = 10; 560 Tooltip tooltip = new Tooltip("Hello"); 561 TooltipSkin skin = new TooltipSkin(tooltip); 562 popup.setSkin(skin); 563 popup.getScene().getRoot().impl_processCSS(true); 564 565 popup.setPrefHeight(PopupControl.USE_COMPUTED_SIZE); 566 assertEquals(popup.getSkin().getNode().prefHeight(anyNum), popup.prefHeight(anyNum), 0.0D); 567 } 568 569 @Test public void specifiedSkinNodeAndSpecifiedSizeYieldsSpecifiedComputedPrefHeight() { 570 double anyNum = -2; 571 popup.setSkin(new PopupControlSkin()); 572 popup.setPrefHeight(3.0D); 573 assertEquals(3.0D, popup.prefHeight(anyNum), 0.0D); 574 } 575 576 @Test public void nullSkinNodeAndUseComputedSizeYieldsZeroComputedMaxWidth() { 577 double anyNum = -2; 578 popup.setSkin(null); 579 popup.setMaxWidth(PopupControl.USE_COMPUTED_SIZE); 580 assertEquals(0.0D, popup.maxWidth(anyNum), 0.0D); 581 } 582 583 @Test public void nullSkinNodeAndSpecifiedSizeYieldsSpecifiedComputedMaxWidth() { 584 double anyNum = -2; 585 popup.setSkin(null); 586 popup.setMaxWidth(3.0D); 587 assertEquals(3.0D, popup.maxWidth(anyNum), 0.0D); 588 } 589 590 @Test public void popupControlSkinNodeAndUseComputedSizeYieldsZeroComputedMaxWidth() { 591 double anyNum = -2; 592 popup.setSkin(new PopupControlSkin()); 593 popup.setMaxWidth(PopupControl.USE_COMPUTED_SIZE); 594 assertEquals(0.0D, popup.maxWidth(anyNum), 0.0D); 595 } 596 597 @Test public void tooltipSkinNodeAndUseComputedSizeYieldsSomeMaxWidth() { 598 double anyNum = 10; 599 Tooltip tooltip = new Tooltip("Hello"); 600 TooltipSkin skin = new TooltipSkin(tooltip); 601 popup.setSkin(skin); 602 popup.getScene().getRoot().impl_processCSS(true); 603 604 popup.setMaxWidth(PopupControl.USE_COMPUTED_SIZE); 605 assertEquals(popup.getSkin().getNode().maxWidth(anyNum), popup.maxWidth(anyNum), 0.0D); 606 } 607 608 @Test public void specifiedSkinNodeAndSpecifiedSizeYieldsSpecifiedComputedMaxWidth() { 609 double anyNum = -2; 610 popup.setSkin(new PopupControlSkin()); 611 popup.setMaxWidth(3.0D); 612 assertEquals(3.0D, popup.maxWidth(anyNum), 0.0D); 613 } 614 615 @Test public void nullSkinNodeAndUseComputedSizeYieldsZeroComputedMaxHeight() { 616 double anyNum = -2; 617 popup.setSkin(null); 618 popup.setMaxHeight(PopupControl.USE_COMPUTED_SIZE); 619 assertEquals(0.0D, popup.maxHeight(anyNum), 0.0D); 620 } 621 622 @Test public void nullSkinNodeAndSpecifiedSizeYieldsSpecifiedComputedMaxHeight() { 623 double anyNum = -2; 624 popup.setSkin(null); 625 popup.setMaxHeight(3.0D); 626 assertEquals(3.0D, popup.maxHeight(anyNum), 0.0D); 627 } 628 629 @Test public void popupControlSkinNodeAndUseComputedSizeYieldsZeroComputedMaxHeight() { 630 double anyNum = -2; 631 popup.setSkin(new PopupControlSkin()); 632 popup.setMaxHeight(PopupControl.USE_COMPUTED_SIZE); 633 assertEquals(0.0D, popup.maxHeight(anyNum), 0.0D); 634 } 635 636 @Test public void tooltipSkinNodeAndUseComputedSizeYieldsSomeMaxHeight() { 637 double anyNum = 10; 638 Tooltip tooltip = new Tooltip("Hello"); 639 TooltipSkin skin = new TooltipSkin(tooltip); 640 popup.setSkin(skin); 641 popup.getScene().getRoot().impl_processCSS(true); 642 643 popup.setMaxHeight(PopupControl.USE_COMPUTED_SIZE); 644 assertEquals(popup.getSkin().getNode().maxHeight(anyNum), popup.maxHeight(anyNum), 0.0D); 645 } 646 647 @Test public void specifiedSkinNodeAndSpecifiedSizeYieldsSpecifiedComputedMaxHeight() { 648 double anyNum = -2; 649 popup.setSkin(new PopupControlSkin()); 650 popup.setMaxHeight(3.0D); 651 assertEquals(3.0D, popup.maxHeight(anyNum), 0.0D); 652 } 653 654 //TODO: test computePref____ methods 655 656 }