--- old/modules/graphics/src/main/java/com/sun/javafx/css/Stylesheet.java 2014-05-14 10:31:13.000000000 -0600 +++ new/modules/graphics/src/main/java/com/sun/javafx/css/Stylesheet.java 2014-05-14 10:31:12.000000000 -0600 @@ -308,7 +308,7 @@ throw new IllegalArgumentException("cannot read source file"); } - if ((destination.exists() && destination.canWrite() == false) || destination.createNewFile() == false) { + if (destination.exists() ? (destination.canWrite() == false) : (destination.createNewFile() == false)) { throw new IllegalArgumentException("cannot write destination file"); } --- old/modules/graphics/src/test/java/com/sun/javafx/css/StylesheetTest.java 2014-05-14 10:31:14.000000000 -0600 +++ new/modules/graphics/src/test/java/com/sun/javafx/css/StylesheetTest.java 2014-05-14 10:31:14.000000000 -0600 @@ -36,7 +36,9 @@ import java.io.ByteArrayOutputStream; import java.io.DataInputStream; import java.io.DataOutputStream; +import java.io.File; import java.io.IOException; +import java.net.URISyntaxException; import java.net.URL; import java.util.Collections; import java.util.List; @@ -67,7 +69,7 @@ public class StylesheetTest { String testURL = null; - + public StylesheetTest() { testURL = getClass().getResource("HonorDeveloperSettingsTest_UA.css").toExternalForm(); } @@ -81,7 +83,7 @@ URL expResult = null; String result = instance.getUrl(); assertEquals(expResult, result); - + instance = new Stylesheet(testURL); result = instance.getUrl(); assertEquals(testURL, result); @@ -96,7 +98,7 @@ StyleOrigin expResult = StyleOrigin.AUTHOR; StyleOrigin result = instance.getOrigin(); assertEquals(expResult, result); - + instance.setOrigin(StyleOrigin.INLINE); expResult = StyleOrigin.INLINE; result = instance.getOrigin(); @@ -129,13 +131,13 @@ assert(rules.size() == 5); for(Rule r : rules) assertEquals(r, rule); } - + @Test public void testAddingRuleSetsStylesheetOnRule() { Rule rule = new Rule(Collections.EMPTY_LIST, Collections.EMPTY_LIST); Stylesheet instance = new Stylesheet(); instance.getRules().add(rule); - assert(rule.getStylesheet() == instance); + assert(rule.getStylesheet() == instance); } @Test @@ -146,7 +148,7 @@ instance.getRules().remove(rule); assertNull(rule.getStylesheet()); } - + /** * Test of equals method, of class Stylesheet. */ @@ -169,12 +171,12 @@ expResult = false; result = instance.equals(obj); assertEquals(expResult, result); - + obj = instance = new Stylesheet(testURL); expResult = true; result = instance.equals(obj); assertEquals(expResult, result); - + } /** @@ -224,7 +226,7 @@ fail("The test case is a prototype."); } */ - + @Test public void test_RT_18126() { // CSS cannot write binary -fx-background-repeat: repeat, no-repeat; String data = "#rt18126 {" @@ -580,4 +582,17 @@ return com.sun.javafx.css.parser.CSSParserTest.checkFontFace(stylesheet); } + @Test + public void testRT_37122() { + try { + URL url = StylesheetTest.class.getResource("RT-37122.css"); + File source = new File(url.toURI()); + File target = File.createTempFile("RT_37122_", "bss"); + Stylesheet.convertToBinary(source, target); + Stylesheet.convertToBinary(source, target); + } catch (URISyntaxException | IOException e) { + fail(e.toString()); + } + } + } --- old/modules/graphics/src/test/resources/com/sun/javafx/css/ua0.css 2014-05-14 10:31:15.000000000 -0600 +++ /dev/null 2014-05-14 10:31:15.000000000 -0600 @@ -1 +0,0 @@ -.rect { -fx-fill: red; } --- /dev/null 2014-05-14 10:31:15.000000000 -0600 +++ new/modules/graphics/src/test/resources/com/sun/javafx/css/RT-37122.css 2014-05-14 10:31:15.000000000 -0600 @@ -0,0 +1 @@ +.rect { -fx-fill: red; }