Home | History | Annotate | Download | only in shadows
      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 }