Skip to content

Commit

Permalink
8256649: Parameterized tests must not use instances as parameters
Browse files Browse the repository at this point in the history
Reviewed-by: kcr
  • Loading branch information
Jeanette Winzenburg committed Nov 20, 2020
1 parent 767a1fd commit 8e03018
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 19 deletions.
Expand Up @@ -28,7 +28,6 @@
import java.lang.ref.WeakReference;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;

import org.junit.After;
import org.junit.Before;
Expand All @@ -42,14 +41,12 @@
import static test.com.sun.javafx.scene.control.infrastructure.ControlSkinFactory.*;

import javafx.scene.control.Control;
import javafx.scene.control.ListView;
import javafx.scene.control.PasswordField;
import javafx.scene.control.TableView;
import javafx.scene.control.TextArea;
import javafx.scene.control.TextField;
import javafx.scene.control.TreeTableView;
import javafx.scene.control.TreeView;
import test.com.sun.javafx.scene.control.infrastructure.ControlSkinFactory;

/**
* Test for memory leaks in Behavior implementations.
Expand All @@ -59,6 +56,7 @@
@RunWith(Parameterized.class)
public class BehaviorMemoryLeakTest {

private Class<Control> controlClass;
private Control control;

/**
Expand Down Expand Up @@ -93,15 +91,11 @@ public static Collection<Object[]> data() {
);
// remove the known issues to make the test pass
controlClasses.removeAll(leakingClasses);
// instantiate controls
List<Control> controls = controlClasses.stream()
.map(ControlSkinFactory::createControl)
.collect(Collectors.toList());
return asArrays(controls);
return asArrays(controlClasses);
}

public BehaviorMemoryLeakTest(Control control) {
this.control = control;
public BehaviorMemoryLeakTest(Class<Control> controlClass) {
this.controlClass = controlClass;
}

//------------------- setup
Expand All @@ -120,6 +114,7 @@ public void setup() {
Thread.currentThread().getThreadGroup().uncaughtException(thread, throwable);
}
});
control = createControl(controlClass);
assertNotNull(control);
}

Expand Down
Expand Up @@ -28,7 +28,6 @@
import java.lang.ref.WeakReference;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;

import org.junit.After;
import org.junit.Before;
Expand Down Expand Up @@ -63,7 +62,6 @@
import javafx.scene.control.TreeTableRow;
import javafx.scene.control.TreeTableView;
import javafx.scene.control.TreeView;
import test.com.sun.javafx.scene.control.infrastructure.ControlSkinFactory;

/**
* Test memory leaks in Skin implementations.
Expand All @@ -73,6 +71,7 @@
@RunWith(Parameterized.class)
public class SkinMemoryLeakTest {

private Class<Control> controlClass;
private Control control;

//--------- tests
Expand Down Expand Up @@ -129,15 +128,11 @@ public static Collection<Object[]> data() {
);
// remove the known issues to make the test pass
controlClasses.removeAll(leakingClasses);
// instantiate controls
List<Control> controls = controlClasses.stream()
.map(ControlSkinFactory::createControl)
.collect(Collectors.toList());
return asArrays(controls);
return asArrays(controlClasses);
}

public SkinMemoryLeakTest(Control control) {
this.control = control;
public SkinMemoryLeakTest(Class<Control> controlClass) {
this.controlClass = controlClass;
}

//------------ setup
Expand All @@ -151,6 +146,7 @@ public void setup() {
Thread.currentThread().getThreadGroup().uncaughtException(thread, throwable);
}
});
this.control = createControl(controlClass);
assertNotNull(control);
}

Expand Down

0 comments on commit 8e03018

Please sign in to comment.