public ResolverStyleSheet clone() { return (ResolverStyleSheet) super.clone(); }
public ElementStyleRule clone() { final ElementStyleRule clone = (ElementStyleRule) super.clone(); clone.selectorList = (ArrayList<CSSSelector>) selectorList.clone(); return clone; }
public ElementStyleDefinition clone() { try { final ElementStyleDefinition clone = (ElementStyleDefinition) super.clone(); clone.styles = (ArrayList<ElementStyleDefinition>) styles.clone(); for ( int i = 0; i < styles.size(); i++ ) { final ElementStyleDefinition styleDefinition = styles.get( i ); clone.styles.set( i, styleDefinition.clone() ); } clone.rules = (ArrayList<ElementStyleSheet>) rules.clone(); for ( int i = 0; i < rules.size(); i++ ) { final ElementStyleSheet styleDefinition = rules.get( i ); clone.rules.set( i, styleDefinition.clone() ); } return clone; } catch ( CloneNotSupportedException e ) { throw new IllegalStateException(); } }
@Test public void clonesCorrectly() { List<StyleKey> keys = StyleKey.getDefinedStyleKeysList(); ElementStyleSheet sheet = new ElementStyleSheet(); setEverySecondKey( sheet, keys ); ElementStyleSheet clone = sheet.clone(); assertEverySecondKey( clone, keys ); }
@Test public void clone_DiscardsCacheEntries() { StyleKey key = null; List<StyleKey> keysList = StyleKey.getDefinedStyleKeysList(); for ( StyleKey styleKey : keysList ) { if ( styleKey.isInheritable() ) { key = styleKey; break; } } assumeFalse( key == null ); ElementStyleSheet parent = new ElementStyleSheet(); parent.setStyleProperty( key, valueFor( key ) ); ElementStyleSheet sheet = new ElementStyleSheet(); sheet.addInherited( parent ); assertEquals( valueFor( key ), sheet.getStyleProperty( key ) ); assertFalse( "Cached key should not be marked as local", sheet.isLocalKey( key ) ); ElementStyleSheet clone = sheet.clone(); assertNull( clone.getStyleProperty( key ) ); }