changeset 9257:d015af1e73c5

8134764: Refactor Javafx controls module tests for clear separation of tests Reviewed-by: kcr, jgiles
author ddhill
date Fri, 18 Sep 2015 09:09:22 -0400
parents 7bbdd20fec30
children aa51df7e1d41
files modules/controls/src/main/java/javafx/scene/control/skin/VirtualFlow.java modules/controls/src/test/java/com/sun/javafx/scene/control/ContextMenuContentRetriever.java modules/controls/src/test/java/com/sun/javafx/scene/control/ContextMenuContentShim.java modules/controls/src/test/java/com/sun/javafx/scene/control/LabeledImplShim.java modules/controls/src/test/java/com/sun/javafx/scene/control/LabeledImplTest.java modules/controls/src/test/java/com/sun/javafx/scene/control/LabeledImplTestOther.java modules/controls/src/test/java/com/sun/javafx/scene/control/LabeledTextTest.java modules/controls/src/test/java/com/sun/javafx/scene/control/MenuBarMenuButtonRetriever.java modules/controls/src/test/java/com/sun/javafx/scene/control/MenuBarMenuButtonShim.java modules/controls/src/test/java/com/sun/javafx/scene/control/behavior/AccordionBehaviorTest.java modules/controls/src/test/java/com/sun/javafx/scene/control/behavior/ListViewAnchorRetriever.java modules/controls/src/test/java/com/sun/javafx/scene/control/behavior/TableViewAnchorRetriever.java modules/controls/src/test/java/com/sun/javafx/scene/control/behavior/TreeTableViewAnchorRetriever.java modules/controls/src/test/java/com/sun/javafx/scene/control/behavior/TreeViewAnchorRetriever.java modules/controls/src/test/java/com/sun/javafx/scene/control/infrastructure/ContextMenuEventFirer.java modules/controls/src/test/java/com/sun/javafx/scene/control/infrastructure/ControlTestUtils.java modules/controls/src/test/java/com/sun/javafx/scene/control/infrastructure/KeyEventFirer.java modules/controls/src/test/java/com/sun/javafx/scene/control/infrastructure/KeyModifier.java modules/controls/src/test/java/com/sun/javafx/scene/control/infrastructure/MouseEventFirer.java modules/controls/src/test/java/com/sun/javafx/scene/control/infrastructure/MouseEventGenerator.java modules/controls/src/test/java/com/sun/javafx/scene/control/infrastructure/StageLoader.java modules/controls/src/test/java/com/sun/javafx/scene/control/infrastructure/VirtualFlowTestUtils.java modules/controls/src/test/java/com/sun/javafx/scene/control/inputmap/InputMapTest.java modules/controls/src/test/java/com/sun/javafx/scene/control/inputmap/KeyBindingTest.java modules/controls/src/test/java/com/sun/javafx/scene/control/test/Data.java modules/controls/src/test/java/com/sun/javafx/scene/control/test/Employee.java modules/controls/src/test/java/com/sun/javafx/scene/control/test/Person.java modules/controls/src/test/java/com/sun/javafx/scene/control/test/RT_22463_Person.java modules/controls/src/test/java/javafx/scene/chart/AreaChartTest.java modules/controls/src/test/java/javafx/scene/chart/AxisHelper.java modules/controls/src/test/java/javafx/scene/chart/AxisShim.java modules/controls/src/test/java/javafx/scene/chart/AxisTest.java modules/controls/src/test/java/javafx/scene/chart/BarChartTest.java modules/controls/src/test/java/javafx/scene/chart/CategoryAxisTest.java modules/controls/src/test/java/javafx/scene/chart/ChartShim.java modules/controls/src/test/java/javafx/scene/chart/ChartTestBase.java modules/controls/src/test/java/javafx/scene/chart/LineChartTest.java modules/controls/src/test/java/javafx/scene/chart/NumberAxisShim.java modules/controls/src/test/java/javafx/scene/chart/NumberAxisTest.java modules/controls/src/test/java/javafx/scene/chart/PieChartTest.java modules/controls/src/test/java/javafx/scene/chart/StackedAreaChartTest.java modules/controls/src/test/java/javafx/scene/chart/StackedBarChartTest.java modules/controls/src/test/java/javafx/scene/chart/ValueAxisHelper.java modules/controls/src/test/java/javafx/scene/chart/ValueAxisShim.java modules/controls/src/test/java/javafx/scene/chart/ValueAxisTest.java modules/controls/src/test/java/javafx/scene/chart/XYChartDataTest.java modules/controls/src/test/java/javafx/scene/chart/XYChartShim.java modules/controls/src/test/java/javafx/scene/chart/XYChartTest.java modules/controls/src/test/java/javafx/scene/chart/XYChartTestBase.java modules/controls/src/test/java/javafx/scene/chart/XYNumberChartsTest.java modules/controls/src/test/java/javafx/scene/chart/XYNumberChartsTestBase.java modules/controls/src/test/java/javafx/scene/chart/XYNumberLineChartsTest.java modules/controls/src/test/java/javafx/scene/control/AcceleratorParameterizedTest.java modules/controls/src/test/java/javafx/scene/control/AccordionTest.java modules/controls/src/test/java/javafx/scene/control/AlertTest.java modules/controls/src/test/java/javafx/scene/control/ButtonBaseTest.java modules/controls/src/test/java/javafx/scene/control/ButtonTest.java modules/controls/src/test/java/javafx/scene/control/CellShim.java modules/controls/src/test/java/javafx/scene/control/CellTest.java modules/controls/src/test/java/javafx/scene/control/CheckBoxTest.java modules/controls/src/test/java/javafx/scene/control/CheckBoxTreeItemTest.java modules/controls/src/test/java/javafx/scene/control/CheckMenuItemTest.java modules/controls/src/test/java/javafx/scene/control/ChoiceBoxShim.java modules/controls/src/test/java/javafx/scene/control/ChoiceBoxTest.java modules/controls/src/test/java/javafx/scene/control/ColorPickerTest.java modules/controls/src/test/java/javafx/scene/control/ComboBoxShim.java modules/controls/src/test/java/javafx/scene/control/ComboBoxTest.java modules/controls/src/test/java/javafx/scene/control/ContextMenuTest.java modules/controls/src/test/java/javafx/scene/control/ControlChildrenTest.java modules/controls/src/test/java/javafx/scene/control/ControlShim.java modules/controls/src/test/java/javafx/scene/control/ControlSkinTest.java modules/controls/src/test/java/javafx/scene/control/ControlStub.java modules/controls/src/test/java/javafx/scene/control/ControlTest.java modules/controls/src/test/java/javafx/scene/control/ControlTooltipTest.java modules/controls/src/test/java/javafx/scene/control/CustomMenuItemTest.java modules/controls/src/test/java/javafx/scene/control/DateCellTest.java modules/controls/src/test/java/javafx/scene/control/DatePickerTest.java modules/controls/src/test/java/javafx/scene/control/DialogShim.java modules/controls/src/test/java/javafx/scene/control/EventAnyTest.java modules/controls/src/test/java/javafx/scene/control/FireButtonBaseTest.java modules/controls/src/test/java/javafx/scene/control/FocusModelShim.java modules/controls/src/test/java/javafx/scene/control/HeavyweightDialogShim.java modules/controls/src/test/java/javafx/scene/control/HyperlinkTest.java modules/controls/src/test/java/javafx/scene/control/IndexRangeTest.java modules/controls/src/test/java/javafx/scene/control/IndexRangeValueOfTest.java modules/controls/src/test/java/javafx/scene/control/IndexedCellShim.java modules/controls/src/test/java/javafx/scene/control/IndexedCellTest.java modules/controls/src/test/java/javafx/scene/control/InputMapTest.java modules/controls/src/test/java/javafx/scene/control/LabelTest.java modules/controls/src/test/java/javafx/scene/control/LabeledTest.java modules/controls/src/test/java/javafx/scene/control/ListCellShim.java modules/controls/src/test/java/javafx/scene/control/ListCellTest.java modules/controls/src/test/java/javafx/scene/control/ListViewKeyInputTest.java modules/controls/src/test/java/javafx/scene/control/ListViewMouseInputTest.java modules/controls/src/test/java/javafx/scene/control/ListViewShim.java modules/controls/src/test/java/javafx/scene/control/ListViewTest.java modules/controls/src/test/java/javafx/scene/control/MenuBarTest.java modules/controls/src/test/java/javafx/scene/control/MenuButtonTest.java modules/controls/src/test/java/javafx/scene/control/MenuItemTest.java modules/controls/src/test/java/javafx/scene/control/MenuTest.java modules/controls/src/test/java/javafx/scene/control/MiscellaneousTests.java modules/controls/src/test/java/javafx/scene/control/MultipleSelectionModelBaseShim.java modules/controls/src/test/java/javafx/scene/control/MultipleSelectionModelImplTest.java modules/controls/src/test/java/javafx/scene/control/MultipleSelectionModelShim.java modules/controls/src/test/java/javafx/scene/control/PaginationTest.java modules/controls/src/test/java/javafx/scene/control/PasswordFieldTest.java modules/controls/src/test/java/javafx/scene/control/PopupControlTest.java modules/controls/src/test/java/javafx/scene/control/RadioMenuItemTest.java modules/controls/src/test/java/javafx/scene/control/ScrollBarTest.java modules/controls/src/test/java/javafx/scene/control/ScrollPaneTest.java modules/controls/src/test/java/javafx/scene/control/SelectionModelImplTest.java modules/controls/src/test/java/javafx/scene/control/SelectionModelShim.java modules/controls/src/test/java/javafx/scene/control/SeparatorMenuItemTest.java modules/controls/src/test/java/javafx/scene/control/SeparatorTest.java modules/controls/src/test/java/javafx/scene/control/SingleSelectionModelShim.java modules/controls/src/test/java/javafx/scene/control/SkinBaseAccessor.java modules/controls/src/test/java/javafx/scene/control/SkinBaseShim.java modules/controls/src/test/java/javafx/scene/control/SkinBaseTest.java modules/controls/src/test/java/javafx/scene/control/SkinStub.java modules/controls/src/test/java/javafx/scene/control/SliderTest.java modules/controls/src/test/java/javafx/scene/control/SpinnerShim.java modules/controls/src/test/java/javafx/scene/control/SpinnerTest.java modules/controls/src/test/java/javafx/scene/control/SpinnerValueFactoryShim.java modules/controls/src/test/java/javafx/scene/control/SplitMenuButtonTest.java modules/controls/src/test/java/javafx/scene/control/SplitPaneTest.java modules/controls/src/test/java/javafx/scene/control/TabPaneShim.java modules/controls/src/test/java/javafx/scene/control/TabPaneTest.java modules/controls/src/test/java/javafx/scene/control/TabShim.java modules/controls/src/test/java/javafx/scene/control/TabTest.java modules/controls/src/test/java/javafx/scene/control/TableCellShim.java modules/controls/src/test/java/javafx/scene/control/TableCellTest.java modules/controls/src/test/java/javafx/scene/control/TableColumnBaseShim.java modules/controls/src/test/java/javafx/scene/control/TableColumnShim.java modules/controls/src/test/java/javafx/scene/control/TableColumnTest.java modules/controls/src/test/java/javafx/scene/control/TableRowShim.java modules/controls/src/test/java/javafx/scene/control/TableViewKeyInputTest.java modules/controls/src/test/java/javafx/scene/control/TableViewMouseInputTest.java modules/controls/src/test/java/javafx/scene/control/TableViewSelectionModelImplTest.java modules/controls/src/test/java/javafx/scene/control/TableViewShim.java modules/controls/src/test/java/javafx/scene/control/TableViewTest.java modules/controls/src/test/java/javafx/scene/control/TextAreaTest.java modules/controls/src/test/java/javafx/scene/control/TextFieldTest.java modules/controls/src/test/java/javafx/scene/control/TextInputControlShim.java modules/controls/src/test/java/javafx/scene/control/TextInputControlTest.java modules/controls/src/test/java/javafx/scene/control/TitledPaneTest.java modules/controls/src/test/java/javafx/scene/control/ToggleButtonTest.java modules/controls/src/test/java/javafx/scene/control/ToggleGroupTest.java modules/controls/src/test/java/javafx/scene/control/ToolbarTest.java modules/controls/src/test/java/javafx/scene/control/TooltipShim.java modules/controls/src/test/java/javafx/scene/control/TooltipTest.java modules/controls/src/test/java/javafx/scene/control/TreeCellShim.java modules/controls/src/test/java/javafx/scene/control/TreeCellTest.java modules/controls/src/test/java/javafx/scene/control/TreeItemTest.java modules/controls/src/test/java/javafx/scene/control/TreeTableCellShim.java modules/controls/src/test/java/javafx/scene/control/TreeTableCellTest.java modules/controls/src/test/java/javafx/scene/control/TreeTableColumnShim.java modules/controls/src/test/java/javafx/scene/control/TreeTableColumnTest.java modules/controls/src/test/java/javafx/scene/control/TreeTableRowShim.java modules/controls/src/test/java/javafx/scene/control/TreeTableRowTest.java modules/controls/src/test/java/javafx/scene/control/TreeTableViewKeyInputTest.java modules/controls/src/test/java/javafx/scene/control/TreeTableViewMouseInputTest.java modules/controls/src/test/java/javafx/scene/control/TreeTableViewSelectionModelImplTest.java modules/controls/src/test/java/javafx/scene/control/TreeTableViewShim.java modules/controls/src/test/java/javafx/scene/control/TreeTableViewTest.java modules/controls/src/test/java/javafx/scene/control/TreeViewKeyInputTest.java modules/controls/src/test/java/javafx/scene/control/TreeViewMouseInputTest.java modules/controls/src/test/java/javafx/scene/control/TreeViewShim.java modules/controls/src/test/java/javafx/scene/control/TreeViewTest.java modules/controls/src/test/java/javafx/scene/control/cell/CheckBoxListCellTest.java modules/controls/src/test/java/javafx/scene/control/cell/CheckBoxTableCellTest.java modules/controls/src/test/java/javafx/scene/control/cell/CheckBoxTreeCellTest.java modules/controls/src/test/java/javafx/scene/control/cell/CheckBoxTreeTableCellTest.java modules/controls/src/test/java/javafx/scene/control/cell/ChoiceBoxListCellTest.java modules/controls/src/test/java/javafx/scene/control/cell/ChoiceBoxTableCellTest.java modules/controls/src/test/java/javafx/scene/control/cell/ChoiceBoxTreeCellTest.java modules/controls/src/test/java/javafx/scene/control/cell/ChoiceBoxTreeTableCellTest.java modules/controls/src/test/java/javafx/scene/control/cell/ComboBoxListCellTest.java modules/controls/src/test/java/javafx/scene/control/cell/ComboBoxTableCellTest.java modules/controls/src/test/java/javafx/scene/control/cell/ComboBoxTreeCellTest.java modules/controls/src/test/java/javafx/scene/control/cell/ComboBoxTreeTableCellTest.java modules/controls/src/test/java/javafx/scene/control/cell/ParameterisedPrebuiltCellTest.java modules/controls/src/test/java/javafx/scene/control/cell/ProgressBarTableCellTest.java modules/controls/src/test/java/javafx/scene/control/cell/ProgressBarTreeTableCellTest.java modules/controls/src/test/java/javafx/scene/control/cell/TextFieldListCellTest.java modules/controls/src/test/java/javafx/scene/control/cell/TextFieldTableCellTest.java modules/controls/src/test/java/javafx/scene/control/cell/TextFieldTreeCellTest.java modules/controls/src/test/java/javafx/scene/control/cell/TextFieldTreeTableCellTest.java modules/controls/src/test/java/javafx/scene/control/skin/ArrayLinkedListTest.java modules/controls/src/test/java/javafx/scene/control/skin/ButtonSkinTest.java modules/controls/src/test/java/javafx/scene/control/skin/CheckBoxSkinTest.java modules/controls/src/test/java/javafx/scene/control/skin/ChoiceBoxSkinNodesRetriever.java modules/controls/src/test/java/javafx/scene/control/skin/ChoiceBoxSkinNodesShim.java modules/controls/src/test/java/javafx/scene/control/skin/ChoiceBoxSkinTest.java modules/controls/src/test/java/javafx/scene/control/skin/ColorPickerPaletteRetriever.java modules/controls/src/test/java/javafx/scene/control/skin/ColorPickerPaletteShim.java modules/controls/src/test/java/javafx/scene/control/skin/ColorPickerSkinTest.java modules/controls/src/test/java/javafx/scene/control/skin/ComboBoxListViewSkinTest.java modules/controls/src/test/java/javafx/scene/control/skin/HyperlinkSkinTest.java modules/controls/src/test/java/javafx/scene/control/skin/LabelSkinBaseRetriever.java modules/controls/src/test/java/javafx/scene/control/skin/LabelSkinBaseShim.java modules/controls/src/test/java/javafx/scene/control/skin/LabelSkinCreationTest.java modules/controls/src/test/java/javafx/scene/control/skin/LabelSkinLayoutTest.java modules/controls/src/test/java/javafx/scene/control/skin/LabelSkinTest.java modules/controls/src/test/java/javafx/scene/control/skin/LabeledSkinBaseShim.java modules/controls/src/test/java/javafx/scene/control/skin/MenuBarSkinRetriever.java modules/controls/src/test/java/javafx/scene/control/skin/MenuBarSkinShim.java modules/controls/src/test/java/javafx/scene/control/skin/MenuBarSkinTest.java modules/controls/src/test/java/javafx/scene/control/skin/MenuButtonSkinTest.java modules/controls/src/test/java/javafx/scene/control/skin/ProgressBarSkinTest.java modules/controls/src/test/java/javafx/scene/control/skin/ProgressIndicatorSkinShim.java modules/controls/src/test/java/javafx/scene/control/skin/ProgressIndicatorSkinTest.java modules/controls/src/test/java/javafx/scene/control/skin/RadioButtonSkinTest.java modules/controls/src/test/java/javafx/scene/control/skin/ScrollBarSkinTest.java modules/controls/src/test/java/javafx/scene/control/skin/ScrollPaneSkinShim.java modules/controls/src/test/java/javafx/scene/control/skin/ScrollPaneSkinTest.java modules/controls/src/test/java/javafx/scene/control/skin/SeparatorSkinLayoutTest.java modules/controls/src/test/java/javafx/scene/control/skin/SeparatorSkinTest.java modules/controls/src/test/java/javafx/scene/control/skin/SliderSkinTest.java modules/controls/src/test/java/javafx/scene/control/skin/TableColumnHeaderRetriever.java modules/controls/src/test/java/javafx/scene/control/skin/TableColumnHeaderShim.java modules/controls/src/test/java/javafx/scene/control/skin/TableHeaderRowRetriever.java modules/controls/src/test/java/javafx/scene/control/skin/TableHeaderRowShim.java modules/controls/src/test/java/javafx/scene/control/skin/TextInputControlSkinTest.java modules/controls/src/test/java/javafx/scene/control/skin/ToggleButtonSkinTest.java modules/controls/src/test/java/javafx/scene/control/skin/ToolBarSkinTest.java modules/controls/src/test/java/javafx/scene/control/skin/VirtualFlowShim.java modules/controls/src/test/java/javafx/scene/control/skin/VirtualFlowTest.java modules/controls/src/test/java/test/com/sun/javafx/scene/control/LabeledImplTest.java modules/controls/src/test/java/test/com/sun/javafx/scene/control/LabeledImplTestOther.java modules/controls/src/test/java/test/com/sun/javafx/scene/control/LabeledTextTest.java modules/controls/src/test/java/test/com/sun/javafx/scene/control/behavior/AccordionBehaviorTest.java modules/controls/src/test/java/test/com/sun/javafx/scene/control/behavior/ListViewAnchorRetriever.java modules/controls/src/test/java/test/com/sun/javafx/scene/control/behavior/TableViewAnchorRetriever.java modules/controls/src/test/java/test/com/sun/javafx/scene/control/behavior/TreeTableViewAnchorRetriever.java modules/controls/src/test/java/test/com/sun/javafx/scene/control/behavior/TreeViewAnchorRetriever.java modules/controls/src/test/java/test/com/sun/javafx/scene/control/infrastructure/ContextMenuEventFirer.java modules/controls/src/test/java/test/com/sun/javafx/scene/control/infrastructure/ControlTestUtils.java modules/controls/src/test/java/test/com/sun/javafx/scene/control/infrastructure/KeyEventFirer.java modules/controls/src/test/java/test/com/sun/javafx/scene/control/infrastructure/KeyModifier.java modules/controls/src/test/java/test/com/sun/javafx/scene/control/infrastructure/MouseEventFirer.java modules/controls/src/test/java/test/com/sun/javafx/scene/control/infrastructure/MouseEventGenerator.java modules/controls/src/test/java/test/com/sun/javafx/scene/control/infrastructure/StageLoader.java modules/controls/src/test/java/test/com/sun/javafx/scene/control/infrastructure/VirtualFlowTestUtils.java modules/controls/src/test/java/test/com/sun/javafx/scene/control/inputmap/InputMapTest.java modules/controls/src/test/java/test/com/sun/javafx/scene/control/inputmap/KeyBindingTest.java modules/controls/src/test/java/test/com/sun/javafx/scene/control/test/Data.java modules/controls/src/test/java/test/com/sun/javafx/scene/control/test/Employee.java modules/controls/src/test/java/test/com/sun/javafx/scene/control/test/Person.java modules/controls/src/test/java/test/com/sun/javafx/scene/control/test/RT_22463_Person.java modules/controls/src/test/java/test/javafx/scene/chart/AreaChartTest.java modules/controls/src/test/java/test/javafx/scene/chart/AxisHelper.java modules/controls/src/test/java/test/javafx/scene/chart/AxisTest.java modules/controls/src/test/java/test/javafx/scene/chart/BarChartTest.java modules/controls/src/test/java/test/javafx/scene/chart/CategoryAxisTest.java modules/controls/src/test/java/test/javafx/scene/chart/ChartTestBase.java modules/controls/src/test/java/test/javafx/scene/chart/LineChartTest.java modules/controls/src/test/java/test/javafx/scene/chart/NumberAxisTest.java modules/controls/src/test/java/test/javafx/scene/chart/PieChartTest.java modules/controls/src/test/java/test/javafx/scene/chart/StackedAreaChartTest.java modules/controls/src/test/java/test/javafx/scene/chart/StackedBarChartTest.java modules/controls/src/test/java/test/javafx/scene/chart/ValueAxisTest.java modules/controls/src/test/java/test/javafx/scene/chart/XYChartDataTest.java modules/controls/src/test/java/test/javafx/scene/chart/XYChartTest.java modules/controls/src/test/java/test/javafx/scene/chart/XYChartTestBase.java modules/controls/src/test/java/test/javafx/scene/chart/XYNumberChartsTest.java modules/controls/src/test/java/test/javafx/scene/chart/XYNumberChartsTestBase.java modules/controls/src/test/java/test/javafx/scene/chart/XYNumberLineChartsTest.java modules/controls/src/test/java/test/javafx/scene/control/AcceleratorParameterizedTest.java modules/controls/src/test/java/test/javafx/scene/control/AccordionTest.java modules/controls/src/test/java/test/javafx/scene/control/AlertTest.java modules/controls/src/test/java/test/javafx/scene/control/ButtonBaseTest.java modules/controls/src/test/java/test/javafx/scene/control/ButtonTest.java modules/controls/src/test/java/test/javafx/scene/control/CellTest.java modules/controls/src/test/java/test/javafx/scene/control/CheckBoxTest.java modules/controls/src/test/java/test/javafx/scene/control/CheckBoxTreeItemTest.java modules/controls/src/test/java/test/javafx/scene/control/CheckMenuItemTest.java modules/controls/src/test/java/test/javafx/scene/control/ChoiceBoxTest.java modules/controls/src/test/java/test/javafx/scene/control/ColorPickerTest.java modules/controls/src/test/java/test/javafx/scene/control/ComboBoxTest.java modules/controls/src/test/java/test/javafx/scene/control/ContextMenuTest.java modules/controls/src/test/java/test/javafx/scene/control/ControlChildrenTest.java modules/controls/src/test/java/test/javafx/scene/control/ControlSkinTest.java modules/controls/src/test/java/test/javafx/scene/control/ControlStub.java modules/controls/src/test/java/test/javafx/scene/control/ControlTest.java modules/controls/src/test/java/test/javafx/scene/control/ControlTooltipTest.java modules/controls/src/test/java/test/javafx/scene/control/CustomMenuItemTest.java modules/controls/src/test/java/test/javafx/scene/control/DateCellTest.java modules/controls/src/test/java/test/javafx/scene/control/DatePickerTest.java modules/controls/src/test/java/test/javafx/scene/control/EventAnyTest.java modules/controls/src/test/java/test/javafx/scene/control/FireButtonBaseTest.java modules/controls/src/test/java/test/javafx/scene/control/HyperlinkTest.java modules/controls/src/test/java/test/javafx/scene/control/IndexRangeTest.java modules/controls/src/test/java/test/javafx/scene/control/IndexRangeValueOfTest.java modules/controls/src/test/java/test/javafx/scene/control/IndexedCellTest.java modules/controls/src/test/java/test/javafx/scene/control/InputMapTest.java modules/controls/src/test/java/test/javafx/scene/control/LabelTest.java modules/controls/src/test/java/test/javafx/scene/control/LabeledTest.java modules/controls/src/test/java/test/javafx/scene/control/ListCellTest.java modules/controls/src/test/java/test/javafx/scene/control/ListViewKeyInputTest.java modules/controls/src/test/java/test/javafx/scene/control/ListViewMouseInputTest.java modules/controls/src/test/java/test/javafx/scene/control/ListViewTest.java modules/controls/src/test/java/test/javafx/scene/control/MenuBarTest.java modules/controls/src/test/java/test/javafx/scene/control/MenuButtonTest.java modules/controls/src/test/java/test/javafx/scene/control/MenuItemTest.java modules/controls/src/test/java/test/javafx/scene/control/MenuTest.java modules/controls/src/test/java/test/javafx/scene/control/MiscellaneousTests.java modules/controls/src/test/java/test/javafx/scene/control/MultipleSelectionModelImplTest.java modules/controls/src/test/java/test/javafx/scene/control/PaginationTest.java modules/controls/src/test/java/test/javafx/scene/control/PasswordFieldTest.java modules/controls/src/test/java/test/javafx/scene/control/PopupControlTest.java modules/controls/src/test/java/test/javafx/scene/control/RadioMenuItemTest.java modules/controls/src/test/java/test/javafx/scene/control/ScrollBarTest.java modules/controls/src/test/java/test/javafx/scene/control/ScrollPaneTest.java modules/controls/src/test/java/test/javafx/scene/control/SelectionModelImplTest.java modules/controls/src/test/java/test/javafx/scene/control/SeparatorMenuItemTest.java modules/controls/src/test/java/test/javafx/scene/control/SeparatorTest.java modules/controls/src/test/java/test/javafx/scene/control/SkinBaseTest.java modules/controls/src/test/java/test/javafx/scene/control/SkinStub.java modules/controls/src/test/java/test/javafx/scene/control/SliderTest.java modules/controls/src/test/java/test/javafx/scene/control/SpinnerTest.java modules/controls/src/test/java/test/javafx/scene/control/SplitMenuButtonTest.java modules/controls/src/test/java/test/javafx/scene/control/SplitPaneTest.java modules/controls/src/test/java/test/javafx/scene/control/TabPaneTest.java modules/controls/src/test/java/test/javafx/scene/control/TabTest.java modules/controls/src/test/java/test/javafx/scene/control/TableCellTest.java modules/controls/src/test/java/test/javafx/scene/control/TableColumnTest.java modules/controls/src/test/java/test/javafx/scene/control/TableViewKeyInputTest.java modules/controls/src/test/java/test/javafx/scene/control/TableViewMouseInputTest.java modules/controls/src/test/java/test/javafx/scene/control/TableViewSelectionModelImplTest.java modules/controls/src/test/java/test/javafx/scene/control/TableViewTest.java modules/controls/src/test/java/test/javafx/scene/control/TextAreaTest.java modules/controls/src/test/java/test/javafx/scene/control/TextFieldTest.java modules/controls/src/test/java/test/javafx/scene/control/TextInputControlTest.java modules/controls/src/test/java/test/javafx/scene/control/TitledPaneTest.java modules/controls/src/test/java/test/javafx/scene/control/ToggleButtonTest.java modules/controls/src/test/java/test/javafx/scene/control/ToggleGroupTest.java modules/controls/src/test/java/test/javafx/scene/control/ToolbarTest.java modules/controls/src/test/java/test/javafx/scene/control/TooltipTest.java modules/controls/src/test/java/test/javafx/scene/control/TreeCellTest.java modules/controls/src/test/java/test/javafx/scene/control/TreeItemTest.java modules/controls/src/test/java/test/javafx/scene/control/TreeTableCellTest.java modules/controls/src/test/java/test/javafx/scene/control/TreeTableColumnTest.java modules/controls/src/test/java/test/javafx/scene/control/TreeTableRowTest.java modules/controls/src/test/java/test/javafx/scene/control/TreeTableViewKeyInputTest.java modules/controls/src/test/java/test/javafx/scene/control/TreeTableViewMouseInputTest.java modules/controls/src/test/java/test/javafx/scene/control/TreeTableViewSelectionModelImplTest.java modules/controls/src/test/java/test/javafx/scene/control/TreeTableViewTest.java modules/controls/src/test/java/test/javafx/scene/control/TreeViewKeyInputTest.java modules/controls/src/test/java/test/javafx/scene/control/TreeViewMouseInputTest.java modules/controls/src/test/java/test/javafx/scene/control/TreeViewTest.java modules/controls/src/test/java/test/javafx/scene/control/cell/CheckBoxListCellTest.java modules/controls/src/test/java/test/javafx/scene/control/cell/CheckBoxTableCellTest.java modules/controls/src/test/java/test/javafx/scene/control/cell/CheckBoxTreeCellTest.java modules/controls/src/test/java/test/javafx/scene/control/cell/CheckBoxTreeTableCellTest.java modules/controls/src/test/java/test/javafx/scene/control/cell/ChoiceBoxListCellTest.java modules/controls/src/test/java/test/javafx/scene/control/cell/ChoiceBoxTableCellTest.java modules/controls/src/test/java/test/javafx/scene/control/cell/ChoiceBoxTreeCellTest.java modules/controls/src/test/java/test/javafx/scene/control/cell/ChoiceBoxTreeTableCellTest.java modules/controls/src/test/java/test/javafx/scene/control/cell/ComboBoxListCellTest.java modules/controls/src/test/java/test/javafx/scene/control/cell/ComboBoxTableCellTest.java modules/controls/src/test/java/test/javafx/scene/control/cell/ComboBoxTreeCellTest.java modules/controls/src/test/java/test/javafx/scene/control/cell/ComboBoxTreeTableCellTest.java modules/controls/src/test/java/test/javafx/scene/control/cell/ParameterisedPrebuiltCellTest.java modules/controls/src/test/java/test/javafx/scene/control/cell/ProgressBarTableCellTest.java modules/controls/src/test/java/test/javafx/scene/control/cell/ProgressBarTreeTableCellTest.java modules/controls/src/test/java/test/javafx/scene/control/cell/TextFieldListCellTest.java modules/controls/src/test/java/test/javafx/scene/control/cell/TextFieldTableCellTest.java modules/controls/src/test/java/test/javafx/scene/control/cell/TextFieldTreeCellTest.java modules/controls/src/test/java/test/javafx/scene/control/cell/TextFieldTreeTableCellTest.java modules/controls/src/test/java/test/javafx/scene/control/skin/ArrayLinkedListTest.java modules/controls/src/test/java/test/javafx/scene/control/skin/ButtonSkinTest.java modules/controls/src/test/java/test/javafx/scene/control/skin/CheckBoxSkinTest.java modules/controls/src/test/java/test/javafx/scene/control/skin/ChoiceBoxSkinTest.java modules/controls/src/test/java/test/javafx/scene/control/skin/ColorPickerSkinTest.java modules/controls/src/test/java/test/javafx/scene/control/skin/ComboBoxListViewSkinTest.java modules/controls/src/test/java/test/javafx/scene/control/skin/HyperlinkSkinTest.java modules/controls/src/test/java/test/javafx/scene/control/skin/LabelSkinCreationTest.java modules/controls/src/test/java/test/javafx/scene/control/skin/LabelSkinLayoutTest.java modules/controls/src/test/java/test/javafx/scene/control/skin/LabelSkinTest.java modules/controls/src/test/java/test/javafx/scene/control/skin/MenuBarSkinTest.java modules/controls/src/test/java/test/javafx/scene/control/skin/MenuButtonSkinTest.java modules/controls/src/test/java/test/javafx/scene/control/skin/ProgressBarSkinTest.java modules/controls/src/test/java/test/javafx/scene/control/skin/ProgressIndicatorSkinTest.java modules/controls/src/test/java/test/javafx/scene/control/skin/RadioButtonSkinTest.java modules/controls/src/test/java/test/javafx/scene/control/skin/ScrollBarSkinTest.java modules/controls/src/test/java/test/javafx/scene/control/skin/ScrollPaneSkinTest.java modules/controls/src/test/java/test/javafx/scene/control/skin/SeparatorSkinLayoutTest.java modules/controls/src/test/java/test/javafx/scene/control/skin/SeparatorSkinTest.java modules/controls/src/test/java/test/javafx/scene/control/skin/SliderSkinTest.java modules/controls/src/test/java/test/javafx/scene/control/skin/TextInputControlSkinTest.java modules/controls/src/test/java/test/javafx/scene/control/skin/ToggleButtonSkinTest.java modules/controls/src/test/java/test/javafx/scene/control/skin/ToolBarSkinTest.java modules/controls/src/test/java/test/javafx/scene/control/skin/VirtualFlowTest.java modules/controls/src/test/resources/com/sun/javafx/scene/control/LabeledTextTest.css modules/controls/src/test/resources/com/sun/javafx/scene/control/skin/LabeledImplTest.css modules/controls/src/test/resources/javafx/scene/control/ControlSkinTest.css modules/controls/src/test/resources/javafx/scene/control/skin/VirtualFlowTest.css modules/controls/src/test/resources/test/com/sun/javafx/scene/control/LabeledTextTest.css modules/controls/src/test/resources/test/com/sun/javafx/scene/control/skin/LabeledImplTest.css modules/controls/src/test/resources/test/javafx/scene/control/ControlSkinTest.css modules/controls/src/test/resources/test/javafx/scene/control/skin/VirtualFlowTest.css
diffstat 401 files changed, 91011 insertions(+), 88745 deletions(-) [+]
line wrap: on
line diff
--- a/modules/controls/src/main/java/javafx/scene/control/skin/VirtualFlow.java	Thu Sep 17 20:35:30 2015 -0700
+++ b/modules/controls/src/main/java/javafx/scene/control/skin/VirtualFlow.java	Fri Sep 18 09:09:22 2015 -0400
@@ -58,7 +58,6 @@
 import javafx.scene.Scene;
 import javafx.scene.control.Cell;
 import javafx.scene.control.IndexedCell;
-import javafx.scene.control.ListCell;
 import javafx.scene.control.ScrollBar;
 import javafx.scene.input.MouseEvent;
 import javafx.scene.input.ScrollEvent;
--- a/modules/controls/src/test/java/com/sun/javafx/scene/control/ContextMenuContentRetriever.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,206 +0,0 @@
-/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package com.sun.javafx.scene.control;
-
-import com.sun.javafx.scene.control.infrastructure.KeyEventFirer;
-import com.sun.javafx.scene.control.infrastructure.MouseEventFirer;
-import javafx.collections.ObservableList;
-import javafx.scene.Node;
-import javafx.scene.control.ContextMenu;
-import javafx.scene.control.CustomMenuItem;
-import javafx.scene.control.Menu;
-import javafx.scene.control.MenuItem;
-import javafx.scene.control.skin.ContextMenuSkin;
-import javafx.scene.input.KeyCode;
-
-import java.util.Optional;
-
-public class ContextMenuContentRetriever {
-
-    private ContextMenuContentRetriever() {
-        // no-op
-    }
-
-    public static Menu getOpenSubMenu(ContextMenu menu) {
-        ContextMenuContent content = getMenuContent(menu);
-        return content.getOpenSubMenu();
-    }
-
-    public static Menu getShowingSubMenu(ContextMenu menu) {
-        ContextMenuContent content = getMenuContent(menu);
-        Menu showingSubMenu = content.getOpenSubMenu();
-        ContextMenu subContextMenu = content.getSubMenu();
-
-        while (showingSubMenu != null) {
-            content = getMenuContent(subContextMenu);
-
-            Menu newShowingMenu = content == null ? null : content.getOpenSubMenu();
-            subContextMenu = content == null ? null : content.getSubMenu();
-
-            if (newShowingMenu == null) {
-                break;
-            }
-        }
-        return showingSubMenu;
-    }
-
-    public static ObservableList<MenuItem> getShowingMenuItems(ContextMenu menu) {
-        ContextMenuContent content = getMenuContent(menu);
-        Menu showingSubMenu = content.getOpenSubMenu();
-        ContextMenu subContextMenu = content.getSubMenu();
-
-        if (showingSubMenu == null || subContextMenu == null) {
-            return menu.getItems();
-        }
-
-        while (showingSubMenu != null) {
-            content = getMenuContent(subContextMenu);
-
-            Menu newShowingMenu = content == null ? null : content.getOpenSubMenu();
-            subContextMenu = content == null ? null : content.getSubMenu();
-
-            if (newShowingMenu == null) {
-                break;
-            }
-        }
-        return showingSubMenu.getItems();
-    }
-
-    public static Optional<ContextMenuContent> getShowingMenuContent(ContextMenu menu) {
-        ContextMenuContent content = getMenuContent(menu);
-        Menu showingSubMenu = content.getOpenSubMenu();
-        ContextMenu subContextMenu = content.getSubMenu();
-        return showingSubMenu != null &&
-               subContextMenu != null &&
-               subContextMenu.isShowing() ? getShowingMenuContent(subContextMenu) : Optional.of(content);
-    }
-
-    private static ContextMenuContent getMenuContent(ContextMenu menu) {
-        ContextMenuSkin skin = (ContextMenuSkin) menu.getSkin();
-        Node node = skin.getNode();
-        if (node instanceof ContextMenuContent) {
-            return (ContextMenuContent) node;
-        }
-        return null;
-    }
-
-    public static int getCurrentFocusedIndex(ContextMenu menu) {
-//        Optional<Integer> index = getShowingMenuContent(menu).flatMap(content -> Optional.of(content.getCurrentFocusIndex()));
-//        return index.orElse(-1);
-
-        Optional<ContextMenuContent> showingMenuContent = getShowingMenuContent(menu);
-        if (showingMenuContent.isPresent()) {
-            ContextMenuContent content = showingMenuContent.get();
-            return content.getCurrentFocusIndex();
-        }
-
-        return -1;
-    }
-
-    public static MenuItem getCurrentFocusedItem(ContextMenu menu) {
-        ObservableList<MenuItem> showingMenuItems = getShowingMenuItems(menu);
-
-//        Optional<MenuItem> item = getShowingMenuContent(menu)
-//                .flatMap(content -> Optional.of(content.getCurrentFocusIndex()))
-//                .flatMap(index   -> Optional.of(showingMenuItems.get(index)));
-//        return item.orElse(null);
-
-        Optional<ContextMenuContent> showingMenuContent = getShowingMenuContent(menu);
-        if (showingMenuContent.isPresent()) {
-            ContextMenuContent content = showingMenuContent.get();
-            int currentFocusIndex = content.getCurrentFocusIndex();
-            return showingMenuItems.get(currentFocusIndex);
-        }
-
-        return null;
-    }
-
-    public static void pressDownKey(ContextMenu menu) {
-//        getShowingMenuContent(menu).ifPresent(content -> new KeyEventFirer(content).doDownArrowPress());
-        Optional<ContextMenuContent> showingMenuContent = getShowingMenuContent(menu);
-        if (showingMenuContent.isPresent()) {
-            ContextMenuContent content = showingMenuContent.get();
-            new KeyEventFirer(content).doDownArrowPress();
-        }
-    }
-
-    public static void pressUpKey(ContextMenu menu) {
-//        getShowingMenuContent(menu).ifPresent(content -> new KeyEventFirer(content).doUpArrowPress());
-        Optional<ContextMenuContent> showingMenuContent = getShowingMenuContent(menu);
-        if (showingMenuContent.isPresent()) {
-            ContextMenuContent content = showingMenuContent.get();
-            new KeyEventFirer(content).doUpArrowPress();
-        }
-    }
-
-    public static void pressLeftKey(ContextMenu menu) {
-//        getShowingMenuContent(menu).ifPresent(content -> new KeyEventFirer(content).doLeftArrowPress());
-        Optional<ContextMenuContent> showingMenuContent = getShowingMenuContent(menu);
-        if (showingMenuContent.isPresent()) {
-            ContextMenuContent content = showingMenuContent.get();
-            new KeyEventFirer(content).doLeftArrowPress();
-        }
-    }
-
-    public static void pressRightKey(ContextMenu menu) {
-//        getShowingMenuContent(menu).ifPresent(content -> new KeyEventFirer(content).doRightArrowPress());
-        Optional<ContextMenuContent> showingMenuContent = getShowingMenuContent(menu);
-        if (showingMenuContent.isPresent()) {
-            ContextMenuContent content = showingMenuContent.get();
-            new KeyEventFirer(content).doRightArrowPress();
-        }
-    }
-
-    public static void pressEnterKey(ContextMenu menu) {
-//        getShowingMenuContent(menu).ifPresent(content -> new KeyEventFirer(content).doKeyPress(KeyCode.ENTER));
-        Optional<ContextMenuContent> showingMenuContent = getShowingMenuContent(menu);
-        if (showingMenuContent.isPresent()) {
-            ContextMenuContent content = showingMenuContent.get();
-            new KeyEventFirer(content).doKeyPress(KeyCode.ENTER);
-        }
-    }
-
-    public static void pressMouseButton(ContextMenu menu) {
-        Optional<ContextMenuContent> showingMenuContent = getShowingMenuContent(menu);
-        if (showingMenuContent.isPresent()) {
-            ContextMenuContent.MenuItemContainer itemContainer =
-                    (ContextMenuContent.MenuItemContainer) showingMenuContent.get().selectedBackground;
-
-            MenuItem item = itemContainer.getItem();
-            if (item instanceof CustomMenuItem) {
-                // If the item is a CustomMenuItem, we fire the event on the
-                // content of that CustomMenuItem.
-                // Also, note that we firea mouse _clicked_ event, as opposed to
-                // a press and release. I'm not sure why this is what the
-                // ContextMenuContent code expects, but I didn't want to mess with
-                // it at this point.
-                Node customContent = ((CustomMenuItem)item).getContent();
-                new MouseEventFirer(customContent).fireMouseClicked();
-            } else {
-                new MouseEventFirer(itemContainer).fireMousePressAndRelease();
-            }
-        }
-    }
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/controls/src/test/java/com/sun/javafx/scene/control/ContextMenuContentShim.java	Fri Sep 18 09:09:22 2015 -0400
@@ -0,0 +1,206 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package com.sun.javafx.scene.control;
+
+import test.com.sun.javafx.scene.control.infrastructure.KeyEventFirer;
+import test.com.sun.javafx.scene.control.infrastructure.MouseEventFirer;
+import javafx.collections.ObservableList;
+import javafx.scene.Node;
+import javafx.scene.control.ContextMenu;
+import javafx.scene.control.CustomMenuItem;
+import javafx.scene.control.Menu;
+import javafx.scene.control.MenuItem;
+import javafx.scene.control.skin.ContextMenuSkin;
+import javafx.scene.input.KeyCode;
+
+import java.util.Optional;
+
+public class ContextMenuContentShim {
+
+    private ContextMenuContentShim() {
+        // no-op
+    }
+
+    public static Menu getOpenSubMenu(ContextMenu menu) {
+        ContextMenuContent content = getMenuContent(menu);
+        return content.getOpenSubMenu();
+    }
+
+    public static Menu getShowingSubMenu(ContextMenu menu) {
+        ContextMenuContent content = getMenuContent(menu);
+        Menu showingSubMenu = content.getOpenSubMenu();
+        ContextMenu subContextMenu = content.getSubMenu();
+
+        while (showingSubMenu != null) {
+            content = getMenuContent(subContextMenu);
+
+            Menu newShowingMenu = content == null ? null : content.getOpenSubMenu();
+            subContextMenu = content == null ? null : content.getSubMenu();
+
+            if (newShowingMenu == null) {
+                break;
+            }
+        }
+        return showingSubMenu;
+    }
+
+    public static ObservableList<MenuItem> getShowingMenuItems(ContextMenu menu) {
+        ContextMenuContent content = getMenuContent(menu);
+        Menu showingSubMenu = content.getOpenSubMenu();
+        ContextMenu subContextMenu = content.getSubMenu();
+
+        if (showingSubMenu == null || subContextMenu == null) {
+            return menu.getItems();
+        }
+
+        while (showingSubMenu != null) {
+            content = getMenuContent(subContextMenu);
+
+            Menu newShowingMenu = content == null ? null : content.getOpenSubMenu();
+            subContextMenu = content == null ? null : content.getSubMenu();
+
+            if (newShowingMenu == null) {
+                break;
+            }
+        }
+        return showingSubMenu.getItems();
+    }
+
+    public static Optional<ContextMenuContent> getShowingMenuContent(ContextMenu menu) {
+        ContextMenuContent content = getMenuContent(menu);
+        Menu showingSubMenu = content.getOpenSubMenu();
+        ContextMenu subContextMenu = content.getSubMenu();
+        return showingSubMenu != null &&
+               subContextMenu != null &&
+               subContextMenu.isShowing() ? getShowingMenuContent(subContextMenu) : Optional.of(content);
+    }
+
+    private static ContextMenuContent getMenuContent(ContextMenu menu) {
+        ContextMenuSkin skin = (ContextMenuSkin) menu.getSkin();
+        Node node = skin.getNode();
+        if (node instanceof ContextMenuContent) {
+            return (ContextMenuContent) node;
+        }
+        return null;
+    }
+
+    public static int getCurrentFocusedIndex(ContextMenu menu) {
+//        Optional<Integer> index = getShowingMenuContent(menu).flatMap(content -> Optional.of(content.getCurrentFocusIndex()));
+//        return index.orElse(-1);
+
+        Optional<ContextMenuContent> showingMenuContent = getShowingMenuContent(menu);
+        if (showingMenuContent.isPresent()) {
+            ContextMenuContent content = showingMenuContent.get();
+            return content.getCurrentFocusIndex();
+        }
+
+        return -1;
+    }
+
+    public static MenuItem getCurrentFocusedItem(ContextMenu menu) {
+        ObservableList<MenuItem> showingMenuItems = getShowingMenuItems(menu);
+
+//        Optional<MenuItem> item = getShowingMenuContent(menu)
+//                .flatMap(content -> Optional.of(content.getCurrentFocusIndex()))
+//                .flatMap(index   -> Optional.of(showingMenuItems.get(index)));
+//        return item.orElse(null);
+
+        Optional<ContextMenuContent> showingMenuContent = getShowingMenuContent(menu);
+        if (showingMenuContent.isPresent()) {
+            ContextMenuContent content = showingMenuContent.get();
+            int currentFocusIndex = content.getCurrentFocusIndex();
+            return showingMenuItems.get(currentFocusIndex);
+        }
+
+        return null;
+    }
+
+    public static void pressDownKey(ContextMenu menu) {
+//        getShowingMenuContent(menu).ifPresent(content -> new KeyEventFirer(content).doDownArrowPress());
+        Optional<ContextMenuContent> showingMenuContent = getShowingMenuContent(menu);
+        if (showingMenuContent.isPresent()) {
+            ContextMenuContent content = showingMenuContent.get();
+            new KeyEventFirer(content).doDownArrowPress();
+        }
+    }
+
+    public static void pressUpKey(ContextMenu menu) {
+//        getShowingMenuContent(menu).ifPresent(content -> new KeyEventFirer(content).doUpArrowPress());
+        Optional<ContextMenuContent> showingMenuContent = getShowingMenuContent(menu);
+        if (showingMenuContent.isPresent()) {
+            ContextMenuContent content = showingMenuContent.get();
+            new KeyEventFirer(content).doUpArrowPress();
+        }
+    }
+
+    public static void pressLeftKey(ContextMenu menu) {
+//        getShowingMenuContent(menu).ifPresent(content -> new KeyEventFirer(content).doLeftArrowPress());
+        Optional<ContextMenuContent> showingMenuContent = getShowingMenuContent(menu);
+        if (showingMenuContent.isPresent()) {
+            ContextMenuContent content = showingMenuContent.get();
+            new KeyEventFirer(content).doLeftArrowPress();
+        }
+    }
+
+    public static void pressRightKey(ContextMenu menu) {
+//        getShowingMenuContent(menu).ifPresent(content -> new KeyEventFirer(content).doRightArrowPress());
+        Optional<ContextMenuContent> showingMenuContent = getShowingMenuContent(menu);
+        if (showingMenuContent.isPresent()) {
+            ContextMenuContent content = showingMenuContent.get();
+            new KeyEventFirer(content).doRightArrowPress();
+        }
+    }
+
+    public static void pressEnterKey(ContextMenu menu) {
+//        getShowingMenuContent(menu).ifPresent(content -> new KeyEventFirer(content).doKeyPress(KeyCode.ENTER));
+        Optional<ContextMenuContent> showingMenuContent = getShowingMenuContent(menu);
+        if (showingMenuContent.isPresent()) {
+            ContextMenuContent content = showingMenuContent.get();
+            new KeyEventFirer(content).doKeyPress(KeyCode.ENTER);
+        }
+    }
+
+    public static void pressMouseButton(ContextMenu menu) {
+        Optional<ContextMenuContent> showingMenuContent = getShowingMenuContent(menu);
+        if (showingMenuContent.isPresent()) {
+            ContextMenuContent.MenuItemContainer itemContainer =
+                    (ContextMenuContent.MenuItemContainer) showingMenuContent.get().selectedBackground;
+
+            MenuItem item = itemContainer.getItem();
+            if (item instanceof CustomMenuItem) {
+                // If the item is a CustomMenuItem, we fire the event on the
+                // content of that CustomMenuItem.
+                // Also, note that we firea mouse _clicked_ event, as opposed to
+                // a press and release. I'm not sure why this is what the
+                // ContextMenuContent code expects, but I didn't want to mess with
+                // it at this point.
+                Node customContent = ((CustomMenuItem)item).getContent();
+                new MouseEventFirer(customContent).fireMouseClicked();
+            } else {
+                new MouseEventFirer(itemContainer).fireMousePressAndRelease();
+            }
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/controls/src/test/java/com/sun/javafx/scene/control/LabeledImplShim.java	Fri Sep 18 09:09:22 2015 -0400
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ * 
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ * 
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ * 
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ * 
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package com.sun.javafx.scene.control;
+
+import java.util.List;
+import javafx.css.CssMetaData;
+import javafx.css.Styleable;
+
+public class LabeledImplShim {
+
+    public static final  List<CssMetaData<? extends Styleable, ?>> STYLEABLES_TO_MIRROR
+            = LabeledImpl.StyleableProperties.STYLEABLES_TO_MIRROR;
+
+}
--- a/modules/controls/src/test/java/com/sun/javafx/scene/control/LabeledImplTest.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +0,0 @@
-/*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.scene.control;
-
-import test.com.sun.javafx.pgstub.StubImageLoaderFactory;
-import test.com.sun.javafx.pgstub.StubPlatformImageInfo;
-import test.com.sun.javafx.pgstub.StubToolkit;
-import com.sun.javafx.scene.control.LabeledImpl;
-import com.sun.javafx.scene.control.skin.FXVK;
-import com.sun.javafx.tk.Toolkit;
-import javafx.css.CssMetaData;
-import java.util.ArrayList;
-
-import java.util.Collection;
-import java.util.List;
-import javafx.beans.value.WritableValue;
-import javafx.css.Styleable;
-import javafx.geometry.Insets;
-import javafx.geometry.Pos;
-import javafx.scene.Cursor;
-import javafx.scene.control.ContentDisplay;
-import javafx.scene.control.Label;
-import javafx.scene.control.Labeled;
-import javafx.scene.control.OverrunStyle;
-import javafx.scene.effect.BlendMode;
-import javafx.scene.effect.ColorAdjust;
-import javafx.scene.paint.Color;
-import javafx.scene.text.Font;
-import javafx.scene.text.TextAlignment;
-
-import org.junit.BeforeClass;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import org.junit.Test;
-import static org.junit.Assert.*;
-
-@RunWith(Parameterized.class)
-public class LabeledImplTest {
-
-    @BeforeClass
-    public static void configureImageLoaderFactory() {
-        final StubImageLoaderFactory imageLoaderFactory =
-                ((StubToolkit) Toolkit.getToolkit()).getImageLoaderFactory();
-        imageLoaderFactory.reset();
-        imageLoaderFactory.registerImage(FXVK.class.getResource("caspian/center-btn.png").toExternalForm(),
-                new StubPlatformImageInfo(32, 32));
-    }
-
-    private static final Labeled LABELED = new Label("label");
-    private static final LabeledImpl LABELED_IMPL = new LabeledImpl(LABELED);
-    
-    private static class Configuration {
-        final WritableValue source;
-        final WritableValue mirror;
-        final Object value;
-        Configuration(WritableValue source, WritableValue mirror, Object value) {
-            this.source = source;
-            this.mirror = mirror;
-            this.value = value;
-        }        
-    }
-    
-    private static Configuration config(CssMetaData styleable) {
-        WritableValue source = styleable.getStyleableProperty(LABELED);
-        WritableValue mirror   = styleable.getStyleableProperty(LABELED_IMPL);
-        Object value = null;
-        if (source != null && mirror != null) {
-            final String prop = styleable.getProperty();
-            if ("-fx-cursor".equals(prop)) {
-                value = Cursor.HAND;                
-            } else if ("-fx-effect".equals(prop)) {
-                value = new ColorAdjust(.5, .5, .5, .5);
-            } else if ("-fx-focus-traversable".equals(prop)) {
-                value = Boolean.FALSE;
-            } else if ("-fx-opacity".equals(prop)) {
-                value = .5;
-            } else if ("-fx-blend-mode".equals(prop)) {
-                value = BlendMode.RED;
-            } else if ("-fx-rotate".equals(prop)) {
-                value = .5;
-            } else if ("-fx-scale-x".equals(prop)) {
-                value = .5;
-            } else if ("-fx-scale-y".equals(prop)) {
-                value = .5;
-            } else if ("-fx-scale-z".equals(prop)) {
-                value = .5;
-            } else if ("-fx-translate-x".equals(prop)) {
-                value = .5;
-            } else if ("-fx-translate-y".equals(prop)) {
-                value = .5;
-            } else if ("-fx-translate-z".equals(prop)) {
-                value = .5;
-            } else if ("visibility".equals(prop)) {
-                value = Boolean.FALSE;
-            } else if ("-fx-font".equals(prop)) {
-                value = Font.font("Amble", 15);
-            } else if ("-fx-alignment".equals(prop)) {
-                value = Pos.TOP_CENTER;
-            } else if ("-fx-text-alignment".equals(prop)) {
-                value = TextAlignment.RIGHT;
-            } else if ("-fx-text-fill".equals(prop)) {
-                value = Color.RED;
-            } else if ("-fx-text-overrun".equals(prop)) {
-                value = OverrunStyle.LEADING_WORD_ELLIPSIS;
-            } else if ("-fx-wrap-text".equals(prop)) {
-                value = Boolean.TRUE;
-            } else if ("-fx-graphic".equals(prop)) {
-                // FXVK is used here as it is located within com.sun.javafx.scene.control.skin,
-                // which is useful when trying to load caspian / modena resources.
-                value = FXVK.class.getResource("caspian/center-btn.png").toExternalForm();
-            } else if ("-fx-underline".equals(prop)) {
-                value = Boolean.TRUE;
-            } else if ("-fx-content-display".equals(prop)) {
-                value = ContentDisplay.GRAPHIC_ONLY;
-            } else if ("-fx-label-padding".equals(prop)) {
-                value = new Insets(1,2,3,4);
-            } else if ("-fx-graphic-text-gap".equals(prop)) {
-                value = .5;
-            } else if ("-fx-ellipsis-string".equals(prop)) {
-                value = "...";
-            } else if ("-fx-line-spacing".equals(prop)) {
-                value = 0.0;
-            } else {
-                fail(prop + " not accounted for");
-                return null;
-            }          
-            
-            return new Configuration(source, mirror, value);
-        }
-
-        fail();
-        return null;
-    }
-    
-    private final Configuration configuration;
-
-    @Parameters
-    public static Collection<Configuration[]> data() {
-
-        Collection<Configuration[]> data = new ArrayList<Configuration[]>();
-        
-        List<CssMetaData<? extends Styleable, ?>> styleables = LabeledImpl.StyleableProperties.STYLEABLES_TO_MIRROR;
-        for(CssMetaData<? extends Styleable, ?> styleable : styleables) {
-            
-            // LabeledImpl doesn't track -fx-skin since the Labeled
-            // isn't necessarily a Label
-            if ("-fx-skin".equals(styleable.getProperty())) continue;
-            
-            Configuration[] config = new Configuration[] { config(styleable) };
-            if (config != null) data.add(config);
-        }
-        
-        data.add( new Configuration[] { 
-            new Configuration(LABELED.textProperty(), LABELED_IMPL.textProperty(), "TEST 1 2 3")
-        });
-        
-        return data;
-    }
-    
-    @Test 
-    public void testMirrorReflectsSource() {
-        final WritableValue source = configuration.source;
-        final WritableValue mirror = configuration.mirror;
-        final Object expected = configuration.value;
-        
-        source.setValue(expected);
-        assertEquals(mirror.toString(), expected, mirror.getValue());
-    }
-
-    public LabeledImplTest(Configuration configuration) {
-        this.configuration = configuration;
-    }
-
-    static {
-    }
-}
--- a/modules/controls/src/test/java/com/sun/javafx/scene/control/LabeledImplTestOther.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.scene.control;
-
-import com.sun.javafx.scene.control.LabeledImpl;
-import com.sun.javafx.scene.control.skin.Utils;
-import javafx.scene.Scene;
-import javafx.scene.control.Label;
-import javafx.scene.control.Labeled;
-import javafx.scene.control.MenuButton;
-import javafx.scene.control.skin.MenuButtonSkin;
-import javafx.scene.image.Image;
-import javafx.scene.image.ImageView;
-import javafx.stage.Stage;
-import org.junit.Test;
-
-import java.net.URL;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-public class LabeledImplTestOther {
-    
-    
-    @Test public void test_RT_21357() {
-        
-        final Labeled labeled = new Label("label");
-        final LabeledImpl labeledImpl = new LabeledImpl(labeled);
-        
-        URL url = Utils.class.getResource("caspian/center-btn.png");
-        Image img = new Image(url.toExternalForm());
-        assertNotNull(img);
-        
-        ImageView iView = new ImageView(img);
-        labeled.setGraphic(iView);  
-        
-        assertEquals(labeled.getGraphic(), labeledImpl.getGraphic());
-        assertNotNull(labeled.getGraphic());
-    }
-
-    @Test public void test_RT_21617() {
-        
-        MenuButton mb = new MenuButton();
-        mb.setText("SomeText"); 
-        MenuButtonSkin mbs = new MenuButtonSkin(mb);
-        mb.setSkin(mbs);
-         
-        mb.setTranslateX(100);mb.setTranslateY(100); 
-        
-        Scene scene = new Scene(mb, 300, 300); 
-        scene.getStylesheets().add(LabeledImplTestOther.class.getResource("LabeledImplTest.css").toExternalForm());
-        Stage stage = new Stage();
-        stage.setScene(scene); 
-        stage.show(); 
-        
-        
-        LabeledImpl labeledImpl = (LabeledImpl)mb.lookup(".label");
-        assertNotNull(labeledImpl);
-        // LabeledImpl should not mirror the translateX/Y of the MenuButton
-        assertEquals(100, mb.getTranslateX(), 0.00001);
-        assertEquals(0, labeledImpl.getTranslateX(), 0.00001);
-        assertEquals(100, mb.getTranslateY(), 0.00001);
-        assertEquals(0, labeledImpl.getTranslateY(), 0.00001);
-        // opacity set to 50% in LabeledImplTest.css
-        assertEquals(1, mb.getOpacity(), 0.00001);
-        assertEquals(.5, labeledImpl.getOpacity(), 0.00001);
-    }
-    
-}
--- a/modules/controls/src/test/java/com/sun/javafx/scene/control/LabeledTextTest.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,419 +0,0 @@
-/*
- * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.scene.control;
-
-import com.sun.javafx.scene.control.LabeledText;
-import javafx.css.CssMetaData;
-import javafx.css.Stylesheet;
-import javafx.scene.Cursor;
-import javafx.scene.Group;
-import javafx.scene.Scene;
-import javafx.scene.control.Label;
-import javafx.scene.control.skin.LabelSkinBaseRetriever;
-import javafx.scene.control.skin.LabeledSkinBase;
-import javafx.scene.effect.BlendMode;
-import javafx.scene.layout.VBox;
-import javafx.scene.paint.Color;
-import javafx.scene.text.Font;
-import javafx.scene.text.TextAlignment;
-import javafx.stage.Stage;
-import org.junit.*;
-import static org.junit.Assert.*;
-
-/**
- *
- * @author dgrieve
- */
-public class LabeledTextTest {
-    
-    Label label;
-    LabeledText labeledText;
-    Stage stage;
-    Scene scene;
-    Stylesheet stylesheet;
-    
-    public LabeledTextTest() {
-    }
-    
-    @Before public void setup() {
-        label = 
-            new Label("\"A computer once beat me at chess, "
-                + "but it was no match for me at kick boxing.\" Emo Philips");
-        stage = new Stage();
-        stage.setScene(scene = new Scene(label));
-        scene.getStylesheets().add(LabeledTextTest.class.getResource("LabeledTextTest.css").toExternalForm());
-        label.impl_processCSS(true);
-        labeledText = LabelSkinBaseRetriever.getText(label);
-    }
-
-    @Test
-    public void testLabeledTextAlignmentStyleAffectsLabeledText() {
-        
-        label.setStyle("-fx-text-alignment: right;");
-        label.impl_processCSS(true);
-        assertEquals(TextAlignment.RIGHT, label.getTextAlignment());
-        assertEquals(TextAlignment.RIGHT, labeledText.getTextAlignment());
-    
-    }
-    
-    @Test
-    public void testLabeledTextAlignmentIsBound() {
-        try {
-            labeledText.setTextAlignment(TextAlignment.RIGHT);
-            fail();
-        } catch (RuntimeException re) {
-        }
-    }
-    
-
-    @Test
-    public void testLabeledFontStyleAffectsLabeledText() {
-        
-        label.setStyle("-fx-font: 10px Amble;");
-        label.impl_processCSS(true);
-        Font expected = Font.font("Amble", 10);
-        assertEquals(expected, label.getFont());
-        assertEquals(expected, labeledText.getFont());
-    
-    }
-    
-    @Test
-    public void testLabeledTextFontIsBound() {
-        try {
-            labeledText.setFont(Font.getDefault());
-            fail();
-        } catch (RuntimeException re) {
-        }
-    }
-    
-    
-    @Test
-    public void testLabeledTextFillStyleAffectsLabeledText() {
-        
-        label.setStyle("-fx-text-fill: rgb(255,0,0);");
-        label.impl_processCSS(true);
-        Color expected = Color.rgb(255, 0, 0);
-        assertEquals(expected, label.getTextFill());
-        assertEquals(expected, labeledText.getFill());
-    
-    }
-    
-    @Test
-    public void testLabeledTextFillIsBound() {
-        try {
-            labeledText.setFill(Color.RED);
-            fail();
-        } catch (RuntimeException re) {
-        }
-    }
-
-    
-    @Test
-    public void testLabeledUnderlineStyleAffectsLabeledText() {
-        
-        label.setStyle("-fx-underline: true;");
-        label.impl_processCSS(true);
-        assert(label.isUnderline() == true);
-        assert(labeledText.isUnderline() == true);
-    
-    }
-
-    @Test
-    public void testLabeledBlendModeStyleDoesNotAffectLabeledText() {
-        label.setStyle("-fx-blend-mode: color-burn;");
-        label.impl_processCSS(true);
-        assertEquals(BlendMode.COLOR_BURN,label.getBlendMode());
-        assertFalse(BlendMode.COLOR_BURN.equals(labeledText.getBlendMode())); 
-    }
-    
-    @Test
-    public void testLabeledCursorStyleDoesNotAffectLabeledText() {
-        label.setStyle("-fx-cursor: crosshair;");
-        label.impl_processCSS(true);
-        assertEquals(Cursor.CROSSHAIR,label.getCursor());
-        assertFalse(Cursor.CROSSHAIR.equals(labeledText.getCursor()));
-    }
-    
-    @Test
-    public void testLabeledEffectStyleDoesNotAffectLabeledText() {
-        label.setStyle("-fx-effect: dropshadow(one-pass-box, red, 64, .5, 2, 3);");
-        label.impl_processCSS(true);
-        assertNotNull(label.getEffect());
-        assertNull(labeledText.getEffect()); 
-    }
-    
-    @Test
-    public void testLabeledFocusTraversableStyleDoesNotAffectLabeledText() {
-        label.setStyle("-fx-focus-traversable: true;");
-        label.impl_processCSS(true);
-        assert(label.focusTraversableProperty().get() == true);   
-        assert(labeledText.focusTraversableProperty().get() == false);   
-    }
-    
-    @Test
-    public void testLabeledOpacityStyleDoesNotAffectLabeledText() {
-        label.setStyle("-fx-opacity: .5;");
-        label.impl_processCSS(true);
-        assertEquals(label.getOpacity(), .5, .0000001);   
-        assertEquals(labeledText.getOpacity(), 1, .0000001);   
-    }
-
-    @Test
-    public void testLabeledRotateStyleDoesNotAffectLabeledText() {
-        label.setStyle("-fx-rotate: 180;");
-        label.impl_processCSS(true);
-        assertEquals(label.getRotate(), 180, .0000001);
-        assertEquals(labeledText.getRotate(), 0, .0000001);   
-    }
-    
-    @Test
-    public void testLabeledScaleXStyleDoesNotAffectLabeledText() {
-        label.setStyle("-fx-scale-x: .5;");
-        label.impl_processCSS(true);
-        assertEquals(label.getScaleX(), .5, .0000001);
-        assertEquals(labeledText.getScaleX(), 1, .0000001);   
-    }
-    
-    @Test
-    public void testLabeledScaleYStyleDoesNotAffectLabeledText() {
-        label.setStyle("-fx-scale-y: .5;");
-        label.impl_processCSS(true);
-        assertEquals(label.getScaleY(), .5, .0000001);
-        assertEquals(labeledText.getScaleY(), 1, .0000001);   
-    }
-
-    @Test
-    public void testLabeledScaleZStyleDoesNotAffectLabeledText() {
-        label.setStyle("-fx-scale-z: .5;");
-        label.impl_processCSS(true);
-        assertEquals(label.getScaleZ(), .5, .0000001);
-        assertEquals(labeledText.getScaleZ(), 1, .0000001);   
-    }
-    
-    @Test
-    public void testLabeledTranslateXStyleDoesNotAffectLabeledText() {
-        label.setStyle("-fx-translate-x: .5;");
-        label.impl_processCSS(true);
-        assertEquals(label.getTranslateX(), .5, .0000001);
-        assertEquals(labeledText.getTranslateX(), 0, .0000001);   
-    }
-    
-    @Test
-    public void testLabeledTranslateYStyleDoesNotAffectLabeledText() {
-        label.setStyle("-fx-translate-y: .5;");
-        label.impl_processCSS(true);
-        assertEquals(label.getTranslateY(), .5, .0000001);
-        assertEquals(labeledText.getTranslateY(), 0, .0000001);   
-    }
-    
-    @Test
-    public void testLabeledTranslateZStyleDoesNotAffectLabeledText() {
-        label.setStyle("-fx-translate-z: .5;");
-        label.impl_processCSS(true);
-        assertEquals(label.getTranslateZ(), .5, .0000001);
-        assertEquals(labeledText.getTranslateZ(), 0, .0000001);   
-    }
-    
-    @Test
-    public void testLabeledVisibilityStyleDoesNotAffectLabeledText() {
-        label.setStyle("visibility: false;");
-        label.impl_processCSS(true);
-        assert(label.visibleProperty().get() == false);   
-        assert(labeledText.visibleProperty().get() == true);   
-    }
-    
-    private static CssMetaData getCssMetaData(String prop) {
-        for (CssMetaData styleable : LabeledText.getClassCssMetaData()) {
-            if (styleable.getProperty().equals(prop)) return styleable;
-        }
-        return null;
-    }
-    
-    @Test
-    public void testLabeledTextFillIsSettableByCss() {
-        
-        CssMetaData sp = getCssMetaData("-fx-fill");
-        assertTrue(sp.isSettable(labeledText));
-    }
-    
-    @Test
-    public void testCanStyleFillOnLabeledText() {
-        assertEquals(Color.GREEN, labeledText.getFill());    
-    }
-
-    
-    @Test
-    public void testLabeledTextTextAlignmentIsSettableByCss() {
-        
-        CssMetaData sp = getCssMetaData("-fx-text-alignment");
-        assertTrue(sp.isSettable(labeledText));
-    }
-    
-    @Test
-    public void testCanStyleTextAlignmentOnLabeledText() {
-        assertEquals(TextAlignment.RIGHT, labeledText.getTextAlignment());
-    }
-    
-    
-    @Test
-    public void testLabeledTextFontIsSettableByCss() {
-        
-        CssMetaData sp = getCssMetaData("-fx-font");
-        assertTrue(sp.isSettable(labeledText));
-    }
-    
-    @Test
-    public void testCanStyleFontOnLabeledText() {
-        assertEquals(Font.font("Amble", 10), labeledText.getFont());
-    }
-    
-    
-    @Test
-    public void testLabeledTextUnderlineIsSettableByCss() {
-        
-        CssMetaData sp = getCssMetaData("-fx-underline");
-        assertTrue(sp.isSettable(labeledText));
-    }
-    
-    @Test
-    public void testCanStyleUnderlineOnLabeledText() {
-        assertTrue(labeledText.isUnderline());
-    }
-    
-    @Test
-    public void testLabeledSetTextFillNotOverridenByUAStyleOnLabeledText() {
-        label = 
-            new Label("\"A computer once beat me at chess, "
-                + "but it was no match for me at kick boxing.\" Emo Philips") {
-                    @Override public String getUserAgentStylesheet() {
-                        return LabeledTextTest.class.getResource("LabeledTextTest.css").toExternalForm();
-                    }
-                };
-        label.setTextFill(Color.YELLOW);
-        stage.setScene(scene = new Scene(label));
-        stage.show();
-//        label.impl_processCSS(true);
-        labeledText = LabelSkinBaseRetriever.getText(label);
-        assertEquals(Color.YELLOW, labeledText.getFill());
-    }
-    
-    @Test
-    public void testLabeledSetFontNotOverridenByUAStyleOnLabeledText() {
-        label = 
-            new Label("\"A computer once beat me at chess, "
-                + "but it was no match for me at kick boxing.\" Emo Philips") {
-                    @Override public String getUserAgentStylesheet() {
-                        return LabeledTextTest.class.getResource("LabeledTextTest.css").toExternalForm();
-                    }
-                };
-        Font font = Font.font("Amble", 30);
-        label.setFont(font);
-        stage.setScene(scene = new Scene(label));
-        stage.show();
-//        label.impl_processCSS(true);
-        labeledText = LabelSkinBaseRetriever.getText(label);
-        assertEquals(font, labeledText.getFont());
-    }
-    
-    @Test
-    public void testLabeledSetTextAlignmentNotOverridenByUAStyleOnLabeledText() {
-        label = 
-            new Label("\"A computer once beat me at chess, "
-                + "but it was no match for me at kick boxing.\" Emo Philips") {
-                    @Override public String getUserAgentStylesheet() {
-                        return LabeledTextTest.class.getResource("LabeledTextTest.css").toExternalForm();
-                    }
-                };
-        label.setTextAlignment(TextAlignment.JUSTIFY);
-        stage.setScene(scene = new Scene(label));
-        stage.show();
-//        label.impl_processCSS(true);
-        labeledText = LabelSkinBaseRetriever.getText(label);
-        assertEquals(TextAlignment.JUSTIFY, labeledText.getTextAlignment());
-    }
-    
-    @Test
-    public void testLabeledSetUnderlineNotOverridenByUAStyleOnLabeledText() {
-        label = 
-            new Label("\"A computer once beat me at chess, "
-                + "but it was no match for me at kick boxing.\" Emo Philips") {
-                    @Override public String getUserAgentStylesheet() {
-                        return LabeledTextTest.class.getResource("LabeledTextTest.css").toExternalForm();
-                    }
-                };
-        label.setUnderline(true);
-        stage.setScene(scene = new Scene(label));
-        stage.show();
-//        label.impl_processCSS(true);
-        labeledText = LabelSkinBaseRetriever.getText(label);
-        assertTrue(labeledText.isUnderline());
-    }
-
-
-    @Test public void test_RT_37787() {
-
-        label = new Label("test_RT_37787");
-        label.getStyleClass().clear();
-        label.setId("test-rt-37787");
-
-        scene = new Scene(new Group(label));
-        String url = getClass().getResource("LabeledTextTest.css").toExternalForm();
-        scene.getStylesheets().add(url);
-
-        label.setFont(Font.font(10));
-        assertEquals(10, label.getFont().getSize(), .1);
-
-        stage.setScene(scene);
-        stage.show();
-
-        // If the actual size is 10 * 1.5 * 1.5 = 22.5, then we've encountered RT-37787!
-        double expected = Font.getDefault().getSize() * 1.5;
-        double actual = label.getFont().getSize();
-        assertEquals(expected, actual, .1);
-
-    }
-
-    @Test public void test_RT_37787_with_inline_style() {
-
-        label = new Label("test_RT_37787_with_inline_style");
-        label.setStyle("-fx-font-size: 1.231em;");
-        label.getStyleClass().clear();
-
-        VBox root = new VBox();
-        root.setStyle("-fx-font-size: 1.5em");
-        root.getChildren().add(label);
-
-        scene = new Scene(root);
-        stage.setScene(scene);
-        stage.show();
-
-        double expected = Font.getDefault().getSize() * 1.5 * 1.231;
-        double actual = label.getFont().getSize();
-        assertEquals(expected, actual, .1);
-
-    }
-
-}
--- a/modules/controls/src/test/java/com/sun/javafx/scene/control/MenuBarMenuButtonRetriever.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.scene.control;
-
-import com.sun.javafx.scene.control.ContextMenuContent;
-import javafx.scene.control.ContextMenu;
-import javafx.scene.control.MenuButton;
-import javafx.scene.control.Skin;
-import javafx.scene.control.skin.MenuBarSkin;
-import javafx.scene.control.skin.MenuButtonSkinBase;
-import javafx.scene.layout.VBox;
-
-
-/**
- *
- */
-public class MenuBarMenuButtonRetriever {
-    
-//    // can only access the getNodeForMenu method in MenuBarSkin from this package.
-//    public static MenuButton getNodeForMenu(MenuBarSkin skin, int i) {
-//        return skin.getNodeForMenu(i);
-//    }
-    
-    public static ContextMenu getSubMenu(ContextMenuContent cmc) {
-      return cmc.getSubMenu();
-    }
-    
-//    public static Skin getPopupSkin(MenuButton mb) {
-//        return ((MenuButtonSkinBase)mb.getSkin()).popup.getSkin();
-//    }
-    
-//    public static ContextMenuContent getMenuContent(MenuButton mb) {
-//        ContextMenuContent cmc = (ContextMenuContent)getPopupSkin(mb).getNode();
-//        return cmc;
-//    }
-    
-    public static ContextMenuContent getSubMenuContent(ContextMenuContent cmc) {
-        ContextMenu cm = cmc.getSubMenu();
-        return (cm != null) ? (ContextMenuContent)cm.getSkin().getNode() : null;
-    }
-    
-    public static ContextMenuContent.MenuItemContainer getDisplayNodeForMenuItem(ContextMenuContent cmc, int i) {
-        VBox itemsContainer = cmc.getItemsContainer();
-        return (i < itemsContainer.getChildren().size()) ? 
-            (ContextMenuContent.MenuItemContainer)itemsContainer.getChildren().get(i) : null;
-    }
-    
-    public static void setCurrentFocusedIndex(ContextMenuContent cmc, int i) {
-        cmc.setCurrentFocusedIndex(i);
-    }
-    
-//    public static int getFocusedIndex(MenuBarSkin skin) {
-//        return skin.getFocusedMenuIndex();
-//    }
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/controls/src/test/java/com/sun/javafx/scene/control/MenuBarMenuButtonShim.java	Fri Sep 18 09:09:22 2015 -0400
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package com.sun.javafx.scene.control;
+
+import com.sun.javafx.scene.control.ContextMenuContent;
+import javafx.scene.control.ContextMenu;
+import javafx.scene.control.MenuButton;
+import javafx.scene.control.Skin;
+import javafx.scene.control.skin.MenuBarSkin;
+import javafx.scene.control.skin.MenuButtonSkinBase;
+import javafx.scene.layout.VBox;
+
+
+/**
+ *
+ */
+public class MenuBarMenuButtonShim {
+    
+//    // can only access the getNodeForMenu method in MenuBarSkin from this package.
+//    public static MenuButton getNodeForMenu(MenuBarSkin skin, int i) {
+//        return skin.getNodeForMenu(i);
+//    }
+    
+    public static ContextMenu getSubMenu(ContextMenuContent cmc) {
+      return cmc.getSubMenu();
+    }
+    
+//    public static Skin getPopupSkin(MenuButton mb) {
+//        return ((MenuButtonSkinBase)mb.getSkin()).popup.getSkin();
+//    }
+    
+//    public static ContextMenuContent getMenuContent(MenuButton mb) {
+//        ContextMenuContent cmc = (ContextMenuContent)getPopupSkin(mb).getNode();
+//        return cmc;
+//    }
+    
+    public static ContextMenuContent getSubMenuContent(ContextMenuContent cmc) {
+        ContextMenu cm = cmc.getSubMenu();
+        return (cm != null) ? (ContextMenuContent)cm.getSkin().getNode() : null;
+    }
+    
+    public static ContextMenuContent.MenuItemContainer getDisplayNodeForMenuItem(ContextMenuContent cmc, int i) {
+        VBox itemsContainer = cmc.getItemsContainer();
+        return (i < itemsContainer.getChildren().size()) ? 
+            (ContextMenuContent.MenuItemContainer)itemsContainer.getChildren().get(i) : null;
+    }
+    
+    public static void setCurrentFocusedIndex(ContextMenuContent cmc, int i) {
+        cmc.setCurrentFocusedIndex(i);
+    }
+    
+//    public static int getFocusedIndex(MenuBarSkin skin) {
+//        return skin.getFocusedMenuIndex();
+//    }
+}
--- a/modules/controls/src/test/java/com/sun/javafx/scene/control/behavior/AccordionBehaviorTest.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.scene.control.behavior;
-
-import org.junit.Test;
-
-/**
- */
-public class AccordionBehaviorTest {
-    // Focus Gained, the expanded pane gets focus
-    // Focus Gained and there is no expanded tab, give expanded tab focus
-    // Panes added / removed, focus should move along with it
-    // Pane gets focused, the focus model should reflect it
-
-    @Test public void focusGainedIsCaughtByBehavior() {
-
-    }
-}
--- a/modules/controls/src/test/java/com/sun/javafx/scene/control/behavior/ListViewAnchorRetriever.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.scene.control.behavior;
-
-import javafx.scene.control.ListView;
-
-public class ListViewAnchorRetriever {
-
-    // can only access the getAnchor method in ListCellBehavior from this package
-    public static int getAnchor(ListView listView) {
-        return ListCellBehavior.getAnchor(listView, -1);
-    }
-}
--- a/modules/controls/src/test/java/com/sun/javafx/scene/control/behavior/TableViewAnchorRetriever.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.scene.control.behavior;
-
-import javafx.scene.control.TablePosition;
-import javafx.scene.control.TableView;
-
-public class TableViewAnchorRetriever {
-
-    // can only access the getAnchor method in TableCellBehavior from this package
-    public static TablePosition getAnchor(TableView tableView) {
-        return (TablePosition) TableCellBehaviorBase.getAnchor(tableView, null);
-    }
-}
--- a/modules/controls/src/test/java/com/sun/javafx/scene/control/behavior/TreeTableViewAnchorRetriever.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.scene.control.behavior;
-
-import javafx.scene.control.TreeTablePosition;
-import javafx.scene.control.TreeTableView;
-
-public class TreeTableViewAnchorRetriever {
-
-    // can only access the getAnchor method in TableCellBehavior from this package
-    public static TreeTablePosition getAnchor(TreeTableView tableView) {
-        return (TreeTablePosition) TableCellBehaviorBase.getAnchor(tableView, null);
-    }
-}
--- a/modules/controls/src/test/java/com/sun/javafx/scene/control/behavior/TreeViewAnchorRetriever.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.scene.control.behavior;
-
-import javafx.scene.control.TreeView;
-
-public class TreeViewAnchorRetriever {
-
-    // can only access the getAnchor method in TreeCellBehavior from this package
-    public static int getAnchor(TreeView treeView) {
-        return TreeCellBehavior.getAnchor(treeView, -1);
-    }
-}
--- a/modules/controls/src/test/java/com/sun/javafx/scene/control/infrastructure/ContextMenuEventFirer.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.scene.control.infrastructure;
-
-import javafx.event.Event;
-import javafx.geometry.Bounds;
-import javafx.scene.Node;
-import javafx.scene.input.ContextMenuEvent;
-
-
-public final class ContextMenuEventFirer {
-    
-    private ContextMenuEventFirer() {
-        // no-op
-    }
-    
-    public static void fireContextMenuEvent(Node target) {
-        fireContextMenuEvent(target, 0, 0);
-    }
-    
-    public static void fireContextMenuEvent(Node target, double deltaX, double deltaY) {
-        Bounds screenBounds = target.localToScreen(target.getLayoutBounds());
-        double screenX = screenBounds.getMaxX() - screenBounds.getWidth() / 2.0 + deltaX;
-        double screenY = screenBounds.getMaxY() - screenBounds.getHeight() / 2.0 + deltaY;
-        
-        ContextMenuEvent evt = new ContextMenuEvent(
-                target, 
-                target, 
-                ContextMenuEvent.CONTEXT_MENU_REQUESTED, 
-                deltaX, deltaY, 
-                screenX, screenY, 
-                false,                                      // keyboardTrigger
-                null);                                      // pickResult
-        
-        Event.fireEvent(target, evt);
-    }
-}
--- a/modules/controls/src/test/java/com/sun/javafx/scene/control/infrastructure/ControlTestUtils.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,283 +0,0 @@
-/*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.scene.control.infrastructure;
-
-import javafx.beans.InvalidationListener;
-import javafx.beans.value.ObservableValue;
-import javafx.collections.ListChangeListener;
-import javafx.collections.ObservableList;
-import javafx.css.PseudoClass;
-import javafx.scene.chart.Axis;
-import javafx.scene.control.Control;
-import javafx.scene.control.MenuItem;
-import javafx.scene.control.Pagination;
-import javafx.scene.control.PopupControl;
-import javafx.scene.control.Tab;
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-import test.com.sun.javafx.binding.ExpressionHelperUtility;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-public final class ControlTestUtils {
-    private ControlTestUtils() { }
-    /*********************************************************************
-     * Following 2 methods are for Tab                                   *
-     ********************************************************************/
-    public static void assertStyleClassContains(Tab tab, String styleClass) {
-        assertStyleClassContains(
-                "The style class " + styleClass + " was not set on the Tab " + tab,
-                tab, styleClass);
-    }
-    
-    public static void assertStyleClassContains(String message, Tab tab, String styleClass) {
-        assertTrue(message, tab.getStyleClass().contains(styleClass));
-    }
-    
-    /*********************************************************************
-     * Following 2 methods are for MenuItem                                   *
-     ********************************************************************/
-    public static void assertStyleClassContains(MenuItem mi, String styleClass) {
-        assertStyleClassContains(
-                "The style class " + styleClass + " was not set on the MenuItem " + mi,
-                mi, styleClass);
-    }
-    
-    public static void assertStyleClassContains(String message, MenuItem mi, String styleClass) {
-        assertTrue(message, mi.getStyleClass().contains(styleClass));
-    }
-    
-    /*********************************************************************
-     * Following 2 methods are for Popup controls like Tooltip etc       *
-     ********************************************************************/
-    public static void assertStyleClassContains(PopupControl control, String styleClass) {
-        assertStyleClassContains(
-                "The style class " + styleClass + " was not set on the Popupcontrol " + control,
-                control, styleClass);
-    }
-    
-    public static void assertStyleClassContains(String message, PopupControl control, String styleClass) {
-        assertTrue(message, control.getStyleClass().contains(styleClass));
-    }
-    
-    /****************************************************************************
-     * Following 2 methods are for normal controls like Button, TextField etc   *
-     ****************************************************************************/
-    public static void assertStyleClassContains(Control control, String styleClass) {
-        assertStyleClassContains(
-                "The style class " + styleClass + " was not set on the control " + control,
-                control, styleClass);
-    }
-    
-    public static void assertStyleClassContains(String message, Control control, String styleClass) {
-        assertTrue(message, control.getStyleClass().contains(styleClass));
-    }
-    
-    /****************************************************************************
-     * Following 4 methods are for normal controls like Button, TextField etc   *
-     ****************************************************************************/
-    public static void assertPseudoClassExists(Control control, String pseudoClass) {
-        assertPseudoClassExists(
-                "The pseudo class " + pseudoClass + " was not set on control " + control,
-                control, pseudoClass);
-    }
-    
-    public static void assertPseudoClassExists(String message, Control control, String pseudoClass) {
-        Set<PseudoClass> allStates = control.getPseudoClassStates();
-        PseudoClass state = PseudoClass.getPseudoClass(pseudoClass);
-        assertTrue(message, allStates.contains(state));
-    }
-    
-    public static void assertPseudoClassDoesNotExist(Control control, String pseudoClass) {
-        assertPseudoClassDoesNotExist(
-                "The pseudo class " + pseudoClass + " was unexpectedly set on control " + control,
-                control, pseudoClass);
-    }
-
-    public static void assertPseudoClassDoesNotExist(String message, Control control, String pseudoClass) {
-        Set<PseudoClass> allStates = control.getPseudoClassStates();
-        PseudoClass state = PseudoClass.getPseudoClass(pseudoClass);
-        assertFalse(message, allStates.contains(state));
-    }    
-
-    /****************************************************************************
-     * Following 4 methods are for axis type like ValueAxis, NumberAxis, CategoryAxis etc*
-     ****************************************************************************/
-    public static void assertPseudoClassExists(Axis axis, String pseudoClass) {
-        assertPseudoClassExists(
-                "The pseudo class " + pseudoClass + " was not set on axis " + axis,
-                axis, pseudoClass);
-    }
-    
-    public static void assertPseudoClassExists(String message, Axis axis, String pseudoClass) {
-        Set<PseudoClass> allStates = axis.getPseudoClassStates();
-        PseudoClass state = PseudoClass.getPseudoClass(pseudoClass);
-        assertTrue(message, allStates.contains(state));
-    }
-    
-    public static void assertPseudoClassDoesNotExist(Axis axis, String pseudoClass) {
-        assertPseudoClassDoesNotExist(
-                "The pseudo class " + pseudoClass + " was unexpectedly set on axis " + axis,
-                axis, pseudoClass);
-    }
-
-    public static void assertPseudoClassDoesNotExist(String message, Axis axis, String pseudoClass) {
-        Set<PseudoClass> allStates = axis.getPseudoClassStates();
-        PseudoClass state = PseudoClass.getPseudoClass(pseudoClass);
-        assertFalse(message, allStates.contains(state));
-    }    
-    
-    /*********************************************************************
-     * Following 2 methods are for the Pagination controls               *
-     ********************************************************************/
-    public static void assertStyleClassContains(Pagination control, String styleClass) {
-        assertStyleClassContains(
-                "The style class " + styleClass + " was not set on the Pagination " + control,
-                control, styleClass);
-    }
-    
-    public static void assertStyleClassContains(String message, Pagination control, String styleClass) {
-        assertTrue(message, control.getStyleClass().contains(styleClass));
-    }
-    
-    public static void assertListenerListContains(ObservableList list, ListChangeListener listener) {
-        assertListenerListContains("The listener " + listener + " was not contained in " + list, list, listener);
-    }
-
-    public static void assertListenerListContains(String message, ObservableList list, ListChangeListener listener) {
-//        ListenerList listeners = getListenerList(list);
-//        assertTrue(message, listeners != null && listeners.contains(listener));
-    }
-
-    public static void assertListenerListDoesNotContain(ObservableList list, ListChangeListener listener) {
-        assertListenerListDoesNotContain("The listener " + listener + " was contained in " + list, list, listener);
-    }
-
-    public static void assertListenerListDoesNotContain(String message, ObservableList list, ListChangeListener listener) {
-//        ListenerList listeners = getListenerList(list);
-//        assertTrue(message, listeners == null || !listeners.contains(listener));
-    }
-
-    public static ListChangeListener getListChangeListener(Object bean, String fieldName) {
-        return (ListChangeListener) getListener(bean, fieldName);
-    }
-
-    public static void assertValueListenersContains(ObservableValue value, InvalidationListener listener) {
-        assertValueListenersContains("The listener " + listener + " was not contained in " + value, value, listener);
-    }
-
-    public static void assertValueListenersContains(String message, ObservableValue value, InvalidationListener listener) {
-        List listeners = getObservableValueListeners(value);
-        assertTrue(message, listeners != null && listeners.contains(listener));
-    }
-
-    public static void assertValueListenersDoesNotContain(ObservableValue value, InvalidationListener listener) {
-        assertValueListenersDoesNotContain("The listener " + listener + " was contained in " + value, value, listener);
-    }
-
-    public static void assertValueListenersDoesNotContain(String message, ObservableValue value, InvalidationListener listener) {
-        List listeners = getObservableValueListeners(value);
-        assertTrue(message, listeners == null || !listeners.contains(listener));
-    }
-
-    public static int getListenerCount(ObservableValue value) {
-        return getObservableValueListeners(value).size();
-    }
-
-    public static InvalidationListener getInvalidationListener(Object bean, String fieldName) {
-        return (InvalidationListener) getListener(bean, fieldName);
-    }
-
-    private static Object getListener(Object bean, String fieldName) {
-        try {
-            Class clazz = bean.getClass();
-            Field field = clazz.getDeclaredField(fieldName);
-            field.setAccessible(true);
-            return field.get(bean);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        return null;
-    }
-
-    private static List getObservableValueListeners(ObservableValue value) {
-        ArrayList results = new ArrayList();
-        results.addAll(ExpressionHelperUtility.getChangeListeners(value));
-        results.addAll(ExpressionHelperUtility.getInvalidationListeners(value));
-        return results;
-    }
-
-    // methods for temporary setting UncaughtExceptionHandler
-    public static ExceptionHandler setHandler() {
-        return new ExceptionHandler();
-    }
-
-    public static class ExceptionHandler implements Thread.UncaughtExceptionHandler {
-        private Throwable cause = null;
-        private Thread.UncaughtExceptionHandler oldHandler;
-
-        public ExceptionHandler() {
-            this.oldHandler = Thread.currentThread().getUncaughtExceptionHandler();
-            Thread.currentThread().setUncaughtExceptionHandler(this);
-        }
-
-        @Override
-        public void uncaughtException(Thread t, Throwable e) {
-            e.printStackTrace();
-            cause = e;
-        }
-
-        public void checkException() {
-            if (cause != null) {
-                if (cause instanceof Error) {
-                    throw (Error) cause;
-                } else if (cause instanceof RuntimeException) {
-                    throw (RuntimeException) cause;
-                } else {
-                    throw new AssertionError(cause);
-                }
-            }
-        }
-
-        // the test should call this method in the finally block to ensure
-        // that the handler is reset
-        public void resetHandler() {
-            Thread.currentThread().setUncaughtExceptionHandler(oldHandler);
-        }
-    }
-
-    public static void runWithExceptionHandler(Runnable r) {
-        ExceptionHandler myHandler = new ExceptionHandler();
-        try {
-            r.run();
-        } finally {
-            myHandler.resetHandler();
-        }
-        myHandler.checkException();
-    }
-}
--- a/modules/controls/src/test/java/com/sun/javafx/scene/control/infrastructure/KeyEventFirer.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
- * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.scene.control.infrastructure;
-
-import java.util.Arrays;
-import java.util.List;
-import javafx.event.EventType;
-import javafx.scene.input.KeyCode;
-import javafx.scene.input.KeyEvent;
-import javafx.event.Event;
-import javafx.event.EventTarget;
-
-
-public class KeyEventFirer {
-    
-    private final EventTarget target;
-    
-    public KeyEventFirer(EventTarget target) {
-        this.target = target;
-    }
-    
-    public void doUpArrowPress(KeyModifier... modifiers) {
-        doKeyPress(KeyCode.UP, modifiers);
-    }
-    
-    public void doDownArrowPress(KeyModifier... modifiers) {
-        doKeyPress(KeyCode.DOWN, modifiers);
-    }
-    
-    public void doLeftArrowPress(KeyModifier... modifiers) {
-        doKeyPress(KeyCode.LEFT, modifiers);
-    }
-    
-    public void doRightArrowPress(KeyModifier... modifiers) {
-        doKeyPress(KeyCode.RIGHT, modifiers);
-    }
-    
-    public void doKeyPress(KeyCode keyCode, KeyModifier... modifiers) {
-        fireEvents(createMirroredEvents(keyCode, modifiers));
-    }
-
-    public void doKeyTyped(KeyCode keyCode, KeyModifier... modifiers) {
-        fireEvents(createEvent(keyCode, KeyEvent.KEY_TYPED, modifiers));
-    }
-    
-    private void fireEvents(KeyEvent... events) {
-        for (KeyEvent evt : events) {
-            Event.fireEvent(target, evt);
-        }
-    }
-    
-    private KeyEvent[] createMirroredEvents(KeyCode keyCode, KeyModifier... modifiers) {
-        KeyEvent[] events = new KeyEvent[2];
-        events[0] = createEvent(keyCode, KeyEvent.KEY_PRESSED, modifiers);
-        events[1] = createEvent(keyCode, KeyEvent.KEY_RELEASED, modifiers);
-        return events;
-    }
-    
-    private KeyEvent createEvent(KeyCode keyCode, EventType<KeyEvent> evtType, KeyModifier... modifiers) {
-        List<KeyModifier> ml = Arrays.asList(modifiers);
-
-        return new KeyEvent(null,
-                target,                            // EventTarget
-                evtType,                           // eventType
-                evtType == KeyEvent.KEY_TYPED ? keyCode.impl_getChar() : null,  // Character (unused unless evtType == KEY_TYPED)
-                keyCode.impl_getChar(),            // text
-                keyCode,                           // KeyCode
-                ml.contains(KeyModifier.SHIFT),    // shiftDown
-                ml.contains(KeyModifier.CTRL),     // ctrlDown
-                ml.contains(KeyModifier.ALT),      // altDown
-                ml.contains(KeyModifier.META)      // metaData
-                ); 
-    }
-}
--- a/modules/controls/src/test/java/com/sun/javafx/scene/control/infrastructure/KeyModifier.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.scene.control.infrastructure;
-
-import com.sun.javafx.util.Utils;
-import test.com.sun.javafx.pgstub.StubToolkit;
-import com.sun.javafx.tk.Toolkit;
-import javafx.scene.input.KeyCode;
-
-public enum KeyModifier {
-    SHIFT,
-    CTRL,
-    ALT,
-    META;
-    
-    public static KeyModifier getShortcutKey() {
-        // The StubToolkit doesn't know what the platform shortcut key is, so 
-        // we have to tell it here (and lets not be cute about optimising this
-        // code as we need the platform shortcut key to be known elsewhere in the
-        // code base for keyboard navigation tests to work accurately).
-        if (Toolkit.getToolkit() instanceof StubToolkit) {
-            ((StubToolkit)Toolkit.getToolkit()).setPlatformShortcutKey(Utils.isMac() ? KeyCode.META : KeyCode.CONTROL);
-        } 
-        
-        switch (Toolkit.getToolkit().getPlatformShortcutKey()) {
-            case SHIFT:
-                return SHIFT;
-
-            case CONTROL:
-                return CTRL;
-
-            case ALT:
-                return ALT;
-
-            case META:
-                return META;
-
-            default:
-                return null;
-        }
-    }
-}
--- a/modules/controls/src/test/java/com/sun/javafx/scene/control/infrastructure/MouseEventFirer.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,250 +0,0 @@
-/*
- * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.scene.control.infrastructure;
-
-import javafx.event.Event;
-import javafx.event.EventTarget;
-import javafx.event.EventType;
-import javafx.geometry.BoundingBox;
-import javafx.geometry.Bounds;
-import javafx.scene.Node;
-import javafx.scene.Scene;
-import javafx.scene.input.MouseButton;
-import javafx.scene.input.MouseEvent;
-import javafx.scene.input.PickResult;
-import javafx.stage.Window;
-
-import java.util.Arrays;
-import java.util.List;
-
-public final class MouseEventFirer {
-    private final EventTarget target;
-
-    private final Scene scene;
-    private final Bounds targetBounds;
-    private StageLoader sl;
-
-    public MouseEventFirer(EventTarget target) {
-        this.target = target;
-
-        // Force the target node onto a stage so that it is accessible
-        if (target instanceof Node) {
-            Node n = (Node)target;
-            Scene s = n.getScene();
-            Window w = s == null ? null : s.getWindow();
-
-            if (w == null || w.getScene() == null) {
-                sl = new StageLoader(n);
-                scene = n.getScene();
-                targetBounds = n.getLayoutBounds();
-            } else {
-                scene = w.getScene();
-                targetBounds = n.getLayoutBounds();
-            }
-        } else if (target instanceof Scene) {
-            scene = (Scene)target;
-            sl = new StageLoader(scene);
-            targetBounds = new BoundingBox(0, 0, scene.getWidth(), scene.getHeight());
-        } else {
-            throw new RuntimeException("EventTarget of invalid type (" + target + ")");
-        }
-    }
-
-    public void dispose() {
-        if (sl != null) {
-            sl.dispose();
-        }
-    }
-
-    public void fireMousePressAndRelease(KeyModifier... modifiers) {
-        fireMouseEvent(MouseEvent.MOUSE_PRESSED, modifiers);
-        fireMouseEvent(MouseEvent.MOUSE_RELEASED, modifiers);
-    }
-
-    public void fireMousePressAndRelease(int clickCount, KeyModifier... modifiers) {
-        fireMousePressAndRelease(clickCount, 0, 0, modifiers);
-    }
-
-    public void fireMousePressAndRelease(int clickCount, double deltaX, double deltaY, KeyModifier... modifiers) {
-        fireMouseEvent(MouseEvent.MOUSE_PRESSED, MouseButton.PRIMARY, clickCount, deltaX, deltaY, modifiers);
-        fireMouseEvent(MouseEvent.MOUSE_RELEASED, MouseButton.PRIMARY, clickCount, deltaX, deltaY, modifiers);
-    }
-    
-    public void fireMouseClicked() {
-        fireMouseEvent(MouseEvent.MOUSE_CLICKED);
-    }
-    
-    public void fireMouseClicked(MouseButton button) {
-        fireMouseEvent(MouseEvent.MOUSE_CLICKED, button, 0, 0);
-    }
-    
-    public void fireMouseClicked(double deltaX, double deltaY) {
-        fireMouseEvent(MouseEvent.MOUSE_CLICKED, deltaX, deltaY);
-    }
-
-    public void fireMouseClicked(double deltaX, double deltaY, KeyModifier... modifiers) {
-        fireMouseEvent(MouseEvent.MOUSE_CLICKED, deltaX, deltaY, modifiers);
-    }
-    
-    public void fireMousePressed() {
-        fireMouseEvent(MouseEvent.MOUSE_PRESSED);
-    }
-    
-    public void fireMousePressed(MouseButton button) {
-        fireMouseEvent(MouseEvent.MOUSE_PRESSED, button, 0, 0);
-    }
-    
-    public void fireMousePressed(double deltaX, double deltaY) {
-        fireMouseEvent(MouseEvent.MOUSE_PRESSED, deltaX, deltaY);
-    }
-
-    public void fireMousePressed(double deltaX, double deltaY, KeyModifier... modifiers) {
-        fireMouseEvent(MouseEvent.MOUSE_PRESSED, deltaX, deltaY, modifiers);
-    }
-
-    public void fireMousePressed(int clickCount, double deltaX, double deltaY, KeyModifier... modifiers) {
-        fireMouseEvent(MouseEvent.MOUSE_PRESSED, MouseButton.PRIMARY, clickCount, deltaX, deltaY, modifiers);
-    }
-    
-    public void fireMouseReleased() {
-        fireMouseEvent(MouseEvent.MOUSE_RELEASED);
-    }
-    
-    public void fireMouseReleased(MouseButton button) {
-        fireMouseEvent(MouseEvent.MOUSE_RELEASED, button, 0, 0);
-    }
-    
-    public void fireMouseReleased(double deltaX, double deltaY) {
-        fireMouseEvent(MouseEvent.MOUSE_RELEASED, deltaX, deltaY);
-    }
-
-    public void fireMouseReleased(double deltaX, double deltaY, KeyModifier... modifiers) {
-        fireMouseEvent(MouseEvent.MOUSE_RELEASED, deltaX, deltaY, modifiers);
-    }
-    
-    public void fireMouseEvent(EventType<MouseEvent> evtType, KeyModifier... modifiers) {
-        fireMouseEvent(evtType, 0, 0 , modifiers);
-    }
-    
-    public void fireMouseEvent(EventType<MouseEvent> evtType, double deltaX, double deltaY, KeyModifier... modifiers) {
-        fireMouseEvent(evtType, MouseButton.PRIMARY, deltaX, deltaY, modifiers);
-    }
-    
-    public void fireMouseEvent(EventType<MouseEvent> evtType, MouseButton button, double deltaX, double deltaY, KeyModifier... modifiers) {
-        fireMouseEvent(evtType, button, 1, deltaX, deltaY, modifiers);
-    }
-    
-    private void fireMouseEvent(EventType<MouseEvent> evtType, MouseButton button, int clickCount, double deltaX, double deltaY, KeyModifier... modifiers) {
-        // calculate bounds
-        final Window window = scene.getWindow();
-        
-        // width / height of target node
-        final double w = targetBounds.getWidth();
-        final double h = targetBounds.getHeight();
-        
-        // x / y click position is centered
-        final double x = w / 2.0 + deltaX;
-        final double y = h / 2.0 + deltaY;
-        
-        final double sceneX = x + scene.getX() + deltaX;
-        final double sceneY = y + scene.getY() + deltaY;
-        
-        final double screenX = sceneX + window.getX();
-        final double screenY = sceneY + window.getY();
-        
-        final List<KeyModifier> ml = Arrays.asList(modifiers);
-        
-        final PickResult pickResult = new PickResult(target, sceneX, sceneY);
-        
-        MouseEvent evt = new MouseEvent(
-                target, 
-                target, 
-                evtType, 
-                x, y, 
-                screenX, screenY, 
-                button, 
-                clickCount,
-                ml.contains(KeyModifier.SHIFT),    // shiftDown
-                ml.contains(KeyModifier.CTRL),     // ctrlDown
-                ml.contains(KeyModifier.ALT),      // altDown
-                ml.contains(KeyModifier.META),     // metaData
-                button == MouseButton.PRIMARY,     // primary button
-                button == MouseButton.MIDDLE,      // middle button
-                button == MouseButton.SECONDARY,   // secondary button
-                false,                             // synthesized 
-                button == MouseButton.SECONDARY,   // is popup trigger
-                true,                              // still since pick
-                pickResult);                       // pick result
-        
-//        // lets see the click position.
-//        // Unfortunately this doesn't work at present because StubToolkit 
-//        // cannot generate snapshots
-//        WritableImage image = target.snapshot(null, null);
-//        Canvas canvas = new Canvas(image.getWidth(), image.getHeight());
-//        GraphicsContext g = canvas.getGraphicsContext2D();
-//        g.drawImage(image, 0, 0);
-//        
-//        g.setFill(Color.RED);
-//        g.setStroke(Color.WHITE);
-//        g.fillOval(deltaX - 2, deltaY - 2, 4, 4);
-//        g.strokeOval(deltaX - 2, deltaY - 2, 4, 4);
-//        
-//        Stage stage = new Stage();
-//        stage.setScene(new Scene(new Pane(canvas), image.getWidth(), image.getHeight()));
-//        stage.show();
-        
-        Event.fireEvent(target, evt);
-    }
-    
-//    public void fireMouseEvent(Scene target, EventType<MouseEvent> evtType, MouseButton button, int clickCount, double deltaX, double deltaY, KeyModifier... modifiers) {
-//        List<KeyModifier> ml = Arrays.asList(modifiers);
-//        
-//        double screenX = target.getWindow().getX() + target.getX() + deltaX;
-//        double screenY = target.getWindow().getY() + target.getY() + deltaY;
-//        
-//        MouseEvent evt = new MouseEvent(
-//                target, 
-//                target, 
-//                evtType, 
-//                deltaX, deltaY, 
-//                screenX, screenY, 
-//                button, 
-//                clickCount,
-//                ml.contains(KeyModifier.SHIFT),    // shiftDown
-//                ml.contains(KeyModifier.CTRL),     // ctrlDown
-//                ml.contains(KeyModifier.ALT),      // altDown
-//                ml.contains(KeyModifier.META),     // metaData
-//                button == MouseButton.PRIMARY,     // primary button
-//                button == MouseButton.MIDDLE,      // middle button
-//                button == MouseButton.SECONDARY,   // secondary button
-//                true,                              // synthesized 
-//                button == MouseButton.SECONDARY,   // is popup trigger
-//                false,                             // still since pick
-//                null);                             // pick result
-//        
-//        Event.fireEvent(target, evt);
-//    }
-}
--- a/modules/controls/src/test/java/com/sun/javafx/scene/control/infrastructure/MouseEventGenerator.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.scene.control.infrastructure;
-
-import javafx.event.EventType;
-import javafx.scene.input.MouseButton;
-import javafx.scene.input.MouseEvent;
-
-public final class MouseEventGenerator {
-
-    public static MouseEvent generateMouseEvent(EventType<MouseEvent> type,
-            double x, double y) {
-
-        MouseButton button = MouseButton.NONE;
-        if (type == MouseEvent.MOUSE_PRESSED ||
-                type == MouseEvent.MOUSE_RELEASED ||
-                type == MouseEvent.MOUSE_DRAGGED) {
-            button = MouseButton.PRIMARY;
-        }
-        
-        boolean primaryButtonDown = false;
-
-        if (type == MouseEvent.MOUSE_PRESSED ||
-                type == MouseEvent.MOUSE_DRAGGED) {
-            primaryButtonDown = true;
-        }
-
-        if (type == MouseEvent.MOUSE_RELEASED) {
-            primaryButtonDown = false;
-        }
-
-        MouseEvent event = new MouseEvent(type, x, y, x, y, button,
-                1, false, false, false, false, primaryButtonDown,
-                false, false, false, false, false, null);
-
-        return event;
-    }
-}
--- a/modules/controls/src/test/java/com/sun/javafx/scene/control/infrastructure/StageLoader.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package com.sun.javafx.scene.control.infrastructure;
-
-import com.sun.javafx.tk.Toolkit;
-import javafx.scene.Group;
-import javafx.scene.Node;
-import javafx.scene.Scene;
-import javafx.stage.Stage;
-
-public class StageLoader {
-
-    private Group group;
-    private Scene scene;
-    private Stage stage;
-
-    public StageLoader(Node... content) {
-        if (content == null || content.length == 0) {
-            throw new IllegalArgumentException("Null / empty content not allowed");
-        }
-        group = new Group();
-        group.getChildren().setAll(content);
-        scene = new Scene(group);
-        stage = new Stage();
-        stage.setScene(scene);
-        stage.show();
-    }
-    
-    public StageLoader(Scene scene) {
-        stage = new Stage();
-        stage.setScene(scene);
-        stage.show();
-    }
-
-    public Stage getStage() {
-        return stage;
-    }
-    
-    public void dispose() {
-        if (group != null) {
-            group.getChildren().clear();
-            group = null;
-        }
-        if (stage != null) {
-            stage.hide();
-            scene = null;
-            stage = null;
-        }
-    }
-}
--- a/modules/controls/src/test/java/com/sun/javafx/scene/control/infrastructure/VirtualFlowTestUtils.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,431 +0,0 @@
-/*
- * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package com.sun.javafx.scene.control.infrastructure;
-
-import static org.junit.Assert.assertNotNull;
-
-import javafx.geometry.Orientation;
-import javafx.scene.Node;
-import javafx.scene.control.*;
-import javafx.scene.control.skin.ComboBoxListViewSkin;
-import com.sun.javafx.scene.control.LabeledText;
-import javafx.scene.control.skin.NestedTableColumnHeader;
-import javafx.scene.control.skin.TableColumnHeader;
-import javafx.scene.control.skin.TableHeaderRow;
-import javafx.scene.control.skin.TableViewSkinBase;
-import javafx.scene.control.skin.VirtualFlow;
-import com.sun.javafx.scene.control.VirtualScrollBar;
-import javafx.util.Callback;
-import java.util.List;
-
-import static org.junit.Assert.*;
-
-public class VirtualFlowTestUtils {
-
-    public static void assertListContainsItemsInOrder(final List items, final Object... expected) {
-        assertEquals(expected.length, items.size());
-        for (int i = 0; i < expected.length; i++) {
-            Object item = items.get(i);
-            assertEquals(expected[i], item);
-        }
-    }
-
-    public static void clickOnRow(final Control control, int row, KeyModifier... modifiers) {
-        clickOnRow(control, row, 1, false, modifiers);
-    }
-
-    public static void clickOnRow(final Control control, int row, int clickCount, KeyModifier... modifiers) {
-        clickOnRow(control, row, clickCount, false, modifiers);
-    }
-
-    public static void clickOnRow(final Control control, int row, boolean ignoreChildren, KeyModifier... modifiers) {
-        clickOnRow(control, row, 1, ignoreChildren, modifiers);
-    }
-
-    // ignore children allows clicking on the row, rather than a child in that row.
-    // This is good for testing, for example, TableRowBehavior
-    public static void clickOnRow(final Control control, int row, int clickCount, boolean ignoreChildren, KeyModifier... modifiers) {
-        IndexedCell cell = VirtualFlowTestUtils.getCell(control, row);
-
-        if (! ignoreChildren && ((cell instanceof TableRow) || (cell instanceof TreeTableRow))) {
-            for (Node n : cell.getChildrenUnmodifiable()) {
-                if (! (n instanceof IndexedCell)) {
-                    continue;
-                }
-                IndexedCell<?> childCell = (IndexedCell<?>)n;
-                MouseEventFirer mouse = new MouseEventFirer(childCell);
-                mouse.fireMousePressAndRelease(clickCount, modifiers);
-                mouse.dispose();
-                break;
-            }
-        } else {
-            if (ignoreChildren) {
-                // special case when we want to click on the row rather than its
-                // children (e.g. TableRow rather than its TableCell)
-                MouseEventFirer mouse = new MouseEventFirer(cell);
-                mouse.fireMousePressed(cell.getWidth(), cell.getHeight() / 2.0, modifiers);
-                mouse.fireMouseReleased(cell.getWidth(), cell.getHeight() / 2.0, modifiers);
-                mouse.dispose();
-            } else {
-                MouseEventFirer mouse = new MouseEventFirer(cell);
-                mouse.fireMousePressAndRelease(clickCount, modifiers);
-                mouse.dispose();
-            }
-        }
-    }
-
-    public static void assertRowsEmpty(final Control control, final int startRow, final int endRow) {
-        assertRows(control, startRow, endRow, true);
-    }
-
-    public static void assertRowsNotEmpty(final Control control, final int startRow, final int endRow) {
-        assertRows(control, startRow, endRow, false);
-    }
-
-    public static void assertCellEmpty(IndexedCell cell) {
-        if (cell instanceof TableRow || cell instanceof TreeTableRow) {
-            for (Node n : cell.getChildrenUnmodifiable()) {
-                if (! (n instanceof IndexedCell)) {
-                    continue;
-                }
-                IndexedCell<?> childCell = (IndexedCell<?>)n;
-                assertCellEmpty(childCell);
-            }
-        } else {
-            final String text = cell.getText();
-            assertTrue("Expected null, found '" + text + "'", text == null || text.isEmpty());
-
-            final Node graphic = cell.getGraphic();
-            assertTrue("Expected null graphic, found " + graphic, graphic == null);
-        }
-    }
-
-    public static void assertCellNotEmpty(IndexedCell cell) {
-        if (cell instanceof TableRow || cell instanceof TreeTableRow) {
-            for (Node n : cell.getChildrenUnmodifiable()) {
-                if (! (n instanceof IndexedCell)) {
-                    continue;
-                }
-                IndexedCell<?> childCell = (IndexedCell<?>)n;
-                assertCellNotEmpty(childCell);
-            }
-        } else {
-            final String text = cell.getText();
-            final Node graphic = cell.getGraphic();
-            assertTrue("Expected a non-null text or graphic property",
-                       (text != null && ! text.isEmpty()) || graphic != null);
-        }
-    }
-
-    private static void assertRows(final Control control, final int startRow, final int endRow, final boolean expectEmpty) {
-        Callback<IndexedCell<?>, Void> callback = indexedCell -> {
-            boolean hasChildrenCell = false;
-            for (Node n : indexedCell.getChildrenUnmodifiable()) {
-                if (! (n instanceof IndexedCell)) {
-                    continue;
-                }
-                hasChildrenCell = true;
-                IndexedCell<?> childCell = (IndexedCell<?>)n;
-
-                if (expectEmpty) {
-                    assertCellEmpty(childCell);
-                } else {
-                    assertCellNotEmpty(childCell);
-                }
-            }
-
-            if (! hasChildrenCell) {
-                if (expectEmpty) {
-                    assertCellEmpty(indexedCell);
-                } else {
-                    assertCellNotEmpty(indexedCell);
-                }
-            }
-            return null;
-        };
-
-        assertCallback(control, startRow, endRow, callback);
-    }
-
-    public static void assertCellTextEquals(final Control control, final int index, final String... expected) {
-        if (expected == null || expected.length == 0) return;
-
-        Callback<IndexedCell<?>, Void> callback = indexedCell -> {
-            if (indexedCell.getIndex() != index) return null;
-
-            if (expected.length == 1) {
-                assertEquals(expected[0], indexedCell.getText());
-            } else {
-                int jump = 0;
-                for (int i = 0; i < expected.length; i++) {
-                    Node childNode = indexedCell.getChildrenUnmodifiable().get(i + jump);
-                    String text = null;
-                    if (! (childNode instanceof IndexedCell)) {
-                        jump++;
-                        continue;
-                    }
-
-                    text = ((IndexedCell) childNode).getText();
-                    assertEquals(expected[i], text);
-                }
-            }
-            return null;
-        };
-
-        assertCallback(control, index, index + 1, callback);
-    }
-
-    public static void assertTableCellTextEquals(final Control control, final int row, final int column, final String expected) {
-        Callback<IndexedCell<?>, Void> callback = indexedCell -> {
-            if (indexedCell.getIndex() != row) return null;
-
-            int _column = column;
-
-            // we need to account for TreeTableView having LabeledText node in the TreeTableRow
-            if (indexedCell instanceof TreeTableRow) {
-                _column++;
-            }
-
-            IndexedCell cell = (IndexedCell) indexedCell.getChildrenUnmodifiable().get(_column);
-            assertEquals(expected, cell.getText());
-            return null;
-        };
-
-        assertCallback(control, row, row + 1, callback);
-    }
-
-    // used by TreeView / TreeTableView to ensure the correct indentation
-    // (although note that it has only been developed so far for TreeView)
-    public static void assertLayoutX(final Control control, final int startRow, final int endRow, final double expectedLayoutX) {
-        Callback<IndexedCell<?>, Void> callback = indexedCell -> {
-            List<Node> childrenOfCell = indexedCell.getChildrenUnmodifiable();
-            LabeledText labeledText = null;
-            for (int j = 0; j < childrenOfCell.size(); j++) {
-                Node child = childrenOfCell.get(j);
-                if (child instanceof LabeledText) {
-                    labeledText = (LabeledText) child;
-                }
-            }
-
-            String error = "Element in row " + indexedCell.getIndex() + " has incorrect indentation. "
-                    + "Expected " + expectedLayoutX + ", but found " + labeledText.getLayoutX();
-            assertEquals(error, expectedLayoutX, labeledText.getLayoutX(), 0.0);
-            return null;
-        };
-
-        assertCallback(control, startRow, endRow, callback);
-    }
-
-    public static int getCellCount(final Control control) {
-        return getVirtualFlow(control).getCellCount();
-    }
-
-    public static IndexedCell getCell(final Control control, final int index) {
-        return getVirtualFlow(control).getCell(index);
-    }
-
-    public static IndexedCell getCell(final Control control, final int row, final int column) {
-        IndexedCell rowCell = getVirtualFlow(control).getCell(row);
-        if (column == -1) {
-            return rowCell;
-        }
-
-        int count = -1;
-        for (Node n : rowCell.getChildrenUnmodifiable()) {
-            if (! (n instanceof IndexedCell)) {
-                continue;
-            }
-            count++;
-            if (count == column) {
-                return (IndexedCell) n;
-            }
-        }
-        return null;
-    }
-
-    public static void assertCallback(final Control control, final int startRow, final int endRow, final Callback<IndexedCell<?>, Void> callback) {
-        final VirtualFlow<?> flow = getVirtualFlow(control);
-        final int sheetSize = flow.getCellCount();
-
-        // NOTE: we used to only go to the end of the sheet, but now we go past that if
-        // endRow desires. This is to allow for us to test cells that are visually
-        // shown, but empty.
-        final int end = endRow == -1 ? sheetSize : endRow; //Math.min(endRow, sheetSize);
-
-        for (int row = startRow; row < end; row++) {
-            // old approach:
-            // callback.call((IndexedCell<?>)sheet.getChildren().get(row));
-
-            // new approach:
-            callback.call(flow.getCell(row));
-        }
-    }
-
-    public static void assertGraphicIsVisible(final Control control, int row) {
-        assertGraphicIsVisible(control, row, -1);
-    }
-
-    public static void assertGraphicIsVisible(final Control control, int row, int column) {
-        Cell cell = getCell(control, row, column);
-        Node graphic = cell.getGraphic();
-        assertNotNull(graphic);
-        assertTrue(graphic.isVisible() && graphic.getOpacity() == 1.0);
-    }
-
-    public static void assertGraphicIsNotVisible(final Control control, int row) {
-        assertGraphicIsNotVisible(control, row, -1);
-    }
-
-    public static void assertGraphicIsNotVisible(final Control control, int row, int column) {
-        Cell cell = getCell(control, row, column);
-        Node graphic = cell.getGraphic();
-        if (graphic == null) {
-            return;
-        }
-
-        assertNotNull(graphic);
-        assertTrue(!graphic.isVisible() || graphic.getOpacity() == 0.0);
-    }
-
-    public static void assertCellCount(final Control control, final int expected) {
-        assertEquals(getVirtualFlow(control).getCellCount(), expected);
-    }
-
-    public static void assertTableHeaderColumnExists(final Control control, final TableColumnBase column, boolean expected) {
-        TableHeaderRow headerRow = getTableHeaderRow(control);
-
-        NestedTableColumnHeader rootHeader = getNestedTableColumnHeader(headerRow);
-        boolean match = false;
-        for (TableColumnHeader header : rootHeader.getColumnHeaders()) {
-            match = column.equals(header.getTableColumn());
-            if (match) break;
-        }
-
-        if (expected) {
-            assertTrue(match);
-        } else {
-            assertFalse(match);
-        }
-    }
-    
-    public static boolean BLOCK_STAGE_LOADER_DISPOSE = false;
-
-    public static VirtualFlow<?> getVirtualFlow(Control control) {
-        StageLoader sl = null;
-        boolean stageLoaderCreated = false;
-        if (control.getScene() == null) {
-            sl = new StageLoader(control);
-            stageLoaderCreated = true;
-        }
-
-        VirtualFlow<?> flow;
-        if (control instanceof ComboBox) {
-            final ComboBox cb = (ComboBox) control;
-            final ComboBoxListViewSkin skin = (ComboBoxListViewSkin) cb.getSkin();
-            control = (ListView) skin.getPopupContent();
-        }
-
-        flow = (VirtualFlow<?>)control.lookup("#virtual-flow");
-        
-        if (stageLoaderCreated && sl != null && ! BLOCK_STAGE_LOADER_DISPOSE) {
-            sl.dispose();
-        }
-
-        return flow;
-    }
-
-    public static VirtualScrollBar getVirtualFlowVerticalScrollbar(final Control control) {
-        return getVirtualFlowScrollbar(control, Orientation.VERTICAL);
-    }
-
-    public static VirtualScrollBar getVirtualFlowHorizontalScrollbar(final Control control) {
-        return getVirtualFlowScrollbar(control, Orientation.HORIZONTAL);
-    }
-
-    // this method must be called with the control having been shown in a
-    // stage (e.g. via StageLoader). Be sure to dispose too!
-    public static TableHeaderRow getTableHeaderRow(final Control control) {
-        if (control.getSkin() == null) {
-            throw new IllegalStateException("getTableHeaderRow requires the control to be visible in a stage");
-        }
-
-        TableViewSkinBase<?,?,?,?,?> skin = (TableViewSkinBase) control.getSkin();
-        TableHeaderRow headerRow = null;
-        for (Node n : skin.getChildren()) {
-            if (n instanceof TableHeaderRow) {
-                headerRow = (TableHeaderRow) n;
-                break;
-            }
-        }
-
-        return headerRow;
-    }
-
-    private static VirtualScrollBar getVirtualFlowScrollbar(final Control control, Orientation orientation) {
-        VirtualFlow<?> flow = getVirtualFlow(control);
-        VirtualScrollBar scrollBar = null;
-        for (Node child : flow.getChildrenUnmodifiable()) {
-            if (child instanceof VirtualScrollBar) {
-                if (((VirtualScrollBar)child).getOrientation() == orientation) {
-                    scrollBar = (VirtualScrollBar) child;
-                }
-            }
-        }
-
-        return scrollBar;
-    }
-
-    public static TableColumnHeader getTableColumnHeader(Control table, TableColumnBase<?,?> column) {
-        TableHeaderRow headerRow = VirtualFlowTestUtils.getTableHeaderRow(table);
-        return findColumnHeader(getNestedTableColumnHeader(headerRow), column);
-    }
-
-    private static TableColumnHeader findColumnHeader(NestedTableColumnHeader nestedHeader, TableColumnBase<?,?> column) {
-        for (TableColumnHeader header : nestedHeader.getColumnHeaders()) {
-            if (header instanceof NestedTableColumnHeader) {
-                TableColumnHeader result = findColumnHeader((NestedTableColumnHeader)header, column);
-                if (result != null) {
-                    return result;
-                }
-            } else {
-                if (column.equals(header.getTableColumn())) {
-                    return header;
-                }
-            }
-        }
-        return null;
-    }
-
-    public static NestedTableColumnHeader getNestedTableColumnHeader(TableHeaderRow headerRow) {
-        NestedTableColumnHeader rootHeader = null;
-
-        for (Node n : headerRow.getChildren()) {
-            if (n instanceof NestedTableColumnHeader) {
-                rootHeader = (NestedTableColumnHeader) n;
-            }
-        }
-        return rootHeader;
-    }
-}
--- a/modules/controls/src/test/java/com/sun/javafx/scene/control/inputmap/InputMapTest.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,810 +0,0 @@
-/*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package com.sun.javafx.scene.control.inputmap;
-
-import javafx.event.Event;
-import javafx.event.EventType;
-import javafx.scene.Node;
-import javafx.scene.input.KeyCode;
-import javafx.scene.input.KeyEvent;
-import javafx.scene.input.MouseButton;
-import javafx.scene.input.MouseEvent;
-import javafx.scene.input.PickResult;
-import javafx.scene.layout.Region;
-import javafx.scene.shape.Rectangle;
-import org.junit.Before;
-import org.junit.Test;
-
-import java.util.Optional;
-import java.util.function.Predicate;
-
-import static org.junit.Assert.*;
-import static javafx.scene.input.KeyCode.*;
-
-/**
- * Thoughts / Considerations (search for [1], etc in comments below):
- *  [1] It is possible that there are multiple mappings for a single key. This
- *      could for example happen when there are a hierarchy of InputMaps.
- *      Should lookupMapping return just the best (most specific) result, or a
- *      list of all applicable mappings? A case where a list is useful is if you
- *      want to remove all mappings of a certain type.
- *  [2] If we add an event for, say, MouseEvent.MOUSE_PRESSED, and lookup for
- *      mappings for MOUSE_EVENT.ANY, should we get the MOUSE_PRESSED mapping
- *      or not?
- */
-
-public class InputMapTest {
-
-    @Test public void dummy() {
-        // no-op
-    }
-
-//    private Thread.UncaughtExceptionHandler exceptionHandler;
-//    private int exceptionCount;
-//
-//    private int counter = 0;
-//
-//    private InputMap<Node> createDummyInputMap() {
-//        Rectangle dummy = new Rectangle();
-//        InputMap<Node> inputMap = new InputMap<>(dummy);
-//        return inputMap;
-//    }
-//
-//    private Region createInputMapOnNode() {
-//        Region dummy = new Region();
-//        dummy.setInputMap(new InputMap<>(dummy));
-//        return dummy;
-//    }
-//
-//    private void installExceptionHandler(Class<? extends Exception> expected) {
-//        // get the current exception handler before replacing with our own,
-//        // as ListListenerHelp intercepts the exception otherwise
-//        exceptionHandler = Thread.currentThread().getUncaughtExceptionHandler();
-//        Thread.currentThread().setUncaughtExceptionHandler((t, e) -> {
-//            exceptionCount++;
-//            if (e.getClass() != expected) {
-//                fail("We don't expect any exceptions in this test!");
-//            }
-//        });
-//    }
-//
-//    private int removeExceptionHandler() {
-//        Thread.currentThread().setUncaughtExceptionHandler(exceptionHandler);
-//        return exceptionCount;
-//    }
-//
-//    @Before public void setup() {
-//        counter = 0;
-//        exceptionCount = 0;
-//    }
-//
-//    private MouseEvent createMouseEvent(Node target, EventType<MouseEvent> evtType) {
-//        double x, y, screenX, screenY;
-//        x = y = screenX = screenY = 0;
-//        int clickCount = 0;
-//        MouseButton button = MouseButton.PRIMARY;
-//        final PickResult pickResult = new PickResult(target, 0, 0);
-//
-//        MouseEvent evt = new MouseEvent(
-//                target,
-//                target,
-//                evtType,
-//                x, y,
-//                screenX, screenY,
-//                button,
-//                clickCount,
-//                false,                             // shiftDown
-//                false,                             // ctrlDown
-//                false,                             // altDown
-//                false,                             // metaData
-//                button == MouseButton.PRIMARY,     // primary button
-//                button == MouseButton.MIDDLE,      // middle button
-//                button == MouseButton.SECONDARY,   // secondary button
-//                false,                             // synthesized
-//                button == MouseButton.SECONDARY,   // is popup trigger
-//                true,                              // still since pick
-//                pickResult);                       // pick result
-//
-//        return evt;
-//    }
-//
-//    private KeyEvent createKeyEvent(Node target, EventType<KeyEvent> evtType, KeyCode keyCode) {
-//        return new KeyEvent(null,
-//                target,                            // EventTarget
-//                evtType,                           // eventType
-//                evtType == KeyEvent.KEY_TYPED ? keyCode.impl_getChar() : null,  // Character (unused unless evtType == KEY_TYPED)
-//                keyCode.impl_getChar(),            // text
-//                keyCode,                           // KeyCode
-//                false,                             // shiftDown
-//                false,                             // ctrlDown
-//                false,                             // altDown
-//                false                              // metaData
-//        );
-//    }
-//
-//    /***************************************************************************
-//     *
-//     * Misc
-//     *
-//     **************************************************************************/
-//
-//    @Test public void testNodeIsSet() {
-//        assertNotNull(createDummyInputMap().getNode());
-//    }
-//
-//    @Test(expected = IllegalArgumentException.class)
-//    public void testNullNodeIsException() {
-//        new InputMap<>(null);
-//    }
-//
-//    @Test public void testNodeHasNullInputMap() {
-//        Region r = new Region();
-//        assertNull(r.getInputMap());
-//    }
-//
-//
-//    /***************************************************************************
-//     *
-//     * Child InputMap
-//     *
-//     **************************************************************************/
-//
-//    @Test public void testDefault_childMapIsNotNullAndEmpty() {
-//        InputMap<?> map = createDummyInputMap();
-//        assertNotNull(map.getChildInputMaps());
-//        assertTrue(map.getChildInputMaps().isEmpty());
-//    }
-//
-//    @Test public void testWrite_childInputMap_sameNode() {
-//        Rectangle dummy = new Rectangle();
-//        InputMap<Node> inputMap = new InputMap<>(dummy);
-//        InputMap<Node> childMap = new InputMap<>(dummy);
-//
-//        inputMap.getChildInputMaps().add(childMap);
-//        assertFalse(inputMap.getChildInputMaps().isEmpty());
-//        assertEquals(1, inputMap.getChildInputMaps().size());
-//        assertEquals(childMap, inputMap.getChildInputMaps().get(0));
-//    }
-//
-//    @Test public void testWrite_childInputMap_differentNode() {
-//        installExceptionHandler(IllegalArgumentException.class);
-//        Rectangle dummy = new Rectangle();
-//        Rectangle dummy2 = new Rectangle();
-//        InputMap<Node> inputMap = new InputMap<>(dummy);
-//        InputMap<Node> childMap = new InputMap<>(dummy2);
-//        inputMap.getChildInputMaps().add(childMap);
-//
-//        // we expect an exception, and we also expect the bad child input map
-//        // to be removed
-//        assertTrue(inputMap.getChildInputMaps().isEmpty());
-//
-//        removeExceptionHandler();
-//        assertEquals(1, exceptionCount);
-//    }
-//
-//
-//    /***************************************************************************
-//     *
-//     * Mappings
-//     *
-//     **************************************************************************/
-//
-//    @Test public void testDefault_mappingsIsNotNullAndEmpty() {
-//        InputMap<?> map = createDummyInputMap();
-//        assertNotNull(map.getMappings());
-//        assertTrue(map.getMappings().isEmpty());
-//    }
-//
-//    @Test public void testWrite_mappings() {
-//        InputMap<?> map = createDummyInputMap();
-//
-//        InputMap.KeyMapping mapping = new InputMap.KeyMapping(J, e -> { });
-//        map.getMappings().add(mapping);
-//        assertFalse(map.getMappings().isEmpty());
-//        assertEquals(1, map.getMappings().size());
-//        assertEquals(mapping, map.getMappings().get(0));
-//    }
-//
-//    @Test public void testWrite_mappings_nullMapping() {
-//        installExceptionHandler(IllegalArgumentException.class);
-//        InputMap<?> map = createDummyInputMap();
-//        map.getMappings().add(null);
-//
-//        // we expect an exception, and we also expect the bad mapping to be removed
-//        assertTrue(map.getMappings().isEmpty());
-//
-//        removeExceptionHandler();
-//        assertEquals(1, exceptionCount);
-//    }
-//
-//
-//
-//    /***************************************************************************
-//     *
-//     * Interceptor
-//     *
-//     **************************************************************************/
-//
-//    @Test public void testDefault_interceptorIsNull() {
-//        InputMap<?> map = createDummyInputMap();
-//        assertNull(map.getInterceptor());
-//    }
-//
-//    @Test public void testWrite_interceptors() {
-//        InputMap<?> map = createDummyInputMap();
-//
-//        Predicate<Event> p = e -> {
-//            System.out.println("Hello Interceptor");
-//            return true;
-//        };
-//        map.setInterceptor(p);
-//        assertEquals(p, map.getInterceptor());
-//    }
-//
-//
-//
-//    /***************************************************************************
-//     *
-//     * Mapping lookup
-//     *
-//     **************************************************************************/
-//
-//    @Test public void testLookup_nullObject() {
-//        InputMap<?> map = createDummyInputMap();
-//        Optional<InputMap.Mapping<?>> returnedMapping = map.lookupMapping(null);
-//        assertNotNull(returnedMapping);
-//        assertFalse(returnedMapping.isPresent());
-//    }
-//
-//    @Test public void testLookup_mappingThatIsNotInstalled() {
-//        InputMap<?> map = createDummyInputMap();
-//        Optional<InputMap.Mapping<?>> returnedMapping = map.lookupMapping(J);
-//        assertNotNull(returnedMapping);
-//        assertFalse(returnedMapping.isPresent());
-//    }
-//
-//    @Test public void testLookup_keyMapping_mappingThatIsInstalled() {
-//        InputMap<?> map = createDummyInputMap();
-//        InputMap.KeyMapping mapping = new InputMap.KeyMapping(J, e -> { });
-//        map.getMappings().add(mapping);
-//
-//        Optional<InputMap.Mapping<?>> returnedMapping = map.lookupMapping(new KeyBinding(J));
-//        assertNotNull(returnedMapping);
-//        assertTrue(returnedMapping.isPresent());
-//    }
-//
-//    @Test public void testLookup_mouseMapping_mappingThatIsInstalled_usingSpecificEventType() {
-//        InputMap<?> map = createDummyInputMap();
-//        InputMap.MouseMapping mapping = new InputMap.MouseMapping(MouseEvent.MOUSE_PRESSED, e -> { });
-//        map.getMappings().add(mapping);
-//
-//        Optional<InputMap.Mapping<?>> returnedMapping = map.lookupMapping(MouseEvent.MOUSE_PRESSED);
-//        assertNotNull(returnedMapping);
-//        assertTrue(returnedMapping.isPresent());
-//    }
-//
-//    // TODO [1], [2]
-////    @Test public void testLookup_mouseMapping_mappingThatIsInstalled_usingAnyEventType() {
-////        InputMap<?> map = createDummyInputMap();
-////        InputMap.MouseMapping mapping = new InputMap.MouseMapping(MouseEvent.MOUSE_PRESSED, e -> { });
-////        map.getMappings().add(mapping);
-////
-////        Optional<InputMap.Mapping<?>> returnedMapping = map.lookupMapping(MouseEvent.ANY);
-////        assertNotNull(returnedMapping);
-////        assertTrue(returnedMapping.isPresent());
-////    }
-//
-//    @Test public void testLookup_keyMapping_mappingThatIsInstalledOnChildMap() {
-//        Rectangle dummy = new Rectangle();
-//        InputMap<Node> inputMap = new InputMap<>(dummy);
-//        InputMap<Node> childMap = new InputMap<>(dummy);
-//        inputMap.getChildInputMaps().add(childMap);
-//
-//        InputMap.KeyMapping mapping = new InputMap.KeyMapping(J, e -> { });
-//        childMap.getMappings().add(mapping);
-//
-//        Optional<InputMap.Mapping<?>> returnedMapping = inputMap.lookupMapping(new KeyBinding(J));
-//        assertNotNull(returnedMapping);
-//        assertTrue(returnedMapping.isPresent());
-//    }
-//
-//    @Test public void testLookup_keyMapping_mappingThatIsInstalledOnChildMap_thenDetachedFromParent_lookAtParent() {
-//        Rectangle dummy = new Rectangle();
-//        InputMap<Node> inputMap = new InputMap<>(dummy);
-//        InputMap<Node> childMap = new InputMap<>(dummy);
-//        inputMap.getChildInputMaps().add(childMap);
-//
-//        InputMap.KeyMapping mapping = new InputMap.KeyMapping(J, e -> { });
-//        childMap.getMappings().add(mapping);
-//
-//        inputMap.getChildInputMaps().remove(childMap);
-//
-//        Optional<InputMap.Mapping<?>> returnedMapping = inputMap.lookupMapping(new KeyBinding(J));
-//        assertNotNull(returnedMapping);
-//        assertFalse(returnedMapping.isPresent());
-//    }
-//
-//    @Test public void testLookup_keyMapping_mappingThatIsInstalledOnChildMap_thenDetachedFromParent_lookAtChild() {
-//        Rectangle dummy = new Rectangle();
-//        InputMap<Node> inputMap = new InputMap<>(dummy);
-//        InputMap<Node> childMap = new InputMap<>(dummy);
-//        inputMap.getChildInputMaps().add(childMap);
-//
-//        InputMap.KeyMapping mapping = new InputMap.KeyMapping(J, e -> { });
-//        childMap.getMappings().add(mapping);
-//
-//        inputMap.getChildInputMaps().remove(childMap);
-//
-//        Optional<InputMap.Mapping<?>> returnedMapping = childMap.lookupMapping(new KeyBinding(J));
-//        assertNotNull(returnedMapping);
-//        assertTrue(returnedMapping.isPresent());
-//    }
-//
-//    @Test public void testLookup_keyMapping_mappingThatIsInstalledOnParentMapShouldNotBeVisibleToChildMap() {
-//        Rectangle dummy = new Rectangle();
-//        InputMap<Node> inputMap = new InputMap<>(dummy);
-//        InputMap<Node> childMap = new InputMap<>(dummy);
-//        inputMap.getChildInputMaps().add(childMap);
-//
-//        InputMap.KeyMapping mapping = new InputMap.KeyMapping(J, e -> { });
-//        inputMap.getMappings().add(mapping);
-//
-//        Optional<InputMap.Mapping<?>> returnedMapping = childMap.lookupMapping(new KeyBinding(J));
-//        assertNotNull(returnedMapping);
-//        assertFalse(returnedMapping.isPresent());
-//    }
-//
-//    @Test public void testLookup_getMostSpecificMapping_inParent() {
-//        Rectangle dummy = new Rectangle();
-//        InputMap<Node> inputMap = new InputMap<>(dummy);
-//        InputMap<Node> childMap = new InputMap<>(dummy);
-//        inputMap.getChildInputMaps().add(childMap);
-//
-//        InputMap.KeyMapping mapping1 = new InputMap.KeyMapping(new KeyBinding(J).shift(), e -> { });
-//        inputMap.getMappings().add(mapping1);
-//        InputMap.KeyMapping mapping2 = new InputMap.KeyMapping(J, e -> { });
-//        childMap.getMappings().add(mapping2);
-//
-//        Optional<InputMap.Mapping<?>> returnedMapping = inputMap.lookupMapping(new KeyBinding(J).shift());
-//        assertEquals(mapping1, returnedMapping.get());
-//    }
-//
-//    @Test public void testLookup_getMostSpecificMapping_inChild() {
-//        Rectangle dummy = new Rectangle();
-//        InputMap<Node> inputMap = new InputMap<>(dummy);
-//        InputMap<Node> childMap = new InputMap<>(dummy);
-//        inputMap.getChildInputMaps().add(childMap);
-//
-//        InputMap.KeyMapping mapping1 = new InputMap.KeyMapping(J, e -> { });
-//        inputMap.getMappings().add(mapping1);
-//        InputMap.KeyMapping mapping2 = new InputMap.KeyMapping(new KeyBinding(J).shift(), e -> { });
-//        childMap.getMappings().add(mapping2);
-//
-//        Optional<InputMap.Mapping<?>> returnedMapping = inputMap.lookupMapping(new KeyBinding(J).shift());
-//        assertEquals(mapping2, returnedMapping.get());
-//    }
-//
-//    @Test public void testLookup_getMostSpecificMapping_inParent_butMappingDisabled() {
-//        Rectangle dummy = new Rectangle();
-//        InputMap<Node> inputMap = new InputMap<>(dummy);
-//        InputMap<Node> childMap = new InputMap<>(dummy);
-//        inputMap.getChildInputMaps().add(childMap);
-//
-//        InputMap.KeyMapping mapping1 = new InputMap.KeyMapping(new KeyBinding(J).shift(), e -> { });
-//        mapping1.setDisabled(true);
-//        inputMap.getMappings().add(mapping1);
-//        InputMap.KeyMapping mapping2 = new InputMap.KeyMapping(J, e -> { });
-//        childMap.getMappings().add(mapping2);
-//
-//        // parent mapping is disabled, and child mapping doesn't match entirely
-//        Optional<InputMap.Mapping<?>> returnedMapping = inputMap.lookupMapping(new KeyBinding(J).shift());
-//        assertFalse(returnedMapping.isPresent());
-//    }
-//
-//    @Test public void testLookup_getMostSpecificMapping_inChild_butMappingDisabled() {
-//        Rectangle dummy = new Rectangle();
-//        InputMap<Node> inputMap = new InputMap<>(dummy);
-//        InputMap<Node> childMap = new InputMap<>(dummy);
-//        inputMap.getChildInputMaps().add(childMap);
-//
-//        InputMap.KeyMapping mapping1 = new InputMap.KeyMapping(J, e -> { });
-//        inputMap.getMappings().add(mapping1);
-//        InputMap.KeyMapping mapping2 = new InputMap.KeyMapping(new KeyBinding(J).shift(), e -> { });
-//        mapping2.setDisabled(true);
-//        childMap.getMappings().add(mapping2);
-//
-//        Optional<InputMap.Mapping<?>> returnedMapping = inputMap.lookupMapping(new KeyBinding(J).shift());
-//        assertFalse(returnedMapping.isPresent());
-//    }
-//
-//
-//
-//    /***************************************************************************
-//     *
-//     * Event Handling
-//     *
-//     **************************************************************************/
-//
-//    @Test public void testEventHandlerIsCreatedAndRemovedOnNode_mouseMapping() {
-//        Node n = createInputMapOnNode();
-//
-//        // test before the mapping is added, counter will not increment
-//        MouseEvent event = createMouseEvent(n, MouseEvent.MOUSE_PRESSED);
-//        n.fireEvent(event);
-//        assertEquals(0, counter);
-//
-//        // add mapping
-//        InputMap.MouseMapping mapping = new InputMap.MouseMapping(MouseEvent.MOUSE_PRESSED, e -> counter++);
-//        n.getInputMap().getMappings().add(mapping);
-//
-//        // fire event again, counter should increment
-//        n.fireEvent(event);
-//        assertEquals(1, counter);
-//
-//        // remove mapping, fire event, counter should not increment any longer
-//        n.getInputMap().getMappings().remove(mapping);
-//        n.fireEvent(event);
-//        assertEquals(1, counter);
-//    }
-//
-//    @Test public void testEventHandlerIsCreatedAndRemovedOnNode_mouseMapping_onChildMap() {
-//        Node n = createInputMapOnNode();
-//        InputMap childInputMap = new InputMap<>(n);
-//        n.getInputMap().getChildInputMaps().add(childInputMap);
-//
-//        // test before the mapping is added, counter will not increment
-//        MouseEvent event = createMouseEvent(n, MouseEvent.MOUSE_PRESSED);
-//        n.fireEvent(event);
-//        assertEquals(0, counter);
-//
-//        // add mapping to child input map
-//        InputMap.MouseMapping mapping = new InputMap.MouseMapping(MouseEvent.MOUSE_PRESSED, e -> counter++);
-//        childInputMap.getMappings().add(mapping);
-//
-//        // fire event again, counter should increment
-//        n.fireEvent(event);
-//        assertEquals(1, counter);
-//
-//        // remove mapping, fire event, counter should not increment any longer
-//        childInputMap.getMappings().remove(mapping);
-//        n.fireEvent(event);
-//        assertEquals(1, counter);
-//    }
-//
-//    @Test public void testInterceptorBlocksMapping_mouseMapping() {
-//        Node n = createInputMapOnNode();
-//
-//        // test before the mapping is added, counter will not increment
-//        MouseEvent event = createMouseEvent(n, MouseEvent.MOUSE_PRESSED);
-//        n.fireEvent(event);
-//        assertEquals(0, counter);
-//
-//        // add mapping
-//        InputMap.MouseMapping mapping = new InputMap.MouseMapping(MouseEvent.MOUSE_PRESSED, e -> counter++);
-//        n.getInputMap().getMappings().add(mapping);
-//        n.getInputMap().setInterceptor(new InputMap.MouseMappingInterceptor(MouseEvent.MOUSE_PRESSED));
-//
-//        // fire event again, counter should not increment
-//        n.fireEvent(event);
-//        assertEquals(0, counter);
-//
-//        // remove mapping, fire event, counter should still not increment
-//        n.getInputMap().getMappings().remove(mapping);
-//        n.fireEvent(event);
-//        assertEquals(0, counter);
-//    }
-//
-//    @Test public void testInterceptorBlocksMapping_keyMapping() {
-//        Node n = createInputMapOnNode();
-//
-//        // test before the mapping is added, counter will not increment
-//        KeyEvent event = createKeyEvent(n, KeyEvent.KEY_PRESSED, KeyCode.J);
-//        n.fireEvent(event);
-//        assertEquals(0, counter);
-//
-//        // add mapping
-//        InputMap.KeyMapping mapping = new InputMap.KeyMapping(new KeyBinding(J), e -> counter++);
-//        n.getInputMap().getMappings().add(mapping);
-//        n.getInputMap().setInterceptor(new InputMap.KeyMappingInterceptor(new KeyBinding(J)));
-//
-//        // fire event again, counter should not increment
-//        n.fireEvent(event);
-//        assertEquals(0, counter);
-//
-//        // remove mapping, fire event, counter should still not increment
-//        n.getInputMap().getMappings().remove(mapping);
-//        n.fireEvent(event);
-//        assertEquals(0, counter);
-//    }
-//
-//    @Test public void testDisabledMapping_mouseMapping() {
-//        Node n = createInputMapOnNode();
-//
-//        // test before the mapping is added, counter will not increment
-//        MouseEvent event = createMouseEvent(n, MouseEvent.MOUSE_PRESSED);
-//        n.fireEvent(event);
-//        assertEquals(0, counter);
-//
-//        // add mapping
-//        InputMap.MouseMapping mapping = new InputMap.MouseMapping(MouseEvent.MOUSE_PRESSED, e -> counter++);
-//        mapping.setDisabled(true);
-//        n.getInputMap().getMappings().add(mapping);
-//
-//        // fire event again, counter should not increment
-//        n.fireEvent(event);
-//        assertEquals(0, counter);
-//
-//        // remove mapping, fire event, counter should still not increment
-//        n.getInputMap().getMappings().remove(mapping);
-//        n.fireEvent(event);
-//        assertEquals(0, counter);
-//    }
-//
-//    @Test public void testEventHandler_autoConsumeIsTrue() {
-//        Node n = createInputMapOnNode();
-//
-//        MouseEvent event = createMouseEvent(n, MouseEvent.MOUSE_PRESSED);
-//        assertFalse(event.isConsumed());
-//
-//        // add mapping
-//        InputMap.MouseMapping mapping = new InputMap.MouseMapping(MouseEvent.MOUSE_PRESSED, e -> counter++);
-//        mapping.setAutoConsume(true);
-//        n.getInputMap().getMappings().add(mapping);
-//
-//        // fire event, counter should increment, and event should be consumed
-//        n.fireEvent(event);
-//        assertEquals(1, counter);
-//        assertTrue(event.isConsumed());
-//    }
-//
-//    @Test public void testEventHandler_autoConsumeIsFalse() {
-//        Node n = createInputMapOnNode();
-//
-//        MouseEvent event = createMouseEvent(n, MouseEvent.MOUSE_PRESSED);
-//        assertFalse(event.isConsumed());
-//
-//        // add mapping
-//        InputMap.MouseMapping mapping = new InputMap.MouseMapping(MouseEvent.MOUSE_PRESSED, e -> counter++);
-//        mapping.setAutoConsume(false);
-//        n.getInputMap().getMappings().add(mapping);
-//
-//        // fire event, counter should increment, and event should be consumed
-//        n.fireEvent(event);
-//        assertEquals(1, counter);
-//        assertFalse(event.isConsumed());
-//    }
-//
-//    @Test public void testEventHandlerDisposesProperly_noChildMappings_mouseMapping() {
-//        Node n = createInputMapOnNode();
-//
-//        // test before the mapping is added, counter will not increment
-//        MouseEvent event = createMouseEvent(n, MouseEvent.MOUSE_PRESSED);
-//        n.fireEvent(event);
-//        assertEquals(0, counter);
-//
-//        // add mapping
-//        InputMap.MouseMapping mapping = new InputMap.MouseMapping(MouseEvent.MOUSE_PRESSED, e -> counter++);
-//        n.getInputMap().getMappings().add(mapping);
-//
-//        // fire event again, counter should increment
-//        n.fireEvent(event);
-//        assertEquals(1, counter);
-//
-//        // dispose of input map, fire event, counter should not increment any longer
-//        n.getInputMap().dispose();
-//        n.fireEvent(event);
-//        assertEquals(1, counter);
-//    }
-//
-//    @Test public void testEventHandlerDisposesProperly_withChildMappings_mouseMapping() {
-//        Node n = createInputMapOnNode();
-//        InputMap childInputMap = new InputMap<>(n);
-//        n.getInputMap().getChildInputMaps().add(childInputMap);
-//
-//        // test before the mapping is added, counter will not increment
-//        MouseEvent event = createMouseEvent(n, MouseEvent.MOUSE_PRESSED);
-//        n.fireEvent(event);
-//        assertEquals(0, counter);
-//
-//        // add mapping
-//        InputMap.MouseMapping mapping = new InputMap.MouseMapping(MouseEvent.MOUSE_PRESSED, e -> counter++);
-//        n.getInputMap().getMappings().add(mapping);
-//
-//        // fire event again, counter should increment
-//        n.fireEvent(event);
-//        assertEquals(1, counter);
-//
-//        // dispose of input map, fire event, counter should not increment any longer
-//        n.getInputMap().dispose();
-//        n.fireEvent(event);
-//        assertEquals(1, counter);
-//    }
-//
-//
-//    /***************************************************************************
-//     *
-//     * MouseMapping
-//     *
-//     **************************************************************************/
-//
-//    private final int mouseEvent_maxSpecificity = 9;
-//
-//    @Test(expected = IllegalArgumentException.class)
-//    public void testMouseMapping_nullEventTypeIsIllegal() {
-//        new InputMap.MouseMapping(null, e -> counter++);
-//    }
-//
-//    @Test public void testMouseMapping_mappingKey() {
-//        InputMap.MouseMapping mapping = new InputMap.MouseMapping(MouseEvent.MOUSE_PRESSED, e -> counter++);
-//        assertEquals(MouseEvent.MOUSE_PRESSED, mapping.getMappingKey());
-//    }
-//
-//    @Test public void testMouseMapping_hashCode() {
-//        InputMap.MouseMapping mapping = new InputMap.MouseMapping(MouseEvent.MOUSE_PRESSED, e -> counter++);
-//        assertTrue(mapping.hashCode() != 0);
-//    }
-//
-//    @Test public void testMouseMapping_eventType() {
-//        InputMap.MouseMapping mapping = new InputMap.MouseMapping(MouseEvent.MOUSE_PRESSED, e -> counter++);
-//        assertEquals(MouseEvent.MOUSE_PRESSED, mapping.getEventType());
-//    }
-//
-//    @Test public void testMouseMapping_interceptors() {
-//        InputMap.MouseMapping mapping = new InputMap.MouseMapping(MouseEvent.MOUSE_PRESSED, e -> counter++);
-//        assertNull(mapping.getInterceptor());
-//    }
-//
-//    @Test public void testMouseMappingSpecificity() {
-//        Node n = createInputMapOnNode();
-//        MouseEvent event = createMouseEvent(n, MouseEvent.MOUSE_PRESSED);
-//        InputMap.MouseMapping mapping = new InputMap.MouseMapping(MouseEvent.MOUSE_PRESSED, e -> counter++);
-//
-//        assertEquals(mouseEvent_maxSpecificity, mapping.getSpecificity(event));
-//    }
-//
-//    @Test public void testMouseMappingSpecificity_disabledMapping() {
-//        Node n = createInputMapOnNode();
-//        MouseEvent event = createMouseEvent(n, MouseEvent.MOUSE_PRESSED);
-//        InputMap.MouseMapping mapping = new InputMap.MouseMapping(MouseEvent.MOUSE_PRESSED, e -> counter++);
-//        mapping.setDisabled(true);
-//
-//        assertEquals(0, mapping.getSpecificity(event));
-//    }
-//
-//    @Test public void testMouseMappingSpecificity_nullEvent() {
-//        InputMap.MouseMapping mapping = new InputMap.MouseMapping(MouseEvent.MOUSE_PRESSED, e -> counter++);
-//        assertEquals(0, mapping.getSpecificity(null));
-//    }
-//
-//    @Test public void testMouseMappingSpecificity_notMouseEvent() {
-//        Node n = createInputMapOnNode();
-//        KeyEvent keyEvent = createKeyEvent(n, KeyEvent.KEY_PRESSED, J);
-//        InputMap.MouseMapping mapping = new InputMap.MouseMapping(MouseEvent.MOUSE_PRESSED, e -> counter++);
-//        assertEquals(0, mapping.getSpecificity(keyEvent));
-//    }
-//
-//    @Test public void testMouseMapping_equals_1() {
-//        InputMap.MouseMapping mapping1 = new InputMap.MouseMapping(MouseEvent.MOUSE_PRESSED, e -> counter++);
-//        InputMap.MouseMapping mapping2 = new InputMap.MouseMapping(MouseEvent.MOUSE_PRESSED, e -> counter--);
-//        assertEquals(mapping1, mapping2);
-//    }
-//
-//    @Test public void testMouseMapping_equals_2() {
-//        InputMap.MouseMapping mapping1 = new InputMap.MouseMapping(MouseEvent.MOUSE_PRESSED, e -> counter++);
-//        InputMap.MouseMapping mapping2 = new InputMap.MouseMapping(MouseEvent.MOUSE_RELEASED, e -> counter++);
-//        assertFalse(mapping1.equals(mapping2));
-//    }
-//
-//
-//
-//    /***************************************************************************
-//     *
-//     * KeyMapping
-//     *
-//     **************************************************************************/
-//
-//    private final int keyEvent_maxSpecificity = 6;
-//
-//    @Test(expected = IllegalArgumentException.class)
-//    public void testKeyMapping_nullKeyBindingIsIllegal() {
-//        new InputMap.KeyMapping((KeyBinding)null, e -> counter++);
-//    }
-//
-//    @Test public void testKeyMapping_hashCode() {
-//        InputMap.KeyMapping mapping = new InputMap.KeyMapping(new KeyBinding(J, KeyEvent.KEY_RELEASED), e -> counter++);
-//        assertTrue(mapping.hashCode() != 0);
-//    }
-//
-//    @Test public void testKeyMapping_mappingKey() {
-//        InputMap.KeyMapping mapping = new InputMap.KeyMapping(new KeyBinding(J, KeyEvent.KEY_RELEASED), e -> counter++);
-//        assertEquals(new KeyBinding(J, KeyEvent.KEY_RELEASED), mapping.getMappingKey());
-//    }
-//
-//    @Test public void testKeyMapping_eventType_defaultIsKeyPressed() {
-//        InputMap.KeyMapping mapping = new InputMap.KeyMapping(new KeyBinding(J), e -> counter++);
-//        assertEquals(KeyEvent.KEY_PRESSED, mapping.getEventType());
-//    }
-//
-//    @Test public void testKeyMapping_eventType() {
-//        InputMap.KeyMapping mapping = new InputMap.KeyMapping(new KeyBinding(J, KeyEvent.KEY_RELEASED), e -> counter++);
-//        assertEquals(KeyEvent.KEY_RELEASED, mapping.getEventType());
-//    }
-//
-//    @Test public void testKeyMapping_interceptor() {
-//        InputMap.KeyMapping mapping = new InputMap.KeyMapping(new KeyBinding(J, KeyEvent.KEY_RELEASED), e -> counter++);
-//        assertNull(mapping.getInterceptor());
-//    }
-//
-//    @Test public void testKeyMappingSpecificity() {
-//        Node n = createInputMapOnNode();
-//        KeyEvent event = createKeyEvent(n, KeyEvent.KEY_PRESSED, KeyCode.J);
-//        InputMap.KeyMapping mapping = new InputMap.KeyMapping(new KeyBinding(J), e -> counter++);
-//
-//        assertEquals(keyEvent_maxSpecificity, mapping.getSpecificity(event));
-//    }
-//
-//    @Test public void testKeyMappingSpecificity_disabledMapping() {
-//        Node n = createInputMapOnNode();
-//        KeyEvent event = createKeyEvent(n, KeyEvent.KEY_PRESSED, KeyCode.J);
-//        InputMap.KeyMapping mapping = new InputMap.KeyMapping(new KeyBinding(J), e -> counter++);
-//        mapping.setDisabled(true);
-//
-//        assertEquals(0, mapping.getSpecificity(event));
-//    }
-//
-//    @Test public void testKeyMappingSpecificity_nullEvent() {
-//        InputMap.KeyMapping mapping = new InputMap.KeyMapping(new KeyBinding(J), e -> counter++);
-//        assertEquals(0, mapping.getSpecificity(null));
-//    }
-//
-//    @Test public void testKeyMappingSpecificity_notKeyEvent() {
-//        Node n = createInputMapOnNode();
-//        MouseEvent mouseEvent = createMouseEvent(n, MouseEvent.MOUSE_PRESSED);
-//        InputMap.KeyMapping mapping = new InputMap.KeyMapping(new KeyBinding(J), e -> counter++);
-//        assertEquals(0, mapping.getSpecificity(mouseEvent));
-//    }
-//
-//    @Test public void testKeyMapping_equals_1() {
-//        InputMap.KeyMapping mapping1 = new InputMap.KeyMapping(new KeyBinding(J), e -> counter++);
-//        InputMap.KeyMapping mapping2 = new InputMap.KeyMapping(new KeyBinding(J), e -> counter--);
-//        assertEquals(mapping1, mapping2);
-//    }
-//
-//    @Test public void testKeyMapping_equals_2() {
-//        InputMap.KeyMapping mapping1 = new InputMap.KeyMapping(new KeyBinding(J, KeyEvent.KEY_RELEASED), e -> counter++);
-//        InputMap.KeyMapping mapping2 = new InputMap.KeyMapping(new KeyBinding(J), e -> counter++);
-//        assertFalse(mapping1.equals(mapping2));
-//    }
-//
-//
-//    /***************************************************************************
-//     *
-//     * Control InputMap population / removal
-//     *
-//     **************************************************************************/
-//
-//    // These tests are located in javafx.scene.control.InputMapTest, due to
-//    // module visibility (the graphics module can not instantiate UI controls).
-}
--- a/modules/controls/src/test/java/com/sun/javafx/scene/control/inputmap/KeyBindingTest.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-package com.sun.javafx.scene.control.inputmap;
-
-import javafx.scene.input.KeyCode;
-import javafx.scene.input.KeyEvent;
-import org.junit.Test;
-import static org.junit.Assert.*;
-
-public class KeyBindingTest {
-
-    @Test public void getSpecificity() {
-        final KeyCode code = KeyCode.ENTER;
-
-        // Expected answer:
-        // 1 pt for matching key code
-        // 1 pt for matching key event type
-        // 1 pt for matching no alt
-        // 1 pt for matching no meta
-        // 1 pt for matching shift or control
-        // 0 pt for the other optional value of control/shift
-        //
-        // Total = 5.
-        //
-        int expect = 5;
-
-        KeyBinding uut = new KeyBinding(code).shift().ctrl(KeyBinding.OptionalBoolean.ANY);
-
-        KeyEvent event = new KeyEvent(KeyEvent.KEY_PRESSED, null,
-                null, code, true, false, false, false);
-
-        assertEquals(expect, uut.getSpecificity(event)); // Gets 6 (fx 2.2, fx 8)
-
-        uut = new KeyBinding(code).shift(KeyBinding.OptionalBoolean.ANY).ctrl();
-
-        event = new KeyEvent(KeyEvent.KEY_PRESSED, null,
-                null, code, false, true, false, false);
-
-        assertEquals(expect, uut.getSpecificity(event)); // Gets 2 (fx 2.2, fx 8)
-    }
-} 
\ No newline at end of file
--- a/modules/controls/src/test/java/com/sun/javafx/scene/control/test/Data.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.scene.control.test;
-
-public class Data {
-
-    protected String name;
-    protected long id;
-    protected static long last_id = 0;
-
-    public Data(String name) {
-        this.name = name;
-        id = last_id++;
-    }
-
-    public String getData() {
-        return name;
-    }
-
-    @Override public String toString() {
-        return name;
-    }
-
-    @Override public boolean equals(Object obj) {
-        if (obj == null) {
-            return false;
-        } else if (Data.class.isInstance(obj.getClass())) {
-            return name.contentEquals(((Data) obj).name);
-        }
-        return super.equals(obj);
-    }
-
-    @Override public int hashCode() {
-        int hash = 3;
-        hash = 29 * hash + (this.name != null ? this.name.hashCode() : 0);
-        return hash;
-    }
-}
--- a/modules/controls/src/test/java/com/sun/javafx/scene/control/test/Employee.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package com.sun.javafx.scene.control.test;
-
-import javafx.beans.property.SimpleStringProperty;
-
-public class Employee {
-
-    private final SimpleStringProperty name;
-    private final SimpleStringProperty department;
-
-    public Employee(String name, String department) {
-        this.name = new SimpleStringProperty(name);
-        this.department = new SimpleStringProperty(department);
-    }
-
-    public String getName() {
-        return name.get();
-    }
-
-    public void setName(String fName) {
-        name.set(fName);
-    }
-
-    public String getDepartment() {
-        return department.get();
-    }
-
-    public void setDepartment(String fName) {
-        department.set(fName);
-    }
-}
--- a/modules/controls/src/test/java/com/sun/javafx/scene/control/test/Person.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/*
- * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package com.sun.javafx.scene.control.test;
-
-import javafx.beans.property.BooleanProperty;
-import javafx.beans.property.ReadOnlyIntegerProperty;
-import javafx.beans.property.ReadOnlyIntegerWrapper;
-import javafx.beans.property.SimpleBooleanProperty;
-import javafx.beans.property.SimpleIntegerProperty;
-import javafx.beans.property.SimpleStringProperty;
-import javafx.beans.property.StringProperty;
-
-public class Person {
-    private final SimpleBooleanProperty invited;
-    private final SimpleStringProperty firstName;
-    private final SimpleStringProperty lastName;
-    private final SimpleStringProperty email;
-    private final ReadOnlyIntegerWrapper age;
-    
-    public Person(String fName, int age) {
-        this(fName, null, null, age);
-    }
-    
-    public Person(String fName, String lName, String email) {
-        this(fName, lName, email, 0);
-    }
-
-    public Person(String fName, String lName, String email, int age) {
-        this.firstName = new SimpleStringProperty(fName);
-        this.lastName = new SimpleStringProperty(lName);
-        this.email = new SimpleStringProperty(email);
-        this.age = new ReadOnlyIntegerWrapper(age);
-        this.invited = null;
-    }
-
-    public Person(String fName, String lName, String email, boolean invited) {
-        this.firstName = new SimpleStringProperty(fName);
-        this.lastName = new SimpleStringProperty(lName);
-        this.email = new SimpleStringProperty(email);
-        this.age = null;
-        this.invited = new SimpleBooleanProperty(invited);
-    }
-
-    public String getFirstName() {
-        return firstName.get();
-    }
-
-    public void setFirstName(String fName) {
-        firstName.set(fName);
-    }
-    
-    public StringProperty firstNameProperty() {
-        return firstName;
-    }
-
-    public String getLastName() {
-        return lastName.get();
-    }
-
-    public void setLastName(String fName) {
-        lastName.set(fName);
-    }
-
-    public StringProperty lastNameProperty() {
-        return lastName;
-    }
-
-    public String getEmail() {
-        return email.get();
-    }
-
-    public void setEmail(String fName) {
-        email.set(fName);
-    }
-
-    public StringProperty emailProperty() {
-        return email;
-    }
-    
-    public final int getAge() {return age.get();}
-    public ReadOnlyIntegerProperty ageProperty() {return age.getReadOnlyProperty();}
-
-    public final boolean isInvited() { return invited.get(); }
-    public BooleanProperty invitedProperty() { return invited; }
-
-    @Override public String toString() {
-        return getFirstName() + " " + getLastName();
-    }
-}
\ No newline at end of file
--- a/modules/controls/src/test/java/com/sun/javafx/scene/control/test/RT_22463_Person.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package com.sun.javafx.scene.control.test;
-
-public class RT_22463_Person {
-    private Long id;
-    private String name;
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    @Override public String toString() {
-        return getName();
-    }
-    
-    @Override public boolean equals(Object obj) {
-        if (obj == null) {
-            return false;
-        }
-        if (getClass() != obj.getClass()) {
-            return false;
-        }
-        final RT_22463_Person other = (RT_22463_Person) obj;
-        if (this.id != other.id) {
-            return false;
-        }
-        return true;
-    }
-
-    @Override public int hashCode() {
-        int hash = 7;
-        hash = 89 * hash + (int) (this.id ^ (this.id >>> 32));
-        return hash;
-    }
-}
--- a/modules/controls/src/test/java/javafx/scene/chart/AreaChartTest.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-/*
- * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.chart;
-
-import com.sun.javafx.scene.control.infrastructure.ControlTestUtils;
-import javafx.collections.FXCollections;
-import javafx.collections.ObservableList;
-import javafx.scene.Group;
-import javafx.scene.Node;
-import javafx.scene.shape.Path;
-import static org.junit.Assert.assertEquals;
-import org.junit.Ignore;
-import org.junit.Test;
-
-public class AreaChartTest extends XYChartTestBase {
-    AreaChart<Number,Number> ac;
-    final XYChart.Series<Number, Number> series1 = new XYChart.Series<Number, Number>();
-    boolean useCategoryAxis = false;
-    final String[] countries = {"USA", "Italy", "France", "China", "India"};
-    protected Chart createChart() {
-        final NumberAxis yAxis = new NumberAxis();
-        ObservableList<XYChart.Data> data = FXCollections.observableArrayList();
-        Axis xAxis;
-        if (useCategoryAxis) {
-            xAxis = new CategoryAxis();
-            ((CategoryAxis)xAxis).setCategories(FXCollections.observableArrayList(countries));
-            // add starting data
-        series1.getData().add(new XYChart.Data(countries[0], 10d));
-        series1.getData().add(new XYChart.Data(countries[1], 20d));
-        series1.getData().add(new XYChart.Data(countries[2], 15d));
-        series1.getData().add(new XYChart.Data(countries[3], 15d));
-        series1.getData().add(new XYChart.Data(countries[4], 10d));
-        } else {
-            xAxis = new NumberAxis();
-            ac = new AreaChart<Number,Number>(xAxis,yAxis);
-            // add starting data
-        series1.getData().add(new XYChart.Data(10d, 10d));
-        series1.getData().add(new XYChart.Data(25d, 20d));
-        series1.getData().add(new XYChart.Data(30d, 15d));
-        series1.getData().add(new XYChart.Data(50d, 15d));
-        series1.getData().add(new XYChart.Data(80d, 10d));
-        }
-        
-        xAxis.setLabel("X Axis");
-        yAxis.setLabel("Y Axis");
-        ac.setTitle("HelloAreaChart");
-        
-        return ac;
-    }
-    
-    private StringBuffer getSeriesLineFromPlot() {
-        ObservableList<Node> childrenList = ac.getPlotChildren();
-        StringBuffer sb = new StringBuffer();
-        for (Node n : childrenList) {
-            if (n instanceof Group) {
-                for (Node gn : ((Group)n).getChildren()) {
-                    if (gn instanceof Path && "chart-series-area-line".equals(gn.getStyleClass().get(0))) {
-                        Path line = (Path)gn;
-                        sb = computeSVGPath(line);
-                        return sb;
-                    }
-                }
-            }
-        }
-        return sb;
-    }
-
-    @Test @Ignore
-    public void testDataItemRemove() {
-        startApp();
-        ac.getData().addAll(series1);
-        pulse();
-        if (!ac.getData().isEmpty()) {
-            series1.getData().remove(0);
-            pulse();
-            StringBuffer sb = getSeriesLineFromPlot();
-            assertEquals(sb.toString(), "L247.0 171.0 L412.0 171.0 L658.0 284.0 ");
-        }
-    }
-    
-    @Test  
-    public void testAreaChartWithCategoryAxis() {
-        useCategoryAxis = true;
-        startApp();
-        useCategoryAxis = false;
-    }
-
-    @Test public void testCreateSymbols() {
-         startApp();
-         ac.getData().clear();
-         ac.setCreateSymbols(false);
-         pulse();
-         ac.getData().addAll(series1);
-         pulse();
-         assertEquals(0, countSymbols(ac, "chart-area-symbol"));
-         
-         ac.getData().clear();
-         ac.setCreateSymbols(true);
-         pulse();
-         ac.getData().addAll(series1);
-         pulse();
-         assertEquals(5, countSymbols(ac, "chart-area-symbol"));
-     }
-}
--- a/modules/controls/src/test/java/javafx/scene/chart/AxisHelper.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.chart;
-
-import java.util.List;
-
-
-import org.junit.Before;
-
-/**
- * Helper class for Axis. All functionality common to ValueAxis,NumberAxis,CategoryAxis goes here.
- * @author srikalyc
- */
-public class AxisHelper {
-    private Axis axis;//Empty string
-
-    public AxisHelper() {
-    }
-    
-    public void setAxis(Axis axis) {
-        this.axis = axis;
-    }
-    
-    public Axis getDummyAxis() {
-        return new Axis() {
-                @Override
-                protected void setRange(Object o, boolean bln) {}
-                @Override
-                protected Object getRange() {return null;}
-                @Override
-                protected List calculateTickValues(double d, Object o) {return null;}
-                @Override
-                protected String getTickMarkLabel(Object t) {return null;}
-                @Override
-                protected Object autoRange(double d) {return null;}
-                @Override
-                public double getZeroPosition() {return 0.0;}
-                @Override
-                public double getDisplayPosition(Object t) {return 0.0;}
-                @Override
-                public Object getValueForDisplay(double d) {return null;}
-                @Override
-                public boolean isValueOnAxis(Object t) {return false;}
-                @Override
-                public double toNumericValue(Object t) {return 0.0;}
-                @Override
-                public Object toRealValue(double d) {return 0.0;}
-
-            };
-    }
-    @Before public void setup() {
-        if (axis == null) {
-            axis = getDummyAxis();
-        }
-    }
-    
-    /*********************************************************************
-     * Currently nothing                                                 *
-     ********************************************************************/
-    
-    void defaultRange() {}
-    void defaultCalculateTickValues() {}
-    void defaultTickMarkLabel() {}
-    void defaultAutoRange() {}
-    void defaultZeroPosition() {}
-    void defaultDisplayPosition() {}
-    void defaultValueForDisplay() {}
-    void defaultValueOnAxis() {}
-    void defaultNumericValue() {}
-    void defaultRealValue() {}
-   
-    
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/controls/src/test/java/javafx/scene/chart/AxisShim.java	Fri Sep 18 09:09:22 2015 -0400
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ * 
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ * 
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ * 
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ * 
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package javafx.scene.chart;
+
+import javafx.scene.text.Text;
+
+public class AxisShim {
+
+    public static Text get_measure(Axis a) {
+        return a.measure;
+    }
+
+    public static Text TickMark_get_textNode(Axis.TickMark tm) {
+        return tm.textNode;
+    }
+}
--- a/modules/controls/src/test/java/javafx/scene/chart/AxisTest.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,555 +0,0 @@
-/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.chart;
-
-import javafx.css.CssMetaData;
-import java.util.List;
-
-import static com.sun.javafx.scene.control.infrastructure.ControlTestUtils.*;
-import javafx.beans.property.BooleanProperty;
-import javafx.beans.property.DoubleProperty;
-import javafx.beans.property.ObjectProperty;
-import javafx.beans.property.SimpleBooleanProperty;
-import javafx.beans.property.SimpleDoubleProperty;
-import javafx.beans.property.SimpleObjectProperty;
-import javafx.css.StyleableProperty;
-import javafx.geometry.Side;
-import javafx.scene.paint.Color;
-import javafx.scene.text.Font;
-import static org.junit.Assert.*;
-
-
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * All public members of Axis are tested here . 
- * @author srikalyc
- */
-public class AxisTest {
-    private Axis axis;//Empty string
-    private AxisHelper helper;
-    
-    public AxisTest() {
-        helper = new AxisHelper();
-    }
-    
-    @Before public void setup() {
-        if (axis == null) {
-            axis = helper.getDummyAxis();
-        }
-        helper.setAxis(axis);
-    }
-    
-   
-   
-    /*********************************************************************
-     * Tests for default values                                         *
-     ********************************************************************/
-    
-    @Test public void defaultSideNull() {
-        assertNull(axis.getSide());
-    }
-
-    @Test public void defaultTickMarkVisibleIsTrue() {
-        assertTrue(axis.isTickMarkVisible());
-    }
-
-    @Test public void defaultTickLabelsVisibleIsTrue() {
-        assertTrue(axis.isTickLabelsVisible());
-    }
-
-
-    @Test public void defaultTickLength() {
-        assertEquals(axis.getTickLength(), 8.0 , 0.0);
-    }
-
-    @Test public void defaultAutoRangingIsTrue() {
-        assertTrue(axis.isAutoRanging());
-    }
-
-    @Test public void defaultTickLabelFont() {
-        assertEquals(axis.getTickLabelFont(), Font.font("System", 8));
-    }
-
-    @Test public void defaultTickLabelFill() {
-        assertSame(axis.getTickLabelFill(), Color.BLACK );
-    }
-
-    @Test public void defaultTickLabelGap() {
-        assertEquals(axis.getTickLabelGap(), 3.0 , 0.0);
-    }
-
-    @Test public void defaultAnimatedIsTrue() {
-        assertTrue(axis.getAnimated());
-    }
-
-    @Test public void defaultTickLabelRotation() {
-        assertEquals(axis.getTickLabelRotation(), 0.0 , 0.0);
-    }
-
-
-    /*********************************************************************
-     * Tests for property binding                                        *
-     ********************************************************************/
-    
-    @Test public void checkSidePropertyBind() {
-        ObjectProperty objPr = new SimpleObjectProperty<Side>(Side.TOP);
-        axis.sideProperty().bind(objPr);
-        assertSame("side cannot be bound", axis.sideProperty().getValue(), Side.TOP);
-        objPr.setValue(Side.BOTTOM);
-        assertSame("side cannot be bound", axis.sideProperty().getValue(), Side.BOTTOM);
-    }
-    
-    @Test public void checkTickMarkVisiblePropertyBind() {
-        BooleanProperty objPr = new SimpleBooleanProperty(true);
-        axis.tickMarkVisibleProperty().bind(objPr);
-        assertTrue("tickMarkVisibleProperty cannot be bound", axis.tickMarkVisibleProperty().getValue());
-        objPr.setValue(false);
-        assertFalse("tickMarkVisibleProperty cannot be bound", axis.tickMarkVisibleProperty().getValue());
-    }
-    
-    @Test public void checkTickLabelsVisiblePropertyBind() {
-        BooleanProperty objPr = new SimpleBooleanProperty(true);
-        axis.tickLabelsVisibleProperty().bind(objPr);
-        assertTrue("tickLabelsVisibleProperty cannot be bound", axis.tickLabelsVisibleProperty().getValue());
-        objPr.setValue(false);
-        assertFalse("tickLabelsVisibleProperty cannot be bound", axis.tickLabelsVisibleProperty().getValue());
-    }
-    
-    @Test public void checkTickLengthPropertyBind() {
-        DoubleProperty objPr = new SimpleDoubleProperty(56.0);
-        axis.tickLengthProperty().bind(objPr);
-        assertEquals("tickLengthProperty cannot be bound", axis.tickLengthProperty().getValue(),56.0,0.0);
-        objPr.setValue(23.0);
-        assertEquals("tickLengthProperty cannot be bound", axis.tickLengthProperty().getValue(),23.0,0.0);
-    }
-    
-    @Test public void checkAutoRangingPropertyBind() {
-        BooleanProperty objPr = new SimpleBooleanProperty(true);
-        axis.autoRangingProperty().bind(objPr);
-        assertTrue("autoRangingProperty cannot be bound", axis.autoRangingProperty().getValue());
-        objPr.setValue(false);
-        assertFalse("autoRangingProperty cannot be bound", axis.autoRangingProperty().getValue());
-    }
-    
-    @Test public void checkTickLabelFontPropertyBind() {
-        ObjectProperty objPr = new SimpleObjectProperty<Font>(null);
-        axis.tickLabelFontProperty().bind(objPr);
-        assertNull("tickLabelFontProperty cannot be bound", axis.tickLabelFontProperty().getValue());
-        objPr.setValue(Font.getDefault());
-        assertSame("tickLabelFontProperty cannot be bound", axis.tickLabelFontProperty().getValue(), Font.getDefault());
-    }
-    
-    @Test public void checkTickLabelFillPropertyBind() {
-        ObjectProperty objPr = new SimpleObjectProperty<Color>(Color.WHEAT);
-        axis.tickLabelFillProperty().bind(objPr);
-        assertSame("tickLabelFillProperty cannot be bound", axis.tickLabelFillProperty().getValue(), Color.WHEAT);
-        objPr.setValue(Color.BLUE);
-        assertSame("tickLabelFillProperty cannot be bound", axis.tickLabelFillProperty().getValue(), Color.BLUE);
-    }
-    
-    @Test public void checkTickLabelGapPropertyBind() {
-        DoubleProperty objPr = new SimpleDoubleProperty(56.0);
-        axis.tickLabelGapProperty().bind(objPr);
-        assertEquals("tickLabelGapProperty cannot be bound", axis.tickLabelGapProperty().getValue(),56.0,0.0);
-        objPr.setValue(23.0);
-        assertEquals("tickLabelGapProperty cannot be bound", axis.tickLabelGapProperty().getValue(),23.0,0.0);
-    }
-    
-    @Test public void checkAnimatedPropertyBind() {
-        BooleanProperty objPr = new SimpleBooleanProperty(true);
-        axis.animatedProperty().bind(objPr);
-        assertTrue("animatedProperty cannot be bound", axis.animatedProperty().getValue());
-        objPr.setValue(false);
-        assertFalse("animatedProperty cannot be bound", axis.animatedProperty().getValue());
-    }
-    
-    @Test public void checkTickLabelRotationPropertyBind() {
-        DoubleProperty objPr = new SimpleDoubleProperty(56.0);
-        axis.tickLabelRotationProperty().bind(objPr);
-        assertEquals("tickLabelRotationProperty cannot be bound", axis.tickLabelRotationProperty().getValue(),56.0,0.0);
-        objPr.setValue(23.0);
-        assertEquals("tickLabelRotationProperty cannot be bound", axis.tickLabelRotationProperty().getValue(),23.0,0.0);
-    }
-    
-
-    
-    @Test public void sidePropertyHasBeanReference() {
-        assertSame(axis, axis.sideProperty().getBean());
-    }
-
-    @Test public void sidePropertyHasName() {
-        assertEquals("side", axis.sideProperty().getName());
-    }
-
-    @Test public void tickMarkVisiblePropertyHasBeanReference() {
-        assertSame(axis, axis.tickMarkVisibleProperty().getBean());
-    }
-
-    @Test public void tickMarkVisiblePropertyHasName() {
-        assertEquals("tickMarkVisible", axis.tickMarkVisibleProperty().getName());
-    }
-
-    @Test public void tickLabelsVisiblePropertyHasBeanReference() {
-        assertSame(axis, axis.tickLabelsVisibleProperty().getBean());
-    }
-
-    @Test public void tickLabelsVisiblePropertyHasName() {
-        assertEquals("tickLabelsVisible", axis.tickLabelsVisibleProperty().getName());
-    }
-
-    @Test public void tickLengthPropertyHasBeanReference() {
-        assertSame(axis, axis.tickLengthProperty().getBean());
-    }
-
-    @Test public void tickLengthPropertyHasName() {
-        assertEquals("tickLength", axis.tickLengthProperty().getName());
-    }
-
-    @Test public void autoRangingPropertyHasBeanReference() {
-        assertSame(axis, axis.autoRangingProperty().getBean());
-    }
-
-    @Test public void autoRangingPropertyHasName() {
-        assertEquals("autoRanging", axis.autoRangingProperty().getName());
-    }
-
-    @Test public void tickLabelFontPropertyHasBeanReference() {
-        assertSame(axis, axis.tickLabelFontProperty().getBean());
-    }
-
-    @Test public void tickLabelFontPropertyHasName() {
-        assertEquals("tickLabelFont", axis.tickLabelFontProperty().getName());
-    }
-
-    @Test public void tickLabelFillPropertyHasBeanReference() {
-        assertSame(axis, axis.tickLabelFillProperty().getBean());
-    }
-
-    @Test public void tickLabelFillPropertyHasName() {
-        assertEquals("tickLabelFill", axis.tickLabelFillProperty().getName());
-    }
-
-    @Test public void tickLabelGapPropertyHasBeanReference() {
-        assertSame(axis, axis.tickLabelGapProperty().getBean());
-    }
-
-    @Test public void tickLabelGapPropertyHasName() {
-        assertEquals("tickLabelGap", axis.tickLabelGapProperty().getName());
-    }
-
-    @Test public void animatedPropertyHasBeanReference() {
-        assertSame(axis, axis.animatedProperty().getBean());
-    }
-
-    @Test public void animatedPropertyHasName() {
-        assertEquals("animated", axis.animatedProperty().getName());
-    }
-
-    @Test public void tickLabelRotationPropertyHasBeanReference() {
-        assertSame(axis, axis.tickLabelRotationProperty().getBean());
-    }
-
-    @Test public void tickLabelRotationPropertyHasName() {
-        assertEquals("tickLabelRotation", axis.tickLabelRotationProperty().getName());
-    }
-
-    
-    
-    /*********************************************************************
-     * Check for Pseudo classes                                          *
-     ********************************************************************/
-    @Test public void settingSideTopSetsTopAndClearsOther3SidesPseudoClass() {
-        axis.setSide(Side.TOP);
-        assertPseudoClassExists(axis, "top");
-        assertPseudoClassDoesNotExist(axis, "left");
-        assertPseudoClassDoesNotExist(axis, "right");
-        assertPseudoClassDoesNotExist(axis, "bottom");
-    }
-
-    @Test public void settingSideLeftSetsLeftAndClearsOther3SidesPseudoClass() {
-        axis.setSide(Side.LEFT);
-        assertPseudoClassExists(axis, "left");
-        assertPseudoClassDoesNotExist(axis, "top");
-        assertPseudoClassDoesNotExist(axis, "right");
-        assertPseudoClassDoesNotExist(axis, "bottom");
-    }
-
-    @Test public void settingSideRightSetsRightAndClearsOther3SidesPseudoClass() {
-        axis.setSide(Side.RIGHT);
-        assertPseudoClassExists(axis, "right");
-        assertPseudoClassDoesNotExist(axis, "left");
-        assertPseudoClassDoesNotExist(axis, "top");
-        assertPseudoClassDoesNotExist(axis, "bottom");
-    }
-
-    @Test public void settingSideBottomSetsBottomAndClearsOther3SidesPseudoClass() {
-        axis.setSide(Side.BOTTOM);
-        assertPseudoClassExists(axis, "bottom");
-        assertPseudoClassDoesNotExist(axis, "left");
-        assertPseudoClassDoesNotExist(axis, "right");
-        assertPseudoClassDoesNotExist(axis, "top");
-    }
-
-
-    
-    /*********************************************************************
-     * CSS related Tests                                                 *
-     ********************************************************************/
-    @Test public void whenSideIsBound_impl_cssSettable_ReturnsFalse() {
-        CssMetaData styleable = ((StyleableProperty)axis.sideProperty()).getCssMetaData();
-        assertTrue(styleable.isSettable(axis));
-        ObjectProperty<Side> other = new SimpleObjectProperty<Side>(Side.LEFT);
-        axis.sideProperty().bind(other);
-        assertFalse(styleable.isSettable(axis));
-    }
-
-    @Test public void whenSideIsSpecifiedViaCSSAndIsNotBound_impl_cssSettable_ReturnsTrue() {
-        CssMetaData styleable = ((StyleableProperty)axis.sideProperty()).getCssMetaData();
-        assertTrue(styleable.isSettable(axis));
-    }
-
-    @Test public void canSpecifySideViaCSS() {
-        ((StyleableProperty)axis.sideProperty()).applyStyle(null, Side.BOTTOM);
-        assertSame(Side.BOTTOM, axis.getSide());
-    }
-
-    @Test public void whenTickMarkVisibleIsBound_impl_cssSettable_ReturnsFalse() {
-        CssMetaData styleable = ((StyleableProperty)axis.tickMarkVisibleProperty()).getCssMetaData();
-        assertTrue(styleable.isSettable(axis));
-        BooleanProperty other = new SimpleBooleanProperty();
-        axis.tickMarkVisibleProperty().bind(other);
-        assertFalse(styleable.isSettable(axis));
-    }
-
-    @Test public void whenTickMarkVisibleIsSpecifiedViaCSSAndIsNotBound_impl_cssSettable_ReturnsTrue() {
-        CssMetaData styleable = ((StyleableProperty)axis.tickMarkVisibleProperty()).getCssMetaData();
-        assertTrue(styleable.isSettable(axis));
-    }
-
-    @Test public void canSpecifyTickMarkVisibleViaCSS() {
-        ((StyleableProperty)axis.tickMarkVisibleProperty()).applyStyle(null, Boolean.TRUE);
-        assertSame(true, axis.isTickMarkVisible());
-    }
-
-    @Test public void whenTickLabelsVisibleIsBound_impl_cssSettable_ReturnsFalse() {
-        CssMetaData styleable = ((StyleableProperty)axis.tickLabelsVisibleProperty()).getCssMetaData();
-        assertTrue(styleable.isSettable(axis));
-        BooleanProperty other = new SimpleBooleanProperty();
-        axis.tickLabelsVisibleProperty().bind(other);
-        assertFalse(styleable.isSettable(axis));
-    }
-
-    @Test public void whenTickLabelsVisibleIsSpecifiedViaCSSAndIsNotBound_impl_cssSettable_ReturnsTrue() {
-        CssMetaData styleable = ((StyleableProperty)axis.tickLabelsVisibleProperty()).getCssMetaData();
-        assertTrue(styleable.isSettable(axis));
-    }
-
-    @Test public void canSpecifyTickLabelsVisibleViaCSS() {
-        ((StyleableProperty)axis.tickLabelsVisibleProperty()).applyStyle(null, Boolean.TRUE);
-        assertSame(true, axis.isTickMarkVisible());
-    }
-
-    @Test public void whenTickLengthIsBound_impl_cssSettable_ReturnsFalse() {
-        CssMetaData styleable = ((StyleableProperty)axis.tickLengthProperty()).getCssMetaData();
-        assertTrue(styleable.isSettable(axis));
-        DoubleProperty other = new SimpleDoubleProperty();
-        axis.tickLengthProperty().bind(other);
-        assertFalse(styleable.isSettable(axis));
-    }
-
-    @Test public void whenTickLengthIsSpecifiedViaCSSAndIsNotBound_impl_cssSettable_ReturnsTrue() {
-        CssMetaData styleable = ((StyleableProperty)axis.tickLengthProperty()).getCssMetaData();
-        assertTrue(styleable.isSettable(axis));
-    }
-
-    @Test public void canSpecifyTickLengthViaCSS() {
-        ((StyleableProperty)axis.tickLengthProperty()).applyStyle(null, 10.34);
-        assertEquals(10.34, axis.tickLengthProperty().get(), 0.000001);
-    }
-
-    @Test public void whenTickLabelFontIsBound_impl_cssSettable_ReturnsFalse() {
-        CssMetaData styleable = ((StyleableProperty)axis.tickLabelFontProperty()).getCssMetaData();
-        assertTrue(styleable.isSettable(axis));
-        ObjectProperty<Font> other = new SimpleObjectProperty<Font>(Font.getDefault());
-        axis.tickLabelFontProperty().bind(other);
-        assertFalse(styleable.isSettable(axis));
-    }
-
-    @Test public void whenTickLabelFontIsSpecifiedViaCSSAndIsNotBound_impl_cssSettable_ReturnsTrue() {
-        CssMetaData styleable = ((StyleableProperty)axis.tickLabelFontProperty()).getCssMetaData();
-        assertTrue(styleable.isSettable(axis));
-    }
-
-    @Test public void canSpecifyTickLabelFontViaCSS() {
-        ((StyleableProperty)axis.tickLabelFontProperty()).applyStyle(null, Font.getDefault());
-        assertSame(Font.getDefault(), axis.getTickLabelFont());
-    }
-
-    @Test public void whenTickLabelFillIsBound_impl_cssSettable_ReturnsFalse() {
-        CssMetaData styleable = ((StyleableProperty)axis.tickLabelFillProperty()).getCssMetaData();
-        assertTrue(styleable.isSettable(axis));
-        ObjectProperty<Color> other = new SimpleObjectProperty<Color>(Color.BROWN);
-        axis.tickLabelFillProperty().bind(other);
-        assertFalse(styleable.isSettable(axis));
-    }
-
-    @Test public void whenTickLabelFillIsSpecifiedViaCSSAndIsNotBound_impl_cssSettable_ReturnsTrue() {
-        CssMetaData styleable = ((StyleableProperty)axis.tickLabelFillProperty()).getCssMetaData();
-        assertTrue(styleable.isSettable(axis));
-    }
-
-    @Test public void canSpecifyTickLabelFillViaCSS() {
-        ((StyleableProperty)axis.tickLabelFillProperty()).applyStyle(null, Color.BROWN);
-        assertSame(Color.BROWN, axis.getTickLabelFill());
-    }
-
-    @Test public void whenTickLabelGapIsBound_impl_cssSettable_ReturnsFalse() {
-        CssMetaData styleable = ((StyleableProperty)axis.tickLabelGapProperty()).getCssMetaData();
-        assertTrue(styleable.isSettable(axis));
-        DoubleProperty other = new SimpleDoubleProperty();
-        axis.tickLabelGapProperty().bind(other);
-        assertFalse(styleable.isSettable(axis));
-    }
-
-    @Test public void whenTickLabelGapIsSpecifiedViaCSSAndIsNotBound_impl_cssSettable_ReturnsTrue() {
-        CssMetaData styleable = ((StyleableProperty)axis.tickLabelGapProperty()).getCssMetaData();
-        assertTrue(styleable.isSettable(axis));
-    }
-
-    @Test public void canSpecifyTickLabelGapViaCSS() {
-        ((StyleableProperty)axis.tickLabelGapProperty()).applyStyle(null, 10.34);
-        assertEquals(10.34, axis.getTickLabelGap(), 0.0);
-    }
-
-
-
-    /*********************************************************************
-     * Miscellaneous Tests                                         *
-     ********************************************************************/
-    @Test public void setSideAndSeeValueIsReflectedInModel() {
-        axis.setSide(Side.BOTTOM);
-        assertSame(axis.sideProperty().getValue(), Side.BOTTOM);
-    }
-    
-    @Test public void setHbarPolicyAndSeeValue() {
-        axis.setSide(Side.TOP);
-        assertSame(axis.getSide(), Side.TOP);
-    }
-    
-    @Test public void setTickMarkVisibleAndSeeValueIsReflectedInModel() {
-        axis.setTickMarkVisible(false);
-        assertFalse(axis.tickMarkVisibleProperty().getValue());
-    }
-    
-    @Test public void setTickMarkVisibleAndSeeValue() {
-        axis.setTickMarkVisible(true);
-        assertTrue(axis.isTickMarkVisible());
-    }
-    
-    @Test public void setTickLabelsVisibleAndSeeValueIsReflectedInModel() {
-        axis.setTickLabelsVisible(false);
-        assertFalse(axis.tickLabelsVisibleProperty().getValue());
-    }
-    
-    @Test public void setTickLabelsVisibleAndSeeValue() {
-        axis.setTickLabelsVisible(true);
-        assertTrue(axis.isTickLabelsVisible());
-    }
-    
-    @Test public void setTickLengthAndSeeValueIsReflectedInModel() {
-        axis.setTickLength(30.0);
-        assertEquals(axis.tickLengthProperty().getValue(), 30.0, 0.0);
-    }
-    
-    @Test public void setTickLengthAndSeeValue() {
-        axis.setTickLength(30.0);
-        assertEquals(axis.getTickLength(), 30.0, 0.0);
-    }
-    
-    @Test public void setAutoRangingAndSeeValueIsReflectedInModel() {
-        axis.setAutoRanging(false);
-        assertFalse(axis.autoRangingProperty().getValue());
-    }
-    
-    @Test public void setAutoRangingAndSeeValue() {
-        axis.setAutoRanging(true);
-        assertTrue(axis.isAutoRanging());
-    }
-    
-    @Test public void setTickLabelFontAndSeeValueIsReflectedInModel() {
-        axis.setTickLabelFont(Font.getDefault());
-        assertSame(axis.tickLabelFontProperty().getValue(), Font.getDefault());
-    }
-    
-    @Test public void setTickLabelFontAndSeeValue() {
-        axis.setTickLabelFont(Font.getDefault());
-        assertSame(axis.getTickLabelFont(), Font.getDefault());
-    }
-    
-    @Test public void setTickLabelFillAndSeeValueIsReflectedInModel() {
-        axis.setTickLabelFill(Color.AQUA);
-        assertSame(axis.tickLabelFillProperty().getValue(), Color.AQUA);
-    }
-    
-    @Test public void setTickLabelFillAndSeeValue() {
-        axis.setTickLabelFill(Color.AQUA);
-        assertSame(axis.getTickLabelFill(), Color.AQUA);
-    }
-    
-    @Test public void setTickLabelGapAndSeeValueIsReflectedInModel() {
-        axis.setTickLabelGap(30.0);
-        assertEquals(axis.tickLabelGapProperty().getValue(), 30.0, 0.0);
-    }
-    
-    @Test public void setTickLabelGapAndSeeValue() {
-        axis.setTickLabelGap(30.0);
-        assertEquals(axis.getTickLabelGap(), 30.0, 0.0);
-    }
-    
-    @Test public void setAnimatedAndSeeValueIsReflectedInModel() {
-        axis.setAnimated(false);
-        assertFalse(axis.animatedProperty().getValue());
-    }
-    
-    @Test public void setAnimatedAndSeeValue() {
-        axis.setAnimated(true);
-        assertTrue(axis.getAnimated());
-    }
-    
-    @Test public void setTickLabelRotationAndSeeValueIsReflectedInModel() {
-        axis.setTickLabelRotation(30.0);
-        assertEquals(axis.tickLabelRotationProperty().getValue(), 30.0, 0.0);
-    }
-    
-    @Test public void setTickLabelRotationAndSeeValue() {
-        axis.setTickLabelRotation(30.0);
-        assertEquals(axis.getTickLabelRotation(), 30.0, 0.0);
-    }
-    
-    
-}
--- a/modules/controls/src/test/java/javafx/scene/chart/BarChartTest.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,143 +0,0 @@
-/*
- * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.chart;
-
-import java.util.Arrays;
-import javafx.collections.FXCollections;
-import org.junit.Test;
-import static org.junit.Assert.assertEquals;
-import javafx.collections.*;
-
-import javafx.scene.Node;
-import javafx.scene.chart.XYChart.Series;
-import javafx.scene.layout.StackPane;
-
-/**
- *
- * @author paru
- */
-public class BarChartTest extends XYChartTestBase {
-
-    static String[] years = {"2010", "2011", "2012"};
-    static double[] anvilsSold = { 567, 1292, 2423 };
-    static double[] skatesSold = { 956, 1665, 2559 };
-    static double[] pillsSold = { 1154, 1927, 2774 };
-    final CategoryAxis xAxis = new CategoryAxis();
-    final NumberAxis yAxis = new NumberAxis();
-    final BarChart<String,Number> bc = new BarChart<String,Number>(xAxis,yAxis);
-    
-    @Override
-    protected Chart createChart() {
-        xAxis.setLabel("X Axis");
-        xAxis.setCategories(FXCollections.<String>observableArrayList(Arrays.asList(years)));
-        yAxis.setLabel("Y Axis");
-        // add starting data
-        XYChart.Series<String,Number> series1 = new XYChart.Series<String,Number>();
-        series1.setName("Data Series 1");
-        XYChart.Series<String,Number> series2 = new XYChart.Series<String,Number>();
-        series2.setName("Data Series 2");
-        series1.getData().add(new XYChart.Data<String,Number>(years[0], 567));
-        series1.getData().add(new XYChart.Data<String,Number>(years[1], 1292));
-        series1.getData().add(new XYChart.Data<String,Number>(years[2], 2180));
-
-        series2.getData().add(new XYChart.Data<String,Number>(years[0], 956));
-        series2.getData().add(new XYChart.Data<String,Number>(years[1], 1665));
-        series2.getData().add(new XYChart.Data<String,Number>(years[2], 2450));
-        bc.getData().add(series1);
-        bc.getData().add(series2);
-        return bc;
-    }
-    
-    @Test
-    public void testAddingCustomStyleClassToBarChartBarNodes() {
-        startApp();
-        XYChart.Series<String, Number> series = new XYChart.Series();
-        ObservableList<XYChart.Data<String, Number>> seriesData = series.getData();
-        String xValue = "A";
-        Number yValue = Integer.valueOf(20);
-        XYChart.Data<String, Number> item = new XYChart.Data(xValue, yValue);
-        Node bar = item.getNode();
-        if (bar == null) {
-            bar = new StackPane();
-        }
-        String myStyleClass = "my-style";
-        bar.getStyleClass().add(myStyleClass);
-        item.setNode(bar);
-        seriesData.add(item); 
-        bc.getData().add(series);
-        assertEquals("my-style", bar.getStyleClass().get(0));
-    }
-    
-    @Test
-    public void testCategoryAxisCategoriesOnAddDataAtIndex() {
-        startApp();
-        bc.getData().clear();
-        xAxis.getCategories().clear();
-        xAxis.setAutoRanging(true);
-        XYChart.Series<String,Number> series = new XYChart.Series<String,Number>();
-        series.getData().clear();
-        series.getData().add(new XYChart.Data<String, Number>("1", 1));
-        series.getData().add(new XYChart.Data<String, Number>("2", 2));
-        series.getData().add(new XYChart.Data<String, Number>("3", 3));
-        bc.getData().add(series); 
-        pulse();
-        // category at index 0 = "1"
-        assertEquals("1", xAxis.getCategories().get(0));
-        series.getData().add(0, new XYChart.Data<String, Number>("0", 5));
-        pulse();
-        // item inserted at 0; category at index 0 = 0
-        assertEquals("0", xAxis.getCategories().get(0));
-    }
-    
-    @Test
-    public void testRemoveAndAddSameSeriesBeforeAnimationCompletes() {
-        startApp();
-        assertEquals(2, bc.getData().size());
-        // remove and add the same series.
-        bc.getData().add(bc.getData().remove(0));
-        pulse();
-        assertEquals(2, bc.getData().size());
-    }
-    
-    @Test
-    public void testRemoveAndAddSameDataBeforeAnimationCompletes() {
-        startApp();
-        Series s = bc.getData().get(0);
-        assertEquals(3, s.getDataSize());
-        s.getData().add(s.getData().remove(0));
-        assertEquals(3, s.getDataSize());
-    }
-
-    @Test
-    public void testRemoveNotAnimated() {
-        startApp();
-        bc.setAnimated(false);
-        Series s = bc.getData().get(0);
-        assertEquals(3, s.getDataSize());
-        s.getData().remove(0);
-        assertEquals(2, s.getDataSize());
-    }
-}
--- a/modules/controls/src/test/java/javafx/scene/chart/CategoryAxisTest.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,271 +0,0 @@
-/*
- * Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.chart;
-
-import javafx.css.CssMetaData;
-import javafx.beans.property.BooleanProperty;
-import javafx.beans.property.DoubleProperty;
-import javafx.beans.property.ReadOnlyDoubleProperty;
-import javafx.beans.property.SimpleBooleanProperty;
-import javafx.beans.property.SimpleDoubleProperty;
-import javafx.collections.FXCollections;
-import javafx.collections.ObservableList;
-import javafx.css.StyleableProperty;
-import static org.junit.Assert.*;
-
-
-import org.junit.Before;
-import org.junit.Test;
-
-import java.util.Arrays;
-
-/**
- * All public members of CatgoryAxis are tested here . 
- * @author srikalyc
- */
-public class CategoryAxisTest {
-    private CategoryAxis axis;//Empty string
-    private AxisHelper helper;
-    
-    public CategoryAxisTest() {
-        helper = new AxisHelper();
-    }
-    
-    @Before public void setup() {
-        if (axis == null) {
-            axis = new CategoryAxis();
-        }
-        helper.setAxis(axis);
-    }
-    
-   
-   
-    /*********************************************************************
-     * Tests for default values                                         *
-     ********************************************************************/
-    
-    @Test public void defaultStartMargin() {
-        assertEquals(axis.getStartMargin(), 5.0 , 0.0);
-    }
-
-    @Test public void defaultEndMargin() {
-        assertEquals(axis.getStartMargin(), 5.0 , 0.0);
-    }
-
-    @Test public void defaultGapStartAndEndIsTrue() {
-        assertTrue(axis.isGapStartAndEnd());
-    }
-
-    @Test public void defaultCategorySpacing() {
-        assertEquals(axis.getCategorySpacing(), 1.0 , 0.0);
-    }
-
-    @Test public void noArgConstructorSetsNonNullCategories() {
-        assertNotNull(axis.getCategories());
-    }
-
-
-    /*********************************************************************
-     * Tests for property binding                                        *
-     ********************************************************************/
-    
-    @Test public void checkStartMarginPropertyBind() {
-        DoubleProperty objPr = new SimpleDoubleProperty(56.0);
-        axis.startMarginProperty().bind(objPr);
-        assertEquals("startMarginProperty cannot be bound", axis.startMarginProperty().getValue(),56.0,0.0);
-        objPr.setValue(23.0);
-        assertEquals("startMarginProperty cannot be bound", axis.startMarginProperty().getValue(),23.0,0.0);
-    }
-    
-    @Test public void checkEndMarginPropertyBind() {
-        DoubleProperty objPr = new SimpleDoubleProperty(56.0);
-        axis.endMarginProperty().bind(objPr);
-        assertEquals("endMarginProperty cannot be bound", axis.endMarginProperty().getValue(),56.0,0.0);
-        objPr.setValue(23.0);
-        assertEquals("endMarginProperty cannot be bound", axis.endMarginProperty().getValue(),23.0,0.0);
-    }
-    
-    
-    @Test public void checkGapStartAndEndPropertyBind() {
-        BooleanProperty objPr = new SimpleBooleanProperty(true);
-        axis.gapStartAndEndProperty().bind(objPr);
-        assertTrue("gapStartAndEndProperty cannot be bound", axis.gapStartAndEndProperty().getValue());
-        objPr.setValue(false);
-        assertFalse("gapStartAndEndProperty cannot be bound", axis.gapStartAndEndProperty().getValue());
-    }
-    
-    
-    @Test public void checkCategorySpacingReadOnlyCannotBind() {
-        assertTrue(axis.categorySpacingProperty() instanceof ReadOnlyDoubleProperty);
-    }
-    
-    @Test public void startMarginPropertyHasBeanReference() {
-        assertSame(axis, axis.startMarginProperty().getBean());
-    }
-
-    @Test public void startMarginPropertyHasName() {
-        assertEquals("startMargin", axis.startMarginProperty().getName());
-    }
-
-    @Test public void endMarginPropertyHasBeanReference() {
-        assertSame(axis, axis.endMarginProperty().getBean());
-    }
-
-    @Test public void endMarginPropertyHasName() {
-        assertEquals("endMargin", axis.endMarginProperty().getName());
-    }
-
-    @Test public void gapStartAndEndPropertyHasBeanReference() {
-        assertSame(axis, axis.gapStartAndEndProperty().getBean());
-    }
-
-    @Test public void gapStartAndEndPropertyHasName() {
-        assertEquals("gapStartAndEnd", axis.gapStartAndEndProperty().getName());
-    }
-
-    @Test public void categorySpacingPropertyHasBeanReference() {
-        assertSame(axis, axis.categorySpacingProperty().getBean());
-    }
-
-    @Test public void categorySpacingPropertyHasName() {
-        assertEquals("categorySpacing", axis.categorySpacingProperty().getName());
-    }
-
-
-    
-    /*********************************************************************
-     * CSS related Tests                                                 *
-     ********************************************************************/
-    @Test public void whenStartMarginIsBound_impl_cssSettable_ReturnsFalse() {
-        CssMetaData styleable = ((StyleableProperty)axis.startMarginProperty()).getCssMetaData();
-        assertTrue(styleable.isSettable(axis));
-        DoubleProperty other = new SimpleDoubleProperty();
-        axis.startMarginProperty().bind(other);
-        assertFalse(styleable.isSettable(axis));
-    }
-
-    @Test public void whenStartMarginIsSpecifiedViaCSSAndIsNotBound_impl_cssSettable_ReturnsTrue() {
-        CssMetaData styleable = ((StyleableProperty)axis.startMarginProperty()).getCssMetaData();
-        assertTrue(styleable.isSettable(axis));
-    }
-
-    @Test public void canSpecifyStartMarginViaCSS() {
-        ((StyleableProperty)axis.startMarginProperty()).applyStyle(null, 10.34);
-        assertEquals(10.34, axis.getStartMargin(), 0.0);
-    }
-
-    @Test public void whenEndMarginIsBound_impl_cssSettable_ReturnsFalse() {
-        CssMetaData styleable = ((StyleableProperty)axis.endMarginProperty()).getCssMetaData();
-        assertTrue(styleable.isSettable(axis));
-        DoubleProperty other = new SimpleDoubleProperty();
-        axis.endMarginProperty().bind(other);
-        assertFalse(styleable.isSettable(axis));
-    }
-
-    @Test public void whenEndMarginIsSpecifiedViaCSSAndIsNotBound_impl_cssSettable_ReturnsTrue() {
-        CssMetaData styleable = ((StyleableProperty)axis.endMarginProperty()).getCssMetaData();
-        assertTrue(styleable.isSettable(axis));
-    }
-
-    @Test public void canSpecifyEndMarginViaCSS() {
-        ((StyleableProperty)axis.endMarginProperty()).applyStyle(null, 10.34);
-        assertEquals(10.34, axis.getEndMargin(), 0.0);
-    }
-
-
-    @Test public void whenGapStartAndEndIsBound_impl_cssSettable_ReturnsFalse() {
-        CssMetaData styleable = ((StyleableProperty)axis.gapStartAndEndProperty()).getCssMetaData();
-        assertTrue(styleable.isSettable(axis));
-        BooleanProperty other = new SimpleBooleanProperty();
-        axis.gapStartAndEndProperty().bind(other);
-        assertFalse(styleable.isSettable(axis));
-    }
-
-    @Test public void whenGapStartAndEndIsSpecifiedViaCSSAndIsNotBound_impl_cssSettable_ReturnsTrue() {
-        CssMetaData styleable = ((StyleableProperty)axis.gapStartAndEndProperty()).getCssMetaData();
-        assertTrue(styleable.isSettable(axis));
-    }
-
-    @Test public void canGapStartAndEndViaCSS() {
-        ((StyleableProperty)axis.gapStartAndEndProperty()).applyStyle(null, Boolean.TRUE);
-        assertSame(true, axis.isGapStartAndEnd());
-    }
-
-
-
-    /*********************************************************************
-     * Miscellaneous Tests                                         *
-     ********************************************************************/
-    
-    @Test public void setStartMarginAndSeeValueIsReflectedInModel() {
-        axis.setStartMargin(30.0);
-        assertEquals(axis.startMarginProperty().getValue(), 30.0, 0.0);
-    }
-    
-    @Test public void setStartMarginAndSeeValue() {
-        axis.setStartMargin(30.0);
-        assertEquals(axis.getStartMargin(), 30.0, 0.0);
-    }
-    
-    @Test public void setEndMarginAndSeeValueIsReflectedInModel() {
-        axis.setEndMargin(30.0);
-        assertEquals(axis.endMarginProperty().getValue(), 30.0, 0.0);
-    }
-    
-    @Test public void setEndMarginAndSeeValue() {
-        axis.setEndMargin(30.0);
-        assertEquals(axis.getEndMargin(), 30.0, 0.0);
-    }
-    
-    @Test public void setGapStartAndEndAndSeeValueIsReflectedInModel() {
-        axis.setGapStartAndEnd(false);
-        assertFalse(axis.gapStartAndEndProperty().getValue());
-    }
-    
-    @Test public void setGapStartAndEndAndSeeValue() {
-        axis.setTickLabelsVisible(true);
-        assertTrue(axis.isGapStartAndEnd());
-    }
-    
-    @Test public void setCategoriesAndSeeValue() {
-        ObservableList<String> list = FXCollections.observableArrayList();
-        axis.setCategories(list);
-        assertSame(axis.getCategories(), list);
-    }
-
-    @Test
-    public void testDisplayPositionOfValue() {
-        axis.setCategories(FXCollections.observableArrayList("A", "B", "C", "D"));
-        assertTrue(Double.isFinite(axis.getDisplayPosition("C")));
-    }
-
-    @Test
-    public void testDisplayPositionOfInvalidValue() {
-        axis.setCategories(FXCollections.observableArrayList("A", "B", "C", "D"));
-        assertTrue(Double.isNaN(axis.getDisplayPosition("E")));
-    }
-    
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/controls/src/test/java/javafx/scene/chart/ChartShim.java	Fri Sep 18 09:09:22 2015 -0400
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ * 
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ * 
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ * 
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ * 
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package javafx.scene.chart;
+
+import javafx.collections.ObservableList;
+import javafx.scene.Node;
+
+public class ChartShim {
+
+    public static Node getLegend(Chart c) {
+        return c.getLegend();
+    } 
+
+    public static ObservableList<Node> getChartChildren(Chart c) {
+        return c.getChartChildren();
+    }
+    
+}
--- a/modules/controls/src/test/java/javafx/scene/chart/ChartTestBase.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-/*
- * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.chart;
-
-import static junit.framework.Assert.assertEquals;
-import static junit.framework.Assert.assertFalse;
-import static junit.framework.Assert.assertSame;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-import test.com.sun.javafx.pgstub.StubToolkit;
-import com.sun.javafx.tk.Toolkit;
-import javafx.collections.ObservableList;
-
-import javafx.scene.Group;
-import javafx.scene.Node;
-import javafx.scene.Scene;
-import javafx.scene.paint.Color;
-import javafx.scene.shape.Rectangle;
-import javafx.stage.Stage;
-import javafx.scene.layout.Region;
-import javafx.scene.shape.*;
-
-
-/**
- *
- * @author paru
- */
-public abstract class ChartTestBase {
-    private Scene scene;
-    private Stage stage;
-    StubToolkit toolkit = (StubToolkit) Toolkit.getToolkit(); 
-    private Chart chart;
-    
-    @Before
-    public void setUp() {
-        chart = createChart();
-        chart.setAnimated(false);
-    }
-    
-    protected void startApp() {
-        scene = new Scene(chart,800,600);
-        stage = new Stage();
-        stage.setScene(scene);
-        stage.show();
-        toolkit.setAnimationTime(0);
-        pulse();
-    }
-    
-    protected void pulse() {
-        toolkit.fireTestPulse();
-    }
-    
-    protected Scene getTestScene() {
-        return this.scene;
-    }
-    
-    protected void setTestScene(Scene scene) {
-        this.scene = scene;
-    }
-    
-    protected Stage getTestStage() {
-        return this.stage;
-    }
-    
-    protected void setTestStage(Stage stage) {
-        this.stage = stage;
-    }
-    
-    protected abstract Chart createChart();
-    
-    StringBuffer computeSVGPath(Path line) {
-        StringBuffer str = new StringBuffer();
-        for(PathElement pe : line.getElements()) {
-            if (pe instanceof LineTo) {
-                str.append("L"+((LineTo)pe).getX()+" "+((LineTo)pe).getY()+" ");
-            } 
-        }
-        return str;
-    }
-    
-    StringBuffer computeBoundsString(Region r1, Region r2, Region r3) {
-        StringBuffer str = new StringBuffer();
-        str.append(Math.round(r1.getLayoutX())
-                                +" "+Math.round(r1.getLayoutY())+" "+Math.round(r1.getWidth())+
-                                " "+Math.round(r1.getHeight())+" ");
-        str.append(Math.round(r2.getLayoutX())
-                                +" "+Math.round(r2.getLayoutY())+" "+Math.round(r2.getWidth())+
-                                " "+Math.round(r2.getHeight())+" ");
-        str.append(Math.round(r3.getLayoutX())
-                                +" "+Math.round(r3.getLayoutY())+" "+Math.round(r3.getWidth())+
-                                " "+Math.round(r3.getHeight())+" ");
-        return str;
-    }
-}
--- a/modules/controls/src/test/java/javafx/scene/chart/LineChartTest.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
-/*
- * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.chart;
-
-import com.sun.javafx.scene.control.infrastructure.ControlTestUtils;
-import javafx.collections.ObservableList;
-import javafx.scene.Node;
-import javafx.scene.shape.Path;
-import static org.junit.Assert.assertEquals;
-import org.junit.Ignore;
-import org.junit.Test;
-
-public class LineChartTest extends XYChartTestBase {
-
-    LineChart<Number,Number> lineChart;
-    final XYChart.Series<Number, Number> series1 = new XYChart.Series<Number, Number>();
-    
-    @Override protected Chart createChart() {
-        final NumberAxis xAxis = new NumberAxis();
-        final NumberAxis yAxis = new NumberAxis();
-        lineChart = new LineChart<Number,Number>(xAxis,yAxis);
-        xAxis.setLabel("X Axis");
-        yAxis.setLabel("Y Axis");
-        lineChart.setTitle("HelloLineChart");
-        // add starting data
-        series1.getData().add(new XYChart.Data(10d, 10d));
-        series1.getData().add(new XYChart.Data(25d, 20d));
-        series1.getData().add(new XYChart.Data(30d, 15d));
-        series1.getData().add(new XYChart.Data(50d, 15d));
-        series1.getData().add(new XYChart.Data(80d, 10d));
-        return lineChart;
-    }
-    
-    private StringBuffer getSeriesLineFromPlot() {
-        ObservableList<Node> childrenList = lineChart.getPlotChildren();
-        StringBuffer sb = new StringBuffer();
-        for (Node n : childrenList) {
-            if (n instanceof Path && "chart-series-line".equals(n.getStyleClass().get(0))) {
-                Path line = (Path)n;
-                sb = computeSVGPath(line);
-                return sb;
-            }
-        }
-        return sb;
-    }
-
-    @Test
-    public void testCreateSymbols() {
-        startApp();
-        lineChart.setCreateSymbols(false);
-        pulse();
-        lineChart.getData().addAll(series1);
-        pulse();
-        assertEquals(0, countSymbols(lineChart, "chart-line-symbol"));
-
-        lineChart.getData().clear();
-        pulse();
-        lineChart.setCreateSymbols(true);
-        pulse();
-        lineChart.getData().addAll(series1);
-        assertEquals(5, countSymbols(lineChart, "chart-line-symbol"));
-    }
-
-    @Test
-    public void testDataItemAdd() {
-        startApp();
-        lineChart.getData().addAll(series1);
-        pulse();
-        series1.getData().add(new XYChart.Data(60d, 30d));
-        pulse();
-        // 5 stackpane nodes and 1 path node + new stackpane for data added
-        assertEquals(7, lineChart.getPlotChildren().size());
-    }
-
-     @Test @Ignore
-     // Ignored because the animation's Timeline doesn't run. It used to be that the item was added before the
-     // animation was run. Now the item is added as the onFinished handler of the first KeyFrame. Since the
-     // Timeline doesn't run in the context of the unit test, this test fails. In fact, this test never really
-     // achieved its purpose.
-    public void testDataItemAddWithAnimation() {
-        startApp();
-        lineChart.setAnimated(true);
-        lineChart.getData().addAll(series1);
-        pulse();
-        series1.getData().add(new XYChart.Data(60d, 30d));
-        pulse();
-        // 5 stackpane nodes and 1 path node + new stackpane for data added
-        assertEquals(7, lineChart.getPlotChildren().size());
-    }
-      
-    @Test
-    public void testDataItemRemove() {
-        startApp();
-        lineChart.getData().addAll(series1);
-        pulse();
-        if (!lineChart.getData().isEmpty()) {
-            series1.getData().remove(0);
-            pulse();
-            // 4 stackpane nodes and one path node
-            assertEquals(5, lineChart.getPlotChildren().size());
-        }
-    }
-     
-     @Test
-    public void testSeriesAddWithAnimation() {
-        startApp();
-        lineChart.setAnimated(true);
-        final XYChart.Series<Number, Number> series2 = new XYChart.Series<Number, Number>();
-        series1.getData().add(new XYChart.Data(15d, 40d));
-        series1.getData().add(new XYChart.Data(25d, 10d));
-        series1.getData().add(new XYChart.Data(40d, 35d));
-        lineChart.getData().addAll(series1);
-        pulse();
-        assertEquals(true, lineChart.getAnimated());
-    }
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/controls/src/test/java/javafx/scene/chart/NumberAxisShim.java	Fri Sep 18 09:09:22 2015 -0400
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ * 
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ * 
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ * 
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ * 
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package javafx.scene.chart;
+
+import java.util.List;
+
+public class NumberAxisShim {
+
+    public static List<Number> calculateTickValues(NumberAxis na, double length, Object range) {
+        return na.calculateTickValues(length, range);
+    }
+
+    public static List<Number> calculateMinorTickMarks(NumberAxis na) {
+        return na.calculateMinorTickMarks();
+    }
+
+    public static Object getRange(NumberAxis na) {
+        return na.getRange();
+    }
+    
+}
--- a/modules/controls/src/test/java/javafx/scene/chart/NumberAxisTest.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,258 +0,0 @@
-/*
- * Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.chart;
-
-import javafx.css.CssMetaData;
-import javafx.beans.property.BooleanProperty;
-import javafx.beans.property.DoubleProperty;
-import javafx.beans.property.SimpleBooleanProperty;
-import javafx.beans.property.SimpleDoubleProperty;
-import javafx.css.StyleableProperty;
-import javafx.util.StringConverter;
-import static org.junit.Assert.*;
-
-
-import org.junit.Before;
-import org.junit.Test;
-
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * All public members of NumberAxis are tested here . 
- * @author srikalyc
- */
-public class NumberAxisTest {
-    private NumberAxis axis;//Empty string
-    private NumberAxis threeValueAxis;//Empty string
-    private NumberAxis fourValueAxis;//Empty string
-    private ValueAxisHelper helper;
-    private StringConverter<Number> formatter;
-    
-    public NumberAxisTest() {
-        helper = new ValueAxisHelper();
-    }
-    
-    @Before public void setup() {
-        if (axis == null) {
-            axis = new NumberAxis();
-        }
-        if (threeValueAxis == null) {
-            threeValueAxis = new NumberAxis(0.0, 100.0, 10.0);
-        }
-        if (fourValueAxis == null) {
-            fourValueAxis = new NumberAxis("dummy", 0.0, 100.0, 10.0);
-        }
-        helper.setValueAxis(axis);
-        helper.setThreeValueAxis(threeValueAxis);
-        helper.setFourValueAxis(fourValueAxis);
-        formatter = new StringConverter<Number>() {
-            @Override
-            public String toString(Number object) { return null; }
-            @Override
-            public Number fromString(String string) { return null; }
-        };
-    }
-    
-   
-   
-    /*********************************************************************
-     * Tests for default values                                         *
-     ********************************************************************/
-
-    @Test public void defaultForceZeroInRangeIsTrue() {
-        assertTrue(axis.isForceZeroInRange());
-    }
-
-    @Test public void threeArgConstructorDefaults() {
-        assertEquals(threeValueAxis.getLowerBound(), 0.0, 0.0);
-        assertEquals(threeValueAxis.getUpperBound(), 100.0, 0.0);
-        assertEquals(threeValueAxis.getTickUnit(), 10.0, 0.0);
-    }
-
-    @Test public void fourArgConstructorDefaults() {
-        assertEquals(fourValueAxis.getLabel(), "dummy");//Axis label
-        assertEquals(fourValueAxis.getLowerBound(), 0.0, 0.0);
-        assertEquals(fourValueAxis.getUpperBound(), 100.0, 0.0);
-        assertEquals(fourValueAxis.getTickUnit(), 10.0, 0.0);
-    }
-
-    @Test public void defaultTickUnit() {
-        assertEquals(axis.getTickUnit(), 5.0 , 0.0);
-    }
-
-
-
-    /*********************************************************************
-     * Tests for property binding                                        *
-     ********************************************************************/
-    
-    
-    @Test public void checkForceZeroInRangePropertyBind() {
-        BooleanProperty objPr = new SimpleBooleanProperty(true);
-        axis.forceZeroInRangeProperty().bind(objPr);
-        assertTrue("forceZeroInRange cannot be bound", axis.forceZeroInRangeProperty().getValue());
-        objPr.setValue(false);
-        assertFalse("forceZeroInRange cannot be bound", axis.forceZeroInRangeProperty().getValue());
-    }
-    
-    
-    @Test public void checkTickUnitPropertyBind() {
-        DoubleProperty objPr = new SimpleDoubleProperty(56.0);
-        axis.tickUnitProperty().bind(objPr);
-        assertEquals("tickUnitProperty cannot be bound", axis.tickUnitProperty().getValue(),56.0,0.0);
-        objPr.setValue(23.0);
-        assertEquals("tickUnitProperty cannot be bound", axis.tickUnitProperty().getValue(),23.0,0.0);
-    }
-    
-    
-    @Test public void forceZeroInRangePropertyHasBeanReference() {
-        assertSame(axis, axis.forceZeroInRangeProperty().getBean());
-    }
-
-    @Test public void forceZeroInRangePropertyHasName() {
-        assertEquals("forceZeroInRange", axis.forceZeroInRangeProperty().getName());
-    }
-
-    @Test public void tickUnitPropertyHasBeanReference() {
-        assertSame(axis, axis.tickUnitProperty().getBean());
-    }
-
-    @Test public void tickUnitPropertyHasName() {
-        assertEquals("tickUnit", axis.tickUnitProperty().getName());
-    }
-
-
-    
-    /*********************************************************************
-     * CSS related Tests                                                 *
-     ********************************************************************/
-
-    @Test public void whenTickUnitIsBound_impl_cssSettable_ReturnsFalse() {
-        CssMetaData styleable = ((StyleableProperty)axis.tickUnitProperty()).getCssMetaData();
-        assertTrue(styleable.isSettable(axis));
-        DoubleProperty other = new SimpleDoubleProperty();
-        axis.tickUnitProperty().bind(other);
-        assertFalse(styleable.isSettable(axis));
-    }
-
-    @Test public void whenTickUnitIsSpecifiedViaCSSAndIsNotBound_impl_cssSettable_ReturnsTrue() {
-        CssMetaData styleable = ((StyleableProperty)axis.tickUnitProperty()).getCssMetaData();
-        assertTrue(styleable.isSettable(axis));
-    }
-
-    @Test public void canTickUnitViaCSS() {
-        ((StyleableProperty)axis.tickUnitProperty()).applyStyle(null, 10.34);
-        assertEquals(10.34, axis.getTickUnit(), 0.0);
-    }
-
-
-
-    /*********************************************************************
-     * Miscellaneous Tests                                         *
-     ********************************************************************/
-    
-    @Test public void setForceZeroInRangeAndSeeValueIsReflectedInModel() {
-        axis.setForceZeroInRange(false);
-        assertFalse(axis.forceZeroInRangeProperty().getValue());
-    }
-    
-    @Test public void setForceZeroInRangeAndSeeValue() {
-        axis.setForceZeroInRange(true);
-        assertTrue(axis.isForceZeroInRange());
-    }
-    
-    @Test public void setTickUnitAndSeeValueIsReflectedInModel() {
-        axis.setTickUnit(30.0);
-        assertEquals(axis.tickUnitProperty().getValue(), 30.0, 0.0);
-    }
-    
-    @Test public void setTickUnitAndSeeValue() {
-        axis.setTickUnit(30.0);
-        assertEquals(axis.getTickUnit(), 30.0, 0.0);
-    }
-
-    @Test public void testTicksWithCollapsedBounds() {
-        axis.setLowerBound(5);
-        axis.setUpperBound(5);
-
-        List<Number> ticks = axis.calculateTickValues(0 /*unused*/, axis.getRange());
-        assertEquals(Arrays.asList(5d), ticks);
-    }
-
-    @Test public void testTicksWithIncorrectTickUnit() {
-        axis.setLowerBound(0);
-        axis.setUpperBound(5);
-        axis.setTickUnit(-1);
-
-        List<Number> ticks = axis.calculateTickValues(0 /*unused*/, axis.getRange());
-        assertEquals(Arrays.asList(0d, 5d), ticks);
-    }
-
-    @Test public void testTicksNoIntermediateTicksIfTickUnitIsLarge() {
-        axis.setLowerBound(-0.1);
-        axis.setUpperBound(5);
-        axis.setTickUnit(6);
-
-        List<Number> ticks = axis.calculateTickValues(0 /*unused*/, axis.getRange());
-        assertEquals(Arrays.asList(-0.1, 5d), ticks);
-    }
-
-    @Test public void testAxisWithFractionalBounds() {
-        axis.setLowerBound(8.4);
-        axis.setTickUnit(1);
-        axis.setUpperBound(10);
-
-        List<Number> ticks = axis.calculateTickValues(0 /*unused*/, axis.getRange());
-        assertEquals(Arrays.asList(8.4, 9d, 10d), ticks);
-    }
-
-    @Test public void testAxisWithFractionalBoundsMinorTicksAligned() {
-        axis.setLowerBound(8.4);
-        axis.setTickUnit(1);
-        axis.setMinorTickCount(4);
-        axis.setUpperBound(10.3);
-
-        List<Number> ticks = axis.calculateMinorTickMarks();
-        assertEquals(Arrays.asList(8.5, 8.75, 9.25, 9.5, 9.75, 10.25), ticks);
-    }
-
-    @Test public void testAxisWithFractionalBoundsTickUnitFractional() {
-        axis.setLowerBound(8.4);
-        axis.setTickUnit(0.1);
-        axis.setMinorTickCount(2);
-        axis.setUpperBound(8.75);
-
-        List<Number> ticks = axis.calculateTickValues(0 /*unused*/, axis.getRange());
-        assertEquals(Arrays.asList(8.4, 8.5, 8.6, 8.7, 8.75), ticks);
-
-        // floating point calculation results in "8.450000000000001" instead of "8.45", so we need double array comparison
-        List<Number> minorTicks = axis.calculateMinorTickMarks();
-        double [] asDoubleArray = minorTicks.stream().mapToDouble(Number::doubleValue).toArray();
-        assertArrayEquals(new double[] {8.45, 8.55, 8.65}, asDoubleArray, 1e-10);
-    }
-
-}
--- a/modules/controls/src/test/java/javafx/scene/chart/PieChartTest.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +0,0 @@
-/*
- * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.chart;
-
-import com.sun.javafx.charts.Legend;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import javafx.collections.FXCollections;
-import javafx.collections.ObservableList;
-import javafx.scene.Node;
-import javafx.scene.text.Text;
-import org.junit.Test;
-import static org.junit.Assert.*;
-
-/**
- *
- * @author paru
- */
-public class PieChartTest extends ChartTestBase {
-
-    ObservableList<PieChart.Data> data;
-    PieChart pc;
-    
-    @Override
-    protected Chart createChart() {
-        data = FXCollections.observableArrayList();
-        pc = new PieChart(data);
-        return pc;
-    }
-    
-    @Test
-    public void testLabelsVisibleFalse_RT24106() {
-        data.add(new PieChart.Data("Sun", 20));
-        data.add(new PieChart.Data("IBM", 12));
-        data.add(new PieChart.Data("HP", 25));
-        data.add(new PieChart.Data("Dell", 22));
-        data.add(new PieChart.Data("Apple", 30));
-        pc.setLabelsVisible(false);
-        assertEquals(false, pc.getLabelsVisible());
-    }
-    
-    @Test
-    public void testLegendUpdateAfterPieNameChange_RT26854() {
-        startApp();
-        data.add(new PieChart.Data("Sun", 20));
-        for(Node n : pc.getChartChildren()) {
-            if (n instanceof Text) {
-                assertEquals("Sun", pc.getData().get(0).getName());
-            }
-        }
-        try {
-            Thread.sleep(100);
-        } catch (InterruptedException ex) {
-            Logger.getLogger(PieChartTest.class.getName()).log(Level.SEVERE, null, ex);
-        }
-        // change name of data item.
-        pc.getData().get(0).setName("Oracle");
-        for(Node n : pc.getChartChildren()) {
-            if (n instanceof Text) {
-                assertEquals("Oracle", pc.getData().get(0).getName());
-            }
-        }
-    }
-    
-    @Test
-    public void testDataItemRemovedWithAnimation() {
-        startApp();
-        pc.setAnimated(true);
-        data.add(new PieChart.Data("Sun", 20));
-        data.add(new PieChart.Data("IBM", 12));
-        data.add(new PieChart.Data("HP", 25));
-        data.add(new PieChart.Data("Dell", 22));
-        data.add(new PieChart.Data("Apple", 30));
-        pc.getData().remove(0);
-        assertEquals(4, pc.getData().size());
-    }
-
-    @Test
-    public void testDataNodeChangeReported() {
-        AtomicBoolean called = new AtomicBoolean();
-
-        PieChart.Data data = new PieChart.Data("ABC", 40);
-        data.nodeProperty().addListener((o) -> called.set(true));
-        pc.getData().add(data);
-
-        assertTrue(called.get());
-    }
-
-    private void checkStyleClass(int i, String styleClass) {
-        Node item = pc.getData().get(i).getNode();
-        assertTrue(item.getStyleClass().toString(),
-                item.getStyleClass().contains(styleClass));
-        Node legendItem = ((Legend)pc.getLegend()).getItems().get(i).getSymbol();
-        assertTrue(legendItem.getStyleClass().toString(),
-                legendItem.getStyleClass().contains(styleClass));
-    }
-
-    @Test
-    public void testCSSStyleClass_DataClear() {
-        for (int i = 0; i < 10; i++) {
-            data.add(new PieChart.Data(String.valueOf(i), i));
-        }
-        for (int i = 0; i < 10; i++) {
-            checkStyleClass(i, "data"+i);
-            checkStyleClass(i, "default-color"+i%8);
-        }
-        data.clear();
-        for (int i = 0; i < 10; i++) {
-            data.add(new PieChart.Data(String.valueOf(i), i));
-        }
-        for (int i = 0; i < 10; i++) {
-            checkStyleClass(i, "data"+i);
-            checkStyleClass(i, "default-color"+i%8);
-        }
-    }
-
-    @Test
-    public void testCSSStyleClass_DataModify() {
-        for (int i = 0; i < 10; i++) {
-            data.add(new PieChart.Data(String.valueOf(i), i));
-        }
-        data.remove(2); // 0, 1, 3, 4, ...
-        data.add(3, new PieChart.Data(String.valueOf(7.5), 7.5)); // 0, 1, 3, 7.5, 4
-        for (int i = 0; i < 10; i++) {
-            checkStyleClass(i, "data"+i);
-        }
-        checkStyleClass(2, "default-color3");
-        checkStyleClass(3, "default-color2");
-        checkStyleClass(4, "default-color4");
-
-        data.sort((PieChart.Data d1, PieChart.Data d2) ->
-                Double.compare(d1.getPieValue(), d2.getPieValue())
-        ); // 0, 1, 3, 4, 5, 6, 7, 7.5, ...
-        for (int i = 0; i < 10; i++) {
-            checkStyleClass(i, "data"+i);
-        }
-        checkStyleClass(2, "default-color3");
-        checkStyleClass(3, "default-color4");
-        checkStyleClass(6, "default-color7");
-        checkStyleClass(7, "default-color2");
-    }
-}
--- a/modules/controls/src/test/java/javafx/scene/chart/StackedAreaChartTest.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,411 +0,0 @@
-/*
- * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.chart;
-
-import com.sun.javafx.scene.control.infrastructure.ControlTestUtils;
-import javafx.collections.FXCollections;
-import javafx.collections.ObservableList;
-import javafx.scene.Group;
-import javafx.scene.Node;
-import javafx.scene.shape.Path;
-import static org.junit.Assert.assertEquals;
-import org.junit.Ignore;
-import org.junit.Test;
-
-public class StackedAreaChartTest extends XYChartTestBase {
-    StackedAreaChart<Number,Number> ac;
-    final XYChart.Series<Number, Number> series1 = new XYChart.Series<Number, Number>();
-    boolean useCategoryAxis = false;
-    final String[] countries = {"USA", "Italy", "France", "China", "India"};
-    protected Chart createChart() {
-        final NumberAxis yAxis = new NumberAxis();
-        ObservableList<XYChart.Data> data = FXCollections.observableArrayList();
-        Axis xAxis;
-        if (useCategoryAxis) {
-            xAxis = new CategoryAxis();
-            ((CategoryAxis)xAxis).setCategories(FXCollections.observableArrayList(countries));
-            // add starting data
-        series1.getData().add(new XYChart.Data(countries[0], 10d));
-        series1.getData().add(new XYChart.Data(countries[1], 20d));
-        series1.getData().add(new XYChart.Data(countries[2], 15d));
-        series1.getData().add(new XYChart.Data(countries[3], 15d));
-        series1.getData().add(new XYChart.Data(countries[4], 10d));
-        } else {
-            xAxis = new NumberAxis();
-            ac = new StackedAreaChart<Number,Number>(xAxis,yAxis);
-            // add starting data
-        series1.getData().add(new XYChart.Data(10d, 10d));
-        series1.getData().add(new XYChart.Data(25d, 20d));
-        series1.getData().add(new XYChart.Data(30d, 15d));
-        series1.getData().add(new XYChart.Data(50d, 15d));
-        series1.getData().add(new XYChart.Data(80d, 10d));
-        }
-        
-        xAxis.setLabel("X Axis");
-        yAxis.setLabel("Y Axis");
-        ac.setTitle("HelloStackedAreaChart");
-        
-        return ac;
-    }
-    
-    private StringBuffer getSeriesLineFromPlot() {
-        ObservableList<Node> childrenList = ac.getPlotChildren();
-        StringBuffer sb = new StringBuffer();
-        for (Node n : childrenList) {
-            if (n instanceof Group) {
-                for (Node gn : ((Group)n).getChildren()) {
-                    if (gn instanceof Path && "chart-series-area-line".equals(gn.getStyleClass().get(0))) {
-                        Path line = (Path)gn;
-                        sb = computeSVGPath(line);
-                        return sb;
-                    }
-                }
-            }
-        }
-        return sb;
-    }
-    
-    @Test @Ignore("pending RT-28373")
-    public void testSeriesAdd() {
-        startApp();
-        ac.getData().addAll(series1);
-        pulse();
-        StringBuffer sb = getSeriesLineFromPlot();
-//        assertEquals("L220.0 59.0 L264.0 175.0 L440.0 175.0 L704.0 291.0 ", sb.toString());
-        assertEquals("L219.0 58.0 L263.0 173.0 L438.0 173.0 L700.0 289.0 ", sb.toString());
-    
-    }
-
-    @Test @Ignore
-    public void testDataItemRemove() {
-        startApp();
-        ac.getData().addAll(series1);
-        pulse();
-        if (!ac.getData().isEmpty()) {
-            series1.getData().remove(0);
-            pulse();
-            StringBuffer sb = getSeriesLineFromPlot();
-            assertEquals(sb.toString(), "L247.0 171.0 L412.0 171.0 L658.0 284.0 ");
-        }
-    }
-    
-    @Test @Ignore
-    public void testDataItemAdd() {
-        startApp();
-        ac.getData().addAll(series1);
-        pulse();
-        if (!ac.getData().isEmpty()) {
-            series1.getData().add(new XYChart.Data(40d,10d));
-            pulse();
-            StringBuffer sb = getSeriesLineFromPlot();
-            assertEquals(sb.toString(), "L206.0 57.0 L247.0 171.0 L329.0 284.0 L412.0 171.0 L658.0 284.0 ");
-        }
-    }
-    
-    @Test @Ignore
-    public void testDataItemInsert() {
-        startApp();
-        ac.getData().addAll(series1);
-        pulse();
-        if (!ac.getData().isEmpty()) {
-            series1.getData().add(2, new XYChart.Data(40d,10d));
-            pulse();
-            StringBuffer sb = getSeriesLineFromPlot();
-            assertEquals(sb.toString(), "L206.0 57.0 L247.0 171.0 L329.0 284.0 L412.0 171.0 L658.0 284.0 ");
-        }
-    }
-    
-    @Test @Ignore
-    public void testDataItemChange() {
-        startApp();
-        ac.getData().addAll(series1);
-        pulse();
-        if (!ac.getData().isEmpty()) {
-            XYChart.Data<Number,Number> d = series1.getData().get(2);
-            d.setXValue(40d);
-            d.setYValue(30d);
-            pulse();
-            StringBuffer sb = getSeriesLineFromPlot();
-            assertEquals(sb.toString(), "L206.0 197.0 L329.0 40.0 L412.0 276.0 L658.0 354.0 ");
-        }
-    }
-    
-    @Test 
-    public void testStackedAreaChartWithCategoryAxis() {
-        useCategoryAxis = true;
-        startApp();
-        useCategoryAxis = false;
-    }
-
-    @Test public void testCreateSymbols() {
-         startApp();
-         ac.setCreateSymbols(false);
-         pulse();
-         ac.getData().addAll(series1);
-         pulse();
-         assertEquals(0, countSymbols(ac, "chart-area-symbol"));
-         
-         ac.getData().clear();
-         pulse();
-         ac.setCreateSymbols(true);
-         pulse();
-         ac.getData().addAll(series1);
-         assertEquals(5, countSymbols(ac, "chart-area-symbol"));
-     }
-
-    @Test
-    public void  testAutoRange_AdditionalPointInSeries1() {
-        ac.getData().clear();
-        final NumberAxis yAxis = (NumberAxis) ac.getYAxis();
-        yAxis.setAutoRanging(true);
-        yAxis.setForceZeroInRange(false);
-        ac.getData().add(new StackedAreaChart.Series<Number, Number>(FXCollections.observableArrayList(
-                new StackedAreaChart.Data(0, 4),
-                new StackedAreaChart.Data(2, 5),
-                new StackedAreaChart.Data(4, 4),
-                new StackedAreaChart.Data(6, 2),
-                new StackedAreaChart.Data(7, 12),
-                new StackedAreaChart.Data(8, 6),
-                new StackedAreaChart.Data(10, 8)
-        )));
-        ac.getData().add(new StackedAreaChart.Series<Number, Number>(FXCollections.observableArrayList(
-                new StackedAreaChart.Data(0,8),
-                new StackedAreaChart.Data(2,1),
-                new StackedAreaChart.Data(4,9),
-                new StackedAreaChart.Data(6,7),
-                new StackedAreaChart.Data(8,5),
-                new StackedAreaChart.Data(10,7)
-        )));
-
-        ac.updateAxisRange();
-
-        assertEquals(2, yAxis.dataMinValue, 1e-100);
-        assertEquals(18, yAxis.dataMaxValue, 1e-100);
-    }
-
-    @Test
-    public void testAutoRange_AdditionalPointInSeries1AtTheEnd() {
-        ac.getData().clear();
-        final NumberAxis yAxis = (NumberAxis) ac.getYAxis();
-        yAxis.setAutoRanging(true);
-        yAxis.setForceZeroInRange(false);
-        ac.getData().add(new StackedAreaChart.Series<Number, Number>(FXCollections.observableArrayList(
-                new StackedAreaChart.Data(0, 4),
-                new StackedAreaChart.Data(2, 5),
-                new StackedAreaChart.Data(4, 4),
-                new StackedAreaChart.Data(6, 2),
-                new StackedAreaChart.Data(8, 6),
-                new StackedAreaChart.Data(10, 8),
-                new StackedAreaChart.Data(11, 12)
-        )));
-        ac.getData().add(new StackedAreaChart.Series<Number, Number>(FXCollections.observableArrayList(
-                new StackedAreaChart.Data(0,8),
-                new StackedAreaChart.Data(2,1),
-                new StackedAreaChart.Data(4,9),
-                new StackedAreaChart.Data(6,7),
-                new StackedAreaChart.Data(8,5),
-                new StackedAreaChart.Data(10,7)
-        )));
-
-        ac.updateAxisRange();
-
-        assertEquals(2, yAxis.dataMinValue, 1e-100);
-        assertEquals(19, yAxis.dataMaxValue, 1e-100);
-    }
-
-    @Test
-    public void testAutoRange_AdditionalPointInSeries1AtTheBeginning() {
-        ac.getData().clear();
-        final NumberAxis yAxis = (NumberAxis) ac.getYAxis();
-        yAxis.setAutoRanging(true);
-        yAxis.setForceZeroInRange(false);
-        ac.getData().add(new StackedAreaChart.Series<Number, Number>(FXCollections.observableArrayList(
-                new StackedAreaChart.Data(-1, 12),
-                new StackedAreaChart.Data(0, 4),
-                new StackedAreaChart.Data(2, 5),
-                new StackedAreaChart.Data(4, 4),
-                new StackedAreaChart.Data(6, 2),
-                new StackedAreaChart.Data(8, 6),
-                new StackedAreaChart.Data(10, 8)
-        )));
-        ac.getData().add(new StackedAreaChart.Series<Number, Number>(FXCollections.observableArrayList(
-                new StackedAreaChart.Data(0,8),
-                new StackedAreaChart.Data(2,1),
-                new StackedAreaChart.Data(4,9),
-                new StackedAreaChart.Data(6,7),
-                new StackedAreaChart.Data(8,5),
-                new StackedAreaChart.Data(10,7)
-        )));
-
-        ac.updateAxisRange();
-
-        assertEquals(2, yAxis.dataMinValue, 1e-100);
-        assertEquals(20, yAxis.dataMaxValue, 1e-100);
-    }
-
-    @Test
-    public void testAutoRange_AdditionalPointInSeries2() {
-        ac.getData().clear();
-        final NumberAxis yAxis = (NumberAxis) ac.getYAxis();
-        yAxis.setAutoRanging(true);
-        yAxis.setForceZeroInRange(false);
-        ac.getData().add(new StackedAreaChart.Series<Number, Number>(FXCollections.observableArrayList(
-                new StackedAreaChart.Data(0, 4),
-                new StackedAreaChart.Data(2, 5),
-                new StackedAreaChart.Data(4, 4),
-                new StackedAreaChart.Data(6, 2),
-                new StackedAreaChart.Data(8, 6),
-                new StackedAreaChart.Data(10, 8)
-        )));
-        ac.getData().add(new StackedAreaChart.Series<Number, Number>(FXCollections.observableArrayList(
-                new StackedAreaChart.Data(0,8),
-                new StackedAreaChart.Data(2,1),
-                new StackedAreaChart.Data(4,9),
-                new StackedAreaChart.Data(6,7),
-                new StackedAreaChart.Data(7, 12),
-                new StackedAreaChart.Data(8,5),
-                new StackedAreaChart.Data(10,7)
-        )));
-
-        ac.updateAxisRange();
-
-        assertEquals(2, yAxis.dataMinValue, 1e-100);
-        assertEquals(16, yAxis.dataMaxValue, 1e-100);
-    }
-
-    @Test
-    public void testAutoRange_AdditionalPointInSeries2AtTheEnd() {
-        ac.getData().clear();
-        final NumberAxis yAxis = (NumberAxis) ac.getYAxis();
-        yAxis.setAutoRanging(true);
-        yAxis.setForceZeroInRange(false);
-        ac.getData().add(new StackedAreaChart.Series<Number, Number>(FXCollections.observableArrayList(
-                new StackedAreaChart.Data(0, 4),
-                new StackedAreaChart.Data(2, 5),
-                new StackedAreaChart.Data(4, 4),
-                new StackedAreaChart.Data(6, 2),
-                new StackedAreaChart.Data(8, 6),
-                new StackedAreaChart.Data(10, 8)
-        )));
-        ac.getData().add(new StackedAreaChart.Series<Number, Number>(FXCollections.observableArrayList(
-                new StackedAreaChart.Data(0,8),
-                new StackedAreaChart.Data(2,1),
-                new StackedAreaChart.Data(4,9),
-                new StackedAreaChart.Data(6,7),
-                new StackedAreaChart.Data(8,5),
-                new StackedAreaChart.Data(10,7),
-                new StackedAreaChart.Data(12, 12)
-        )));
-
-        ac.updateAxisRange();
-
-        assertEquals(2, yAxis.dataMinValue, 1e-100);
-        assertEquals(20, yAxis.dataMaxValue, 1e-100);
-    }
-
-    @Test
-    public void testAutoRange_AdditionalPointInSeries2AtTheBeginning() {
-        ac.getData().clear();
-        final NumberAxis yAxis = (NumberAxis) ac.getYAxis();
-        yAxis.setAutoRanging(true);
-        yAxis.setForceZeroInRange(false);
-        ac.getData().add(new StackedAreaChart.Series<Number, Number>(FXCollections.observableArrayList(
-                new StackedAreaChart.Data(0, 4),
-                new StackedAreaChart.Data(2, 5),
-                new StackedAreaChart.Data(4, 4),
-                new StackedAreaChart.Data(6, 2),
-                new StackedAreaChart.Data(8, 6),
-                new StackedAreaChart.Data(10, 8)
-        )));
-        ac.getData().add(new StackedAreaChart.Series<Number, Number>(FXCollections.observableArrayList(
-                new StackedAreaChart.Data(-1, 15),
-                new StackedAreaChart.Data(0,8),
-                new StackedAreaChart.Data(2,1),
-                new StackedAreaChart.Data(4,9),
-                new StackedAreaChart.Data(6,7),
-                new StackedAreaChart.Data(8,5),
-                new StackedAreaChart.Data(10,7)
-        )));
-
-        ac.updateAxisRange();
-
-        assertEquals(2, yAxis.dataMinValue, 1e-100);
-        assertEquals(19, yAxis.dataMaxValue, 1e-100);
-    }
-
-    @Test
-    public void testAutoRange_EmptySeries1() {
-        ac.getData().clear();
-        final NumberAxis yAxis = (NumberAxis) ac.getYAxis();
-        yAxis.setAutoRanging(true);
-        yAxis.setForceZeroInRange(false);
-        ac.getData().add(new StackedAreaChart.Series<Number, Number>(FXCollections.observableArrayList(
-        )));
-        ac.getData().add(new StackedAreaChart.Series<Number, Number>(FXCollections.observableArrayList(
-                new StackedAreaChart.Data(0,8),
-                new StackedAreaChart.Data(2,1),
-                new StackedAreaChart.Data(4,9),
-                new StackedAreaChart.Data(6,7),
-                new StackedAreaChart.Data(8,5),
-                new StackedAreaChart.Data(10,7)
-        )));
-
-        ac.updateAxisRange();
-
-        assertEquals(1, yAxis.dataMinValue, 1e-100);
-        assertEquals(9, yAxis.dataMaxValue, 1e-100);
-    }
-
-    @Test
-    public void testAutoRange_EmptySeries2() {
-        ac.getData().clear();
-        final NumberAxis yAxis = (NumberAxis) ac.getYAxis();
-        yAxis.setAutoRanging(true);
-        yAxis.setForceZeroInRange(false);
-        ac.getData().add(new StackedAreaChart.Series<Number, Number>(FXCollections.observableArrayList(
-                new StackedAreaChart.Data(0, 4),
-                new StackedAreaChart.Data(2, 5),
-                new StackedAreaChart.Data(4, 4),
-                new StackedAreaChart.Data(6, 2),
-                new StackedAreaChart.Data(8, 6),
-                new StackedAreaChart.Data(10, 8)
-        )));
-        ac.getData().add(new StackedAreaChart.Series<>());
-        ac.getData().add(new StackedAreaChart.Series<Number, Number>(FXCollections.observableArrayList(
-                new StackedAreaChart.Data(0,8),
-                new StackedAreaChart.Data(2,1),
-                new StackedAreaChart.Data(4,9),
-                new StackedAreaChart.Data(6,7),
-                new StackedAreaChart.Data(8,5),
-                new StackedAreaChart.Data(10,7)
-        )));
-
-        ac.updateAxisRange();
-
-        assertEquals(2, yAxis.dataMinValue, 1e-100);
-        assertEquals(15, yAxis.dataMaxValue, 1e-100);
-    }
-}
--- a/modules/controls/src/test/java/javafx/scene/chart/StackedBarChartTest.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,200 +0,0 @@
-/*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.chart;
-
-
-import org.junit.Test;
-import static org.junit.Assert.assertEquals;
-import javafx.collections.*;
-
-import test.com.sun.javafx.pgstub.StubToolkit;
-import com.sun.javafx.tk.Toolkit;
-import java.util.Arrays;
-
-import javafx.scene.Node;
-import javafx.scene.Scene;
-import javafx.stage.Stage;
-import javafx.scene.shape.*;
-import javafx.scene.layout.Region;
-
-import org.junit.Ignore;
-
-@Ignore
-public class StackedBarChartTest extends XYChartTestBase {
-    
-    private Scene scene;
-    private StubToolkit toolkit;
-    private Stage stage;
-    StackedBarChart<String,Number> sbc;
-    final XYChart.Series<String,Number> series1 = new XYChart.Series<String,Number>();
-    final XYChart.Series<String,Number> series2 = new XYChart.Series<String,Number>();
-    final XYChart.Series<String,Number> series3 = new XYChart.Series<String,Number>();
-    final String[] years = {"2007", "2008", "2009"};
-    
-    protected Chart createChart() {
-        final CategoryAxis xAxis = new CategoryAxis();
-        final NumberAxis yAxis = new NumberAxis();
-        sbc = new StackedBarChart<String,Number>(xAxis,yAxis);
-        xAxis.setLabel("Year");
-        xAxis.setCategories(FXCollections.<String>observableArrayList(Arrays.asList(years)));
-        yAxis.setLabel("Price");
-        sbc.setTitle("HelloStackedBarChart");
-        // Populate Chart data
-        ObservableList<XYChart.Data> data = FXCollections.observableArrayList();
-        series1.getData().add(new XYChart.Data<String,Number>(years[0], 567));
-        series1.getData().add(new XYChart.Data<String,Number>(years[1], 1292));
-        series1.getData().add(new XYChart.Data<String,Number>(years[2], 2180));
-        series2.getData().add(new XYChart.Data<String,Number>(years[0], 956));
-        series2.getData().add(new XYChart.Data<String,Number>(years[1], 1665));
-        series2.getData().add(new XYChart.Data<String,Number>(years[2], 2450));
-        series3.getData().add(new XYChart.Data<String,Number>(years[0], 800));
-        series3.getData().add(new XYChart.Data<String,Number>(years[1], 1000));
-        series3.getData().add(new XYChart.Data<String,Number>(years[2], 2800));
-        return sbc;
-    }
-    
-    @Test
-    public void testAddingAutoRangingCategoryAxis() {
-        CategoryAxis xAxis = new CategoryAxis();
-        String[] years = {"2007", "2008", "2009"};
-        NumberAxis yAxis = new NumberAxis();
-        ObservableList<StackedBarChart.Series> barChartData = FXCollections.observableArrayList(
-            new StackedBarChart.Series("Region 1", FXCollections.observableArrayList(
-               new StackedBarChart.Data(years[0], 567d),
-               new StackedBarChart.Data(years[1], 1292d),
-               new StackedBarChart.Data(years[2], 1292d)
-            )),
-            new StackedBarChart.Series("Region 2", FXCollections.observableArrayList(
-               new StackedBarChart.Data(years[0], 956),
-               new StackedBarChart.Data(years[1], 1665),
-               new StackedBarChart.Data(years[2], 2559)
-            ))
-        );
-        StackedBarChart sbc = new StackedBarChart(xAxis, yAxis, barChartData, 25.0d);
-        scene = new Scene(sbc,800,600);
-        stage = new Stage();
-        stage.setScene(scene);
-        stage.show();
-        pulse();
-         assertEquals(6, sbc.getPlotChildren().size());
-    }
-    
-    @Test
-    public void testSeriesAdd() {
-        startApp();
-        sbc.getData().addAll(series1, series2, series3);
-        pulse();
-        ObservableList<Node> childrenList = sbc.getPlotChildren();
-        StringBuffer sb = new StringBuffer();
-        assertEquals(9, childrenList.size());
-        for (Node n : childrenList) {
-            assertEquals("chart-bar", n.getStyleClass().get(0));
-        }
-        // compute bounds for the first series
-        sb = computeBoundsString((Region)childrenList.get(0), (Region)childrenList.get(1),
-                (Region)childrenList.get(2));
-        assertEquals("10 479 234 36 254 432 234 83 499 375 234 140 ", sb.toString());
-        
-        // compute bounds for the second series
-//        sb = computeBoundsString((Region)childrenList.get(3), (Region)childrenList.get(4),
-//                (Region)childrenList.get(5));
-//        assertEquals("10 421 236 62 256 328 236 108 501 220 236 158 ", sb.toString());
-//        
-//        // compute bounds for the third series
-//        sb = computeBoundsString((Region)childrenList.get(6), (Region)childrenList.get(7),
-//                (Region)childrenList.get(8));
-//        assertEquals("10 370 236 51 256 264 236 64 501 39 236 181 ", sb.toString());
-    }
-    
-    @Test
-    public void testSeriesRemove() {
-        startApp();
-        sbc.getData().addAll(series1);
-        pulse();
-        assertEquals(3, sbc.getPlotChildren().size());
-        if (!sbc.getData().isEmpty()) {
-            sbc.getData().remove(0);
-            pulse();
-            assertEquals(0, sbc.getPlotChildren().size());
-        }
-    }
-    
-    @Test
-    public void testDataItemAdd() {
-        startApp();
-        sbc.getData().addAll(series1);
-        pulse();
-        series1.getData().add(new XYChart.Data<String, Number>("2010", 750));
-        pulse();
-        assertEquals(4, sbc.getPlotChildren().size());
-    }
-    
-    @Test
-    public void testDataItemInsert() {
-        startApp();
-        sbc.getData().addAll(series1);
-        pulse();
-        series1.getData().add(1, new XYChart.Data<String, Number>("2010", 750));
-        pulse();
-        assertEquals(4, sbc.getPlotChildren().size());
-    }
-     
-    @Test
-    public void testDataItemRemove() {
-        startApp();
-        sbc.getData().addAll(series1);
-        pulse();
-        if (!sbc.getData().isEmpty()) {
-            series1.getData().remove(0);
-            pulse();
-            assertEquals(2, sbc.getPlotChildren().size());
-        }
-    }
-    
-    @Test @Ignore
-    public void testDataItemChange() {
-        startApp();
-        sbc.getData().addAll(series1);
-        pulse();
-        if (!sbc.getData().isEmpty()) {
-            StringBuffer sb = new StringBuffer();
-            ObservableList<Node> childrenList = sbc.getPlotChildren();
-            // compute bounds for the first series before data change
-            sb = computeBoundsString((Region)childrenList.get(0), (Region)childrenList.get(1),
-                (Region)childrenList.get(2));
-            assertEquals("10 380 216 127 236 216 216 291 461 16 216 491 ", sb.toString());
-            
-            XYChart.Data<String, Number> d = series1.getData().get(2);
-            d.setYValue(500d);
-            pulse();
-            
-            // compute bounds for the first series after data change
-            sb = computeBoundsString((Region)childrenList.get(0), (Region)childrenList.get(1),
-                (Region)childrenList.get(2));
-            assertEquals("10 302 216 205 236 40 216 467 461 326 216 181 ", sb.toString());
-        }
-    }
-}
--- a/modules/controls/src/test/java/javafx/scene/chart/ValueAxisHelper.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.chart;
-
-import java.util.List;
-
-
-import org.junit.Before;
-
-/**
- * Helper class for ValueAxis. All functionality common to ValueAxis types goes here.
- * @author srikalyc
- */
-public class ValueAxisHelper {
-    private ValueAxis axis;//Empty string
-    private ValueAxis twoValueAxis;//Empty string
-    private NumberAxis threeValueAxis;//Empty string
-    private NumberAxis fourValueAxis;//Empty string
-
-    public ValueAxisHelper() {
-    }
-    
-    public void setValueAxis(ValueAxis axis) {
-        this.axis = axis;
-    }
-    
-    public void setTwoValueAxis(ValueAxis axis) {
-        this.twoValueAxis = axis;
-    }
-    
-    public void setThreeValueAxis(NumberAxis axis) {
-        this.threeValueAxis = axis;
-    }
-    
-    public void setFourValueAxis(NumberAxis axis) {
-        this.fourValueAxis = axis;
-    }
-    
-    public ValueAxis getDummyValueAxis() {
-        return new ValueAxis() {
-                @Override
-                protected List calculateMinorTickMarks() {return null;}
-                @Override
-                protected void setRange(Object o, boolean bln) {}
-                @Override
-                protected Object getRange() {return null;}
-                @Override
-                protected List calculateTickValues(double d, Object o) {return null;}
-                @Override
-                protected String getTickMarkLabel(Object t) {return null;}
-            };
-    }
-    public ValueAxis getDummyTwoArgValueAxis() {
-        return new ValueAxis(2.0, 100.0) {
-                @Override
-                protected List calculateMinorTickMarks() {return null;}
-                @Override
-                protected void setRange(Object o, boolean bln) {}
-                @Override
-                protected Object getRange() {return null;}
-                @Override
-                protected List calculateTickValues(double d, Object o) {return null;}
-                @Override
-                protected String getTickMarkLabel(Object t) {return null;}
-            };
-    }
-    @Before public void setup() {
-        if (axis == null) {
-            axis = getDummyValueAxis();
-        }
-    }
-    
-    /*********************************************************************
-     * Currently nothing                                                 *
-     ********************************************************************/
-    
-    void defaultCalculateMinorTickValues() {}
-    void defaultRange() {}
-    void defaultCalculateTickValues() {}
-    void defaultTickMarkLabel() {}
-  
-    
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/controls/src/test/java/javafx/scene/chart/ValueAxisShim.java	Fri Sep 18 09:09:22 2015 -0400
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ * 
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ * 
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ * 
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ * 
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package javafx.scene.chart;
+
+public class ValueAxisShim {
+
+    public static double get_dataMaxValue(ValueAxis va) {
+        return va.dataMaxValue;
+    }
+
+    public static double get_dataMinValue(ValueAxis va) {
+        return va.dataMinValue;
+    }
+
+    public static void setScale(ValueAxis va, double scale) {
+        va.setScale(scale);
+    }
+
+    
+}
--- a/modules/controls/src/test/java/javafx/scene/chart/ValueAxisTest.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,388 +0,0 @@
-/*
- * Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.chart;
-
-import javafx.collections.FXCollections;
-import javafx.css.CssMetaData;
-import javafx.beans.property.BooleanProperty;
-import javafx.beans.property.DoubleProperty;
-import javafx.beans.property.ObjectProperty;
-import javafx.beans.property.ReadOnlyDoubleProperty;
-import javafx.beans.property.SimpleBooleanProperty;
-import javafx.beans.property.SimpleDoubleProperty;
-import javafx.beans.property.SimpleObjectProperty;
-import javafx.css.StyleableProperty;
-import javafx.util.StringConverter;
-import static org.junit.Assert.*;
-
-
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * All public members of ValueAxis are tested here . 
- * @author srikalyc
- */
-public class ValueAxisTest {
-    private ValueAxis axis;//Empty string
-    private ValueAxis twoValueAxis;//Empty string
-    private ValueAxisHelper helper;
-    private StringConverter<Number> formatter;
-    
-    public ValueAxisTest() {
-        helper = new ValueAxisHelper();
-    }
-    
-    @Before public void setup() {
-        if (axis == null) {
-            axis = helper.getDummyValueAxis();
-        }
-        if (twoValueAxis == null) {
-            twoValueAxis = helper.getDummyTwoArgValueAxis();
-        }
-        helper.setValueAxis(axis);
-        helper.setTwoValueAxis(twoValueAxis);
-        formatter = new StringConverter<Number>() {
-            @Override
-            public String toString(Number object) { return null; }
-            @Override
-            public Number fromString(String string) { return null; }
-        };
-    }
-    
-   
-   
-    /*********************************************************************
-     * Tests for default values                                         *
-     ********************************************************************/
-
-    @Test public void defaultMinorTickVisibleIsTrue() {
-        assertTrue(axis.isMinorTickVisible());
-    }
-
-    @Test public void defaultContructorAutoRangingIsTrue() {
-        assertTrue(axis.isAutoRanging());
-    }
-
-    @Test public void twoValueContructorAutoRangingIsFalse() {
-        assertFalse(twoValueAxis.isAutoRanging());
-    }
-
-    @Test public void defaultMinorTickLength() {
-        assertEquals(axis.getMinorTickLength(), 5.0 , 0.0);
-    }
-
-    @Test public void defaultMinorTickCount() {
-        assertEquals(axis.getMinorTickCount(), 5.0 , 0.0);
-    }
-
-    @Test public void defaultScale() {
-        assertEquals(axis.getScale(), 0.0 , 0.0);
-    }
-
-    @Test public void defaultUpperBound() {
-        assertEquals(axis.getUpperBound(), 100.0 , 0.0);
-    }
-
-    @Test public void defaultLowerBound() {
-        assertEquals(axis.getLowerBound(), 0.0 , 0.0);
-    }
-
-    @Test public void defaultTickLabelFormatter() {
-        assertNull(axis.getTickLabelFormatter());
-    }
-
-
-
-    /*********************************************************************
-     * Tests for property binding                                        *
-     ********************************************************************/
-    
-    
-    @Test public void checkMinorTickVisiblePropertyBind() {
-        BooleanProperty objPr = new SimpleBooleanProperty(true);
-        axis.minorTickVisibleProperty().bind(objPr);
-        assertTrue("minorTickVisibleProperty cannot be bound", axis.minorTickVisibleProperty().getValue());
-        objPr.setValue(false);
-        assertFalse("minorTickVisibleProperty cannot be bound", axis.minorTickVisibleProperty().getValue());
-    }
-    
-    
-    @Test public void checkMinorTickLengthPropertyBind() {
-        DoubleProperty objPr = new SimpleDoubleProperty(56.0);
-        axis.minorTickLengthProperty().bind(objPr);
-        assertEquals("minorTickLengthProperty cannot be bound", axis.minorTickLengthProperty().getValue(),56.0,0.0);
-        objPr.setValue(23.0);
-        assertEquals("minorTickLengthProperty cannot be bound", axis.minorTickLengthProperty().getValue(),23.0,0.0);
-    }
-    
-    @Test public void checkMinorTickCountPropertyBind() {
-        DoubleProperty objPr = new SimpleDoubleProperty(56.0);
-        axis.minorTickCountProperty().bind(objPr);
-        assertEquals("minorTickCountProperty cannot be bound", axis.minorTickCountProperty().getValue(),56.0,0.0);
-        objPr.setValue(23.0);
-        assertEquals("minorTickCountProperty cannot be bound", axis.minorTickCountProperty().getValue(),23.0,0.0);
-    }
-    
-    @Test public void checkScaleIsReadOnlyPropertyAndHenceCannotBeBound() {
-        assertTrue(axis.scaleProperty() instanceof ReadOnlyDoubleProperty);
-    }
-    
-    @Test public void checkUpperBoundPropertyBind() {
-        DoubleProperty objPr = new SimpleDoubleProperty(56.0);
-        axis.upperBoundProperty().bind(objPr);
-        assertEquals("upperBoundProperty cannot be bound", axis.upperBoundProperty().getValue(),56.0,0.0);
-        objPr.setValue(23.0);
-        assertEquals("upperBoundProperty cannot be bound", axis.upperBoundProperty().getValue(),23.0,0.0);
-    }
-    
-    @Test public void checkLowerBoundPropertyBind() {
-        DoubleProperty objPr = new SimpleDoubleProperty(56.0);
-        axis.lowerBoundProperty().bind(objPr);
-        assertEquals("lowerBoundProperty cannot be bound", axis.lowerBoundProperty().getValue(),56.0,0.0);
-        objPr.setValue(23.0);
-        assertEquals("lowerBoundProperty cannot be bound", axis.lowerBoundProperty().getValue(),23.0,0.0);
-    }
-    
-    @Test public void checkTickLabelFormatterPropertyBind() {
-        ObjectProperty objPr = new SimpleObjectProperty<StringConverter<Number>>(null);
-        axis.tickLabelFormatterProperty().bind(objPr);
-        assertNull("tickLabelFormatterProperty cannot be bound", axis.tickLabelFormatterProperty().getValue());
-        objPr.setValue(formatter);
-        assertSame("tickLabelFormatterProperty cannot be bound", axis.tickLabelFormatterProperty().getValue(), formatter);
-    }
-    
-    
-    @Test public void minorTickVisiblePropertyHasBeanReference() {
-        assertSame(axis, axis.minorTickVisibleProperty().getBean());
-    }
-
-    @Test public void minorTickVisiblePropertyHasName() {
-        assertEquals("minorTickVisible", axis.minorTickVisibleProperty().getName());
-    }
-
-    @Test public void minorTickLengthPropertyHasBeanReference() {
-        assertSame(axis, axis.minorTickLengthProperty().getBean());
-    }
-
-    @Test public void minorTickLengthPropertyHasName() {
-        assertEquals("minorTickLength", axis.minorTickLengthProperty().getName());
-    }
-
-    @Test public void minorTickCountPropertyHasBeanReference() {
-        assertSame(axis, axis.minorTickCountProperty().getBean());
-    }
-
-    @Test public void minorTickCountPropertyHasName() {
-        assertEquals("minorTickCount", axis.minorTickCountProperty().getName());
-    }
-
-    @Test public void scalePropertyHasBeanReference() {
-        assertSame(axis, axis.scaleProperty().getBean());
-    }
-
-    @Test public void scalePropertyHasName() {
-        assertEquals("scale", axis.scaleProperty().getName());
-    }
-
-    @Test public void upperBoundPropertyHasBeanReference() {
-        assertSame(axis, axis.upperBoundProperty().getBean());
-    }
-
-    @Test public void upperBoundPropertyHasName() {
-        assertEquals("upperBound", axis.upperBoundProperty().getName());
-    }
-
-    @Test public void lowerBoundPropertyHasBeanReference() {
-        assertSame(axis, axis.lowerBoundProperty().getBean());
-    }
-
-    @Test public void lowerBoundPropertyHasName() {
-        assertEquals("lowerBound", axis.lowerBoundProperty().getName());
-    }
-
-    @Test public void tickLabelFormatterPropertyHasBeanReference() {
-        assertSame(axis, axis.tickLabelFormatterProperty().getBean());
-    }
-
-    @Test public void tickLabelFormatterPropertyHasName() {
-        assertEquals("tickLabelFormatter", axis.tickLabelFormatterProperty().getName());
-    }
-
-
-
-    
-    /*********************************************************************
-     * CSS related Tests                                                 *
-     ********************************************************************/
-    @Test public void whenMinorTickVisibleIsBound_impl_cssSettable_ReturnsFalse() {
-        CssMetaData styleable = ((StyleableProperty)axis.minorTickVisibleProperty()).getCssMetaData();
-        assertTrue(styleable.isSettable(axis));
-        BooleanProperty other = new SimpleBooleanProperty();
-        axis.minorTickVisibleProperty().bind(other);
-        assertFalse(styleable.isSettable(axis));
-    }
-
-    @Test public void whenMinorTickVisibleIsSpecifiedViaCSSAndIsNotBound_impl_cssSettable_ReturnsTrue() {
-        CssMetaData styleable = ((StyleableProperty)axis.minorTickVisibleProperty()).getCssMetaData();
-        assertTrue(styleable.isSettable(axis));
-    }
-
-    @Test public void canSpecifyMinorTickVisibleViaCSS() {
-        ((StyleableProperty)axis.minorTickVisibleProperty()).applyStyle(null, Boolean.TRUE);
-        assertSame(true, axis.isMinorTickVisible());
-    }
-
-    @Test public void whenMinorTickLengthIsBound_impl_cssSettable_ReturnsFalse() {
-        CssMetaData styleable = ((StyleableProperty)axis.minorTickLengthProperty()).getCssMetaData();
-        assertTrue(styleable.isSettable(axis));
-        DoubleProperty other = new SimpleDoubleProperty();
-        axis.minorTickLengthProperty().bind(other);
-        assertFalse(styleable.isSettable(axis));
-    }
-
-    @Test public void whenMinorTickLengthIsSpecifiedViaCSSAndIsNotBound_impl_cssSettable_ReturnsTrue() {
-        CssMetaData styleable = ((StyleableProperty)axis.minorTickLengthProperty()).getCssMetaData();
-        assertTrue(styleable.isSettable(axis));
-    }
-
-    @Test public void canSpecifyMinorTickLengthViaCSS() {
-        ((StyleableProperty)axis.minorTickLengthProperty()).applyStyle(null, 10.34);
-        assertEquals(10.34, axis.getMinorTickLength(), 0.0);
-    }
-
-    @Test public void whenMinorTickCountIsBound_impl_cssSettable_ReturnsFalse() {
-        CssMetaData styleable = ((StyleableProperty)axis.minorTickCountProperty()).getCssMetaData();
-        assertTrue(styleable.isSettable(axis));
-        DoubleProperty other = new SimpleDoubleProperty();
-        axis.minorTickCountProperty().bind(other);
-        assertFalse(styleable.isSettable(axis));
-    }
-
-    @Test public void whenMinorTickCountIsSpecifiedViaCSSAndIsNotBound_impl_cssSettable_ReturnsTrue() {
-        CssMetaData styleable = ((StyleableProperty)axis.minorTickCountProperty()).getCssMetaData();
-        assertTrue(styleable.isSettable(axis));
-    }
-
-    @Test public void canSpecifyMinorTickCountViaCSS() {
-        ((StyleableProperty)axis.minorTickCountProperty()).applyStyle(null, 10);
-        assertEquals(10, axis.getMinorTickCount(), 0.000001);
-    }
-
-    /*********************************************************************
-     * Miscellaneous Tests                                         *
-     ********************************************************************/
-    
-    @Test public void setMinorTickVisibleAndSeeValueIsReflectedInModel() {
-        axis.setMinorTickVisible(false);
-        assertFalse(axis.minorTickVisibleProperty().getValue());
-    }
-    
-    @Test public void setMinorTickVisibleAndSeeValue() {
-        axis.setMinorTickVisible(true);
-        assertTrue(axis.isMinorTickVisible());
-    }
-    
-    @Test public void setMinorTickLengthAndSeeValueIsReflectedInModel() {
-        axis.setMinorTickLength(30.0);
-        assertEquals(axis.minorTickLengthProperty().getValue(), 30.0, 0.0);
-    }
-    
-    @Test public void setMinorTickLengthAndSeeValue() {
-        axis.setMinorTickLength(30.0);
-        assertEquals(axis.getMinorTickLength(), 30.0, 0.0);
-    }
-    
-    @Test public void setMinorTickCountAndSeeValueIsReflectedInModel() {
-        axis.setMinorTickCount(30);
-        assertEquals(axis.minorTickCountProperty().getValue(), 30.0, 0.0);
-    }
-    
-    @Test public void setMinorTickCountAndSeeValue() {
-        axis.setMinorTickCount(30);
-        assertEquals(axis.getMinorTickCount(), 30.0, 0.0);
-    }
-    
-    @Test public void setScaleAndSeeValueIsReflectedInModel() {
-        axis.setScale(30);
-        assertEquals(axis.scaleProperty().getValue(), 30.0, 0.0);
-    }
-    
-    @Test public void setScaleTickCountAndSeeValue() {
-        axis.setScale(30);
-        assertEquals(axis.getScale(), 30.0, 0.0);
-    }
-    
-    @Test public void setUpperBoundAndSeeValueIsReflectedInModel() {
-        axis.setUpperBound(30);
-        assertEquals(axis.upperBoundProperty().getValue(), 30.0, 0.0);
-    }
-    
-    @Test public void setUpperBoundAndSeeValue() {
-        axis.setUpperBound(30);
-        assertEquals(axis.getUpperBound(), 30.0, 0.0);
-    }
-    
-    @Test public void setLowerBoundAndSeeValueIsReflectedInModel() {
-        axis.setLowerBound(30);
-        assertEquals(axis.lowerBoundProperty().getValue(), 30.0, 0.0);
-    }
-    
-    @Test public void setLowerBoundAndSeeValue() {
-        axis.setLowerBound(30);
-        assertEquals(axis.getLowerBound(), 30.0, 0.0);
-    }
-    @Test public void setTickLabelFormatterAndSeeValueIsReflectedInModel() {
-        axis.setTickLabelFormatter(formatter);
-        assertSame(axis.tickLabelFormatterProperty().getValue(), formatter);
-    }
-    
-    @Test public void setTickLabelFormatterAndSeeValue() {
-        axis.setTickLabelFormatter(formatter);
-        assertSame(axis.getTickLabelFormatter(), formatter);
-    }
-
-
-    @Test
-    public void testDisplayPositionOfValueInRange() {
-        axis.setLowerBound(0);
-        axis.setUpperBound(10);
-        axis.setScale(1);
-
-        assertEquals(5, axis.getDisplayPosition(5), 1e-10);
-    }
-
-    @Test
-    public void testDisplayPositionOfValueOutOfRange() {
-        axis.setLowerBound(0);
-        axis.setUpperBound(10);
-        axis.setScale(1);
-
-        assertEquals(-1, axis.getDisplayPosition(-1), 1e-10);
-        assertEquals(11, axis.getDisplayPosition(11), 1e-10);
-    }
-
-}
--- a/modules/controls/src/test/java/javafx/scene/chart/XYChartDataTest.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +0,0 @@
-/*
- * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.chart;
-
-import java.util.Comparator;
-import javafx.collections.FXCollections;
-import javafx.collections.ObservableList;
-import javafx.scene.Scene;
-import org.junit.Ignore;
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-
-/**
- */
-public class XYChartDataTest {
-
-    @Test public void creatingDataShouldSetValuesAndCurrentValues() {
-        XYChart.Data<Number,Number> data = new XYChart.Data<Number,Number>(10, 20);
-        assertEquals(10, data.getXValue().longValue());
-        assertEquals(10, data.getCurrentX().longValue());
-        assertEquals(20, data.getYValue().longValue());
-        assertEquals(20, data.getCurrentY().longValue());
-    }
-
-    @Ignore("Waiting on fix for RT-13478")
-    @Test public void updatingValuesBeforeAddingToASeriesShouldUpdateValuesAndCurrentValues() {
-        XYChart.Data<Number,Number> data = new XYChart.Data<Number,Number>(10, 20);
-        data.setXValue(100);
-        data.setYValue(200);
-        assertEquals(100, data.getXValue().longValue());
-        assertEquals(100, data.getCurrentX().longValue());
-        assertEquals(200, data.getYValue().longValue());
-        assertEquals(200, data.getCurrentY().longValue());
-    }
-    
-    @Test public void testSortXYChartData() {
-        NumberAxis xAxis = new NumberAxis();
-        NumberAxis yAxis = new NumberAxis();
-        ObservableList<XYChart.Data<Number, Number>> list = 
-                FXCollections.observableArrayList(new XYChart.Data<Number, 
-                Number>(4, 4), new XYChart.Data<Number, Number>(1, 1), 
-                new XYChart.Data<Number, Number>(3, 3), 
-                new XYChart.Data<Number, Number>(2, 2));
-        
-        LineChart<Number, Number> lineChart = new LineChart<Number, Number>(xAxis, yAxis);
-        XYChart.Series<Number, Number> series = new XYChart.Series<Number, Number>();
-        series.setData(list);
-
-        lineChart.getData().add(series);
-        FXCollections.sort(list, (o1, o2) -> Double.compare(o1.getXValue().intValue(), o2.getXValue().intValue()));
-        ObservableList<XYChart.Data<Number, Number>> data = series.getData();
-        // check sorted data 
-        assertEquals(1, data.get(0).getXValue());
-        assertEquals(2, data.get(1).getXValue());
-        assertEquals(3, data.get(2).getXValue());
-        assertEquals(4, data.get(3).getXValue());
-        
-    }
-
-    @Test
-    public void testSeriesAddDelete() {
-        XYChart.Series<String, Number> series = new XYChart.Series<String, Number>();
-        Number value1 = new Integer(5);
-        Number value2 = new Integer(6);
-        XYChart.Data<String, Number> point1 = new XYChart.Data<String, Number>("Something", value1);
-        XYChart.Data<String, Number> point2 = new XYChart.Data<String, Number>("Something", value2);
-        series.getData().add(point1);
-        series.getData().add(point2);
-        assertEquals(0, series.getDataSize());
-
-        XYChart<String, Number> chart = new StringNumberXYChart();
-
-        chart.setData(FXCollections.singletonObservableList(series));
-
-        assertEquals(2, series.getDataSize());
-
-        series.getData().clear();
-
-        assertEquals(0, series.getDataSize());
-
-        series.getData().add(point1);
-
-        assertEquals(1, series.getDataSize());
-
-        chart.setData(null);
-
-        assertEquals(0, series.getDataSize());
-
-    }
-
-    private static class StringNumberXYChart extends XYChart<String, Number> {
-        public StringNumberXYChart() {
-            super(new CategoryAxis(), new NumberAxis());
-        }
-
-        @Override
-        protected void dataItemAdded(Series<String, Number> series, int itemIndex, Data<String, Number> item) {
-        }
-
-        @Override
-        protected void dataItemRemoved(Data<String, Number> item, Series<String, Number> series) {
-            removeDataItemFromDisplay(series, item);
-        }
-
-        @Override
-        protected void dataItemChanged(Data<String, Number> item) {
-        }
-
-        @Override
-        protected void seriesAdded(Series<String, Number> series, int seriesIndex) {
-        }
-
-        @Override
-        protected void seriesRemoved(Series<String, Number> series) {
-            removeSeriesFromDisplay(series);
-        }
-
-        @Override
-        protected void layoutPlotChildren() {
-        }
-    }
-
-    @Test
-    public void testModifyData() {
-        LineChart<Number, Number> lineChart = new LineChart<>(new NumberAxis(), new NumberAxis());
-        lineChart.getData().add(new XYChart.Series<>());
-        XYChart.Data<Number, Number> data = new XYChart.Data<>(1, 1, 1);
-        lineChart.getData().get(0).getData().add(data);
-        assertEquals(1, data.getXValue());
-        assertEquals(1, data.getCurrentX());
-        assertEquals(1, data.getYValue());
-        assertEquals(1, data.getCurrentY());
-        assertEquals(1, data.getExtraValue());
-        assertEquals(1, data.getCurrentExtraValue());
-        data.setXValue(2);
-        data.setYValue(2);
-        data.setExtraValue(2);
-        assertEquals(2, data.getXValue());
-        assertEquals(2, data.getCurrentX());
-        assertEquals(2, data.getYValue());
-        assertEquals(2, data.getCurrentY());
-        assertEquals(2, data.getExtraValue());
-        assertEquals(2, data.getCurrentExtraValue());
-    }
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/controls/src/test/java/javafx/scene/chart/XYChartShim.java	Fri Sep 18 09:09:22 2015 -0400
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ * 
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ * 
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ * 
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ * 
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package javafx.scene.chart;
+
+import javafx.collections.ObservableList;
+import javafx.scene.Node;
+import javafx.scene.chart.XYChart.Data;
+import javafx.scene.chart.XYChart.Series;
+
+public class XYChartShim {
+
+    public static int Series_getDataSize(Series s) {
+        return s.getDataSize();
+    }
+
+    public static ObservableList<Node> getPlotChildren(XYChart xy) {
+        return xy.getPlotChildren();
+    }
+
+    public static void updateAxisRange(XYChart c) {
+        c.updateAxisRange();
+    }
+
+    public static void removeSeriesFromDisplay(XYChart xy, Series<String, Number> series) {
+        xy.removeSeriesFromDisplay(series);
+    }
+
+    public static void removeDataItemFromDisplay(XYChart xy, Series series, Data item) {
+        xy.removeDataItemFromDisplay(series, item);
+    }
+
+    public static Object Data_getCurrentExtraValue(XYChart.Data<Number, Number> d) {
+        return d.getCurrentExtraValue();
+    }
+
+    public static Number Data_getCurrentX(XYChart.Data<Number, Number> d) {
+        return d.getCurrentX();
+    }
+
+    public static Number Data_getCurrentY(XYChart.Data<Number, Number>  d) {
+        return d.getCurrentY();
+    }
+    
+}
--- a/modules/controls/src/test/java/javafx/scene/chart/XYChartTest.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,162 +0,0 @@
-/*
- * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.chart;
-
-
-import org.junit.Test;
-import javafx.collections.*;
-import javafx.scene.chart.Axis.TickMark;
-import javafx.css.ParsedValue;
-import javafx.css.CssMetaData;
-import javafx.css.StyleableProperty;
-import javafx.css.CssParser;
-import javafx.scene.Node;
-import javafx.scene.ParentShim;
-import javafx.scene.Scene;
-import javafx.scene.layout.StackPane;
-import javafx.scene.paint.Color;
-
-import javafx.scene.text.Font;
-import javafx.scene.text.Text;
-import javafx.stage.Stage;
-import org.junit.Assert;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertSame;
-
-
-public class XYChartTest extends ChartTestBase {
-    
-    NumberAxis yaxis;
-    CategoryAxis cataxis;
-    AreaChart<?, ?> areachart;
-    
-    protected Chart createChart() {
-        ObservableList<String> cat = FXCollections.observableArrayList();
-        cataxis = new CategoryAxis();
-        yaxis = new NumberAxis();
-        ObservableList<XYChart.Series<String, Number>> nodata = FXCollections.observableArrayList();
-        areachart = new AreaChart<String, Number>(cataxis, yaxis, nodata);
-        areachart.setId("AreaChart");
-        return areachart;
-    }
-    
-    @Test
-    public void testTickMarksToString() {
-        startApp();
-        pulse();
-        yaxis.getTickMarks().toString(); 
-        System.out.println(" --- "+yaxis.getTickMarks().toString());
-    }
-    
-    // RT-22166
-    @Test public void testTickLabelFont() {
-        startApp();
-        Font f = yaxis.getTickLabelFont();
-        // default caspian value for font size = 10
-        assertEquals(10, new Double(f.getSize()).intValue());
-        assertEquals(10, new Double(yaxis.measure.getFont().getSize()).intValue());
-        
-        // set tick label font via css and test if ticklabelfont, measure and tick textnode follow.
-        ParsedValue pv = new CssParser().parseExpr("-fx-tick-label-font","0.916667em System");
-        Object val = pv.convert(null);        
-        CssMetaData prop = ((StyleableProperty)yaxis.tickLabelFontProperty()).getCssMetaData();
-        try {
-            prop.set(yaxis, val, null);
-            // confirm tickLabelFont, measure and tick's textnode all are in sync with -fx-tick-label-font
-            assertEquals(11, new Double(yaxis.getTickLabelFont().getSize()).intValue());
-            assertEquals(11, new Double(yaxis.measure.getFont().getSize()).intValue());
-            final ObservableList<Axis.TickMark<Number>> yaTickMarks = yaxis.getTickMarks();
-            TickMark tm = yaTickMarks.get(0);
-            assertEquals(11, new Double(tm.textNode.getFont().getSize()).intValue());
-        } catch (Exception e) {
-            Assert.fail(e.toString());
-        }
-        // set tick label font programmatically and test.
-        yaxis.setTickLabelFont(new Font(12.0f));
-        assertEquals(12, new Double(yaxis.getTickLabelFont().getSize()).intValue());
-        assertEquals(12, new Double(yaxis.measure.getFont().getSize()).intValue());
-        final ObservableList<Axis.TickMark<Number>> yaTickMarks = yaxis.getTickMarks();
-        TickMark tm = yaTickMarks.get(0);
-        assertEquals(12, new Double(tm.textNode.getFont().getSize()).intValue());
-    }
-    
-    @Test public void testSetTickLabelFill() {
-        startApp();
-        pulse();
-        yaxis.setTickLabelFill(Color.web("#444444"));
-        pulse();
-        // Check if text node on axis has the right fill 
-        for (Node n : yaxis.getChildrenUnmodifiable()) {
-            if (n instanceof Text) {
-                assertEquals(((Text)n).getFill(), Color.web("#444444"));
-            }
-        }
-    }
-    
-    @Test public void testAddAxisWithoutSpecifyingSide() {
-        final NumberAxis axis = new NumberAxis(0, 12, 1);
-        axis.setMaxWidth(Double.MAX_VALUE);
-        axis.setPrefWidth(400);
-        pulse();
-        StackPane layout = new StackPane();
-        ParentShim.getChildren(layout).addAll(axis);
-        pulse();
-        setTestScene(new Scene(layout));
-        setTestStage(new Stage());
-        getTestStage().setScene(getTestScene());
-        getTestStage().show();
-        pulse();
-    }
-    
-    @Test public void testLegendSizeWhenThereIsNoChartData() {
-        startApp();
-        assertEquals(0, areachart.getLegend().prefHeight(-1), 0);            
-        assertEquals(0, areachart.getLegend().prefWidth(-1), 0);            
-    }
-
-
-    @Test public void canModifySeriesWithoutChart() {
-        XYChart.Series series = new XYChart.Series();
-
-        ObservableList<XYChart.Data> dataList1 = FXCollections.observableArrayList();
-        dataList1.add(new XYChart.Data(0, 1));
-        dataList1.add(new XYChart.Data(1, 2));
-        dataList1.add(new XYChart.Data(2, 3));
-
-        series.setData(dataList1);
-
-        assertSame(dataList1, series.getData());
-
-        ObservableList<XYChart.Data> dataList2 = FXCollections.observableArrayList();
-        dataList2.add(new XYChart.Data(0, 3));
-        dataList2.add(new XYChart.Data(1, 2));
-        dataList2.add(new XYChart.Data(2, 1));
-
-        series.setData(dataList2);
-
-        assertSame(dataList2, series.getData());
-    }
-}
--- a/modules/controls/src/test/java/javafx/scene/chart/XYChartTestBase.java	Thu Sep 17 20:35:30 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.chart;
-
-import javafx.collections.ObservableList;
-
-import javafx.scene.Node;
-
-
-public abstract class XYChartTestBase extends ChartTestBase {
-