Skip to content

Commit

Permalink
Merge pull request #80 from if12b062/master
Browse files Browse the repository at this point in the history
Added setParser() to HawkBuilder
  • Loading branch information
orhanobut committed Sep 9, 2015
2 parents 351e466 + 07d8646 commit 4e053c7
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 0 deletions.
5 changes: 5 additions & 0 deletions hawk/src/main/java/com/orhanobut/hawk/HawkBuilder.java
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,11 @@ public HawkBuilder setCallback(Callback callback) {
return this;
}

public HawkBuilder setParser(Parser parser) {
this.parser = parser;
return this;
}

public Context getContext() {
return context;
}
Expand Down
40 changes: 40 additions & 0 deletions hawk/src/test/java/com/orhanobut/hawk/HawkBuilderTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@

import android.app.Activity;
import android.content.Context;
import android.text.TextUtils;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonSyntaxException;
import com.orhanobut.hawk.GsonParser;

import junit.framework.TestCase;

Expand All @@ -13,6 +19,10 @@
import org.robolectric.RobolectricGradleTestRunner;
import org.robolectric.annotation.Config;

import java.lang.reflect.Type;

import dalvik.annotation.TestTarget;

import static org.assertj.core.api.Assertions.assertThat;

/**
Expand All @@ -30,6 +40,28 @@ public HawkBuilderTest() {
builder = Hawk.init(context);
}

class CustomParser implements Parser {
private final Gson gson;

public CustomParser(Gson gson) {
this.gson = gson;
}

@Override
public <T> T fromJson(String content, Type type) throws JsonSyntaxException {
if (TextUtils.isEmpty(content)) {
return null;
}
return gson.fromJson(content, type);
}

@Override
public String toJson(Object body) {
return gson.toJson(body);
}

}

@Before
public void setup() {
builder = new HawkBuilder(context);
Expand Down Expand Up @@ -149,6 +181,14 @@ public void testDefaultParser() {
assertThat(builder.getParser()).isInstanceOf(GsonParser.class);
}

@Test
public void testCustomParser() {
CustomParser parser = new CustomParser(new Gson());
builder.setParser(parser)
.build();
assertThat(builder.getParser()).isInstanceOf(CustomParser.class);
}

@Test
public void testDefaultEncoded() {
builder.build();
Expand Down

0 comments on commit 4e053c7

Please sign in to comment.