1 package org.robolectric.shadows; 2 3 import static org.assertj.core.api.Assertions.assertThat; 4 5 import java.io.File; 6 import org.junit.Before; 7 import org.junit.Test; 8 import org.junit.runner.RunWith; 9 import org.robolectric.RobolectricTestRunner; 10 import org.robolectric.res.Fs; 11 import org.robolectric.res.FsFile; 12 import org.robolectric.res.Qualifiers; 13 import org.robolectric.res.ResType; 14 import org.robolectric.res.TypedResource; 15 import org.robolectric.res.XmlContext; 16 17 @RunWith(RobolectricTestRunner.class) 18 public class ConverterTest { 19 20 private XmlContext xmlContext; 21 22 @Before 23 public void setUp() throws Exception { 24 FsFile xmlFile = Fs.newFile(new File("res/values/foo.xml")); 25 Qualifiers qualifiers = Qualifiers.fromParentDir(xmlFile.getParent()); 26 27 xmlContext = new XmlContext("", xmlFile, qualifiers); 28 } 29 30 @Test 31 public void fromCharSequence_asInt_shouldHandleSpacesInString() { 32 final TypedResource<String> resource = new TypedResource<>(" 100 ", ResType.CHAR_SEQUENCE, xmlContext); 33 assertThat(Converter.getConverter(ResType.CHAR_SEQUENCE).asInt(resource)).isEqualTo(100); 34 } 35 36 @Test 37 public void fromCharSequence_asCharSequence_shouldHandleSpacesInString() { 38 final TypedResource<String> resource = new TypedResource<>(" Robolectric ", ResType.CHAR_SEQUENCE, xmlContext); 39 assertThat(Converter.getConverter(ResType.CHAR_SEQUENCE).asCharSequence(resource)).isEqualTo("Robolectric"); 40 } 41 42 @Test 43 public void fromColor_asInt_shouldHandleSpacesInString() { 44 final TypedResource<String> resource = new TypedResource<>(" #aaaaaa ", ResType.COLOR, xmlContext); 45 assertThat(Converter.getConverter(ResType.COLOR).asInt(resource)).isEqualTo(-5592406); 46 } 47 48 @Test 49 public void fromDrawableValue_asInt_shouldHandleSpacesInString() { 50 final TypedResource<String> resource = new TypedResource<>(" #aaaaaa ", ResType.DRAWABLE, xmlContext); 51 assertThat(Converter.getConverter(ResType.DRAWABLE).asInt(resource)).isEqualTo(-5592406); 52 } 53 54 @Test 55 public void fromInt_asInt_shouldHandleSpacesInString() { 56 final TypedResource<String> resource = new TypedResource<>(" 100 ", ResType.INTEGER, xmlContext); 57 assertThat(Converter.getConverter(ResType.INTEGER).asInt(resource)).isEqualTo(100); 58 } 59 }