Fix sharing loyalty card with icon

This commit is contained in:
Sylvia van Os
2019-12-18 13:26:12 +01:00
parent 3f4d0ab5df
commit fd1b86b1cc
2 changed files with 19 additions and 7 deletions

View File

@@ -6,18 +6,20 @@ import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.net.Uri;
import com.google.zxing.BarcodeFormat;
import org.json.JSONException;
import org.json.JSONObject;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import java.io.InvalidObjectException;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static protect.card_locker.DBHelper.LoyaltyCardDbIds;
@@ -40,12 +42,14 @@ public class ImportURITest {
{
// Generate card
Bitmap icon = BitmapFactory.decodeResource(Resources.getSystem(), R.drawable.app_icon_intro);
assertNotNull(icon);
ExtrasHelper extrasHelper = new ExtrasHelper();
extrasHelper.addLanguageValue("en", "key", "value");
db.insertLoyaltyCard("store", "note", BarcodeFormat.UPC_A.toString(), LoyaltyCardDbIds.BARCODE_TYPE, Color.BLACK, Color.WHITE, icon, extrasHelper);
// Get card
LoyaltyCard card = db.getLoyaltyCard(1);
assertNotNull(card.icon);
// Card to URI
Uri cardUri = importURIHelper.toUri(card);
@@ -60,7 +64,15 @@ public class ImportURITest {
assertEquals(card.headerTextColor, parsedCard.headerTextColor);
assertEquals(card.note, parsedCard.note);
assertEquals(card.store, parsedCard.store);
assertEquals(card.icon.getRowBytes(), parsedCard.icon.getRowBytes());
assertEquals(card.icon.getWidth(), parsedCard.icon.getWidth());
assertEquals(card.icon.getHeight(), parsedCard.icon.getHeight());
for(int i = 0; i < card.icon.getWidth(); i++)
{
for(int j = 0; j < card.icon.getHeight(); j++)
{
assertEquals(card.icon.getPixel(i, j), parsedCard.icon.getPixel(i, j));
}
}
assertEquals(card.extras.toJSON().toString(), parsedCard.extras.toJSON().toString());
}