@Test public void testSave() throws Exception { RSyntaxTextArea textArea1 = new RSyntaxTextArea( SyntaxConstants.SYNTAX_STYLE_PHP); RTextScrollPane sp1 = new RTextScrollPane(textArea1); Gutter gutter1 = sp1.getGutter(); initWithOddProperties(textArea1, gutter1); RSyntaxTextArea textArea2 = new RSyntaxTextArea( SyntaxConstants.SYNTAX_STYLE_PHP); RTextScrollPane sp2 = new RTextScrollPane(textArea2); Gutter gutter2 = sp2.getGutter(); assertAllThemePropertiesDifferent(textArea1, gutter1, textArea2, gutter2); Theme theme = new Theme(textArea1); ByteArrayOutputStream baos = new ByteArrayOutputStream(); theme.save(baos); String actual = new String(baos.toByteArray(), "UTF-8"); baos.close(); ByteArrayInputStream bin = new ByteArrayInputStream(actual.getBytes("UTF-8")); Theme theme2 = Theme.load(bin); bin.close(); theme2.apply(textArea2); assertEqualThemeProperties(textArea1, gutter1, textArea2, gutter2); }