24 */
25
26 package test.javafx.css;
27
28
29 import com.sun.javafx.css.StyleManager;
30
31 import java.io.IOException;
32 import javafx.css.CssMetaData;
33 import javafx.css.CssParser;
34 import javafx.css.PseudoClass;
35 import javafx.css.StyleableProperty;
36 import javafx.css.Stylesheet;
37 import javafx.scene.Group;
38 import javafx.scene.Scene;
39 import javafx.scene.paint.Color;
40 import javafx.scene.paint.Paint;
41 import javafx.scene.shape.Rectangle;
42 import static org.junit.Assert.*;
43
44 import org.junit.Before;
45 import org.junit.Test;
46
47 public class Node_cssStateTransition_Test {
48
49 public Node_cssStateTransition_Test() {
50 }
51
52 @Before
53 public void setUp() {
54 StyleManager sm = StyleManager.getInstance();
55 sm.userAgentStylesheetContainers.clear();
56 sm.platformUserAgentStylesheetContainers.clear();
57 sm.stylesheetContainerMap.clear();
58 sm.cacheContainerMap.clear();
59 sm.hasDefaultUserAgentStylesheet = false;
60 }
61
62 @Test
63 public void testPropertiesResetOnStyleclassChange() {
64
65 Rectangle rect = new Rectangle(50,50);
66 Paint defaultFill = rect.getFill();
67 Paint defaultStroke = rect.getStroke();
68 Double defaultStrokeWidth = Double.valueOf(rect.getStrokeWidth());
69
70 CssMetaData metaData = ((StyleableProperty)rect.fillProperty()).getCssMetaData();
71 assertEquals(defaultFill, metaData.getInitialValue(rect));
72 metaData = ((StyleableProperty)rect.strokeProperty()).getCssMetaData();
73 assertEquals(defaultStroke, metaData.getInitialValue(rect));
74 metaData = ((StyleableProperty)rect.strokeWidthProperty()).getCssMetaData();
75 assertEquals(defaultStrokeWidth, metaData.getInitialValue(rect));
76
77 Stylesheet stylesheet = null;
78 try {
79 // Note: setDefaultUserAgentStylesheet in StyleManager won't replace the UA stylesheet unless it has a name,
80 // and that name needs to be different from the current one, if any. This matters when running
81 // these tests from the same VM since StyleManager is a singleton.
|
24 */
25
26 package test.javafx.css;
27
28
29 import com.sun.javafx.css.StyleManager;
30
31 import java.io.IOException;
32 import javafx.css.CssMetaData;
33 import javafx.css.CssParser;
34 import javafx.css.PseudoClass;
35 import javafx.css.StyleableProperty;
36 import javafx.css.Stylesheet;
37 import javafx.scene.Group;
38 import javafx.scene.Scene;
39 import javafx.scene.paint.Color;
40 import javafx.scene.paint.Paint;
41 import javafx.scene.shape.Rectangle;
42 import static org.junit.Assert.*;
43
44 import org.junit.AfterClass;
45 import org.junit.Before;
46 import org.junit.Test;
47
48 public class Node_cssStateTransition_Test {
49
50 public Node_cssStateTransition_Test() {
51 }
52
53 private static void resetStyleManager() {
54 StyleManager sm = StyleManager.getInstance();
55 sm.userAgentStylesheetContainers.clear();
56 sm.platformUserAgentStylesheetContainers.clear();
57 sm.stylesheetContainerMap.clear();
58 sm.cacheContainerMap.clear();
59 sm.hasDefaultUserAgentStylesheet = false;
60 }
61
62 @Before
63 public void setUp() {
64 resetStyleManager();
65 }
66
67 @AfterClass
68 public static void cleanupOnce() {
69 resetStyleManager();
70 }
71
72 @Test
73 public void testPropertiesResetOnStyleclassChange() {
74
75 Rectangle rect = new Rectangle(50,50);
76 Paint defaultFill = rect.getFill();
77 Paint defaultStroke = rect.getStroke();
78 Double defaultStrokeWidth = Double.valueOf(rect.getStrokeWidth());
79
80 CssMetaData metaData = ((StyleableProperty)rect.fillProperty()).getCssMetaData();
81 assertEquals(defaultFill, metaData.getInitialValue(rect));
82 metaData = ((StyleableProperty)rect.strokeProperty()).getCssMetaData();
83 assertEquals(defaultStroke, metaData.getInitialValue(rect));
84 metaData = ((StyleableProperty)rect.strokeWidthProperty()).getCssMetaData();
85 assertEquals(defaultStrokeWidth, metaData.getInitialValue(rect));
86
87 Stylesheet stylesheet = null;
88 try {
89 // Note: setDefaultUserAgentStylesheet in StyleManager won't replace the UA stylesheet unless it has a name,
90 // and that name needs to be different from the current one, if any. This matters when running
91 // these tests from the same VM since StyleManager is a singleton.
|