/* package */ JSONObject encode() throws JSONException { JSONObject json = new JSONObject(); json.put("__type", "File"); json.put("name", getName()); String url = getUrl(); if (url == null) { throw new IllegalStateException("Unable to encode an unsaved ParseFile."); } json.put("url", getUrl()); return json; }
void writeToParcel(Parcel dest, ParseParcelEncoder encoder) { if (isDirty()) { throw new RuntimeException("Unable to parcel an unsaved ParseFile."); } dest.writeString(getUrl()); // Not null dest.writeString(getName()); // Not null String type = state.mimeType(); // Nullable dest.writeByte(type != null ? (byte) 1 : 0); if (type != null) { dest.writeString(type); } }
@Test public void testGetParseFileKeyExist() { final ParseFile file = new ParseFile( new ParseFile.State.Builder().name("image.png").url("http://yarr.com/image.png").build()); ParseFile fileAgain = new ParseFile( new ParseFile.State.Builder().name("file.txt").url("http://yarr.com/file.txt").build()); final Map<String, Object> params = new HashMap<>(); params.put("key", file); ParseConfig config = new ParseConfig(params); ParseFile fileConfig = config.getParseFile("key"); assertEquals(file.getName(), fileConfig.getName()); assertEquals(file.getUrl(), fileConfig.getUrl()); assertSame(fileConfig, config.getParseFile("key", fileAgain)); }
ParseFile fileAgain = (ParseFile) decodedDiskConfigParameters.get("file"); assertEquals(file.getUrl(), fileAgain.getUrl()); assertEquals(file.getName(), fileAgain.getName()); ParseGeoPoint geoPointAgain = (ParseGeoPoint) decodedDiskConfigParameters.get("geoPoint"); assertEquals(geoPoint.getLatitude(), geoPointAgain.getLatitude(), 0.0000001);
ParseFile fileAgain = (ParseFile) paramsAgain.get("file"); assertEquals(file.getUrl(), fileAgain.getUrl()); assertEquals(file.getName(), fileAgain.getName()); ParseGeoPoint geoPointAgain = (ParseGeoPoint) paramsAgain.get("geoPoint"); assertEquals(geoPoint.getLatitude(), geoPointAgain.getLatitude(), 0.0000001);
ParseFile fileAgain = (ParseFile) paramsAgain.get("file"); assertEquals(file.getUrl(), fileAgain.getUrl()); assertEquals(file.getName(), fileAgain.getName()); ParseGeoPoint geoPointAgain = (ParseGeoPoint) paramsAgain.get("geoPoint"); assertEquals(geoPoint.getLatitude(), geoPointAgain.getLatitude(), 0.0000001);
assertEquals("name", parseFile.getName()); assertEquals("content_type", parseFile.getState().mimeType()); assertTrue(parseFile.isDirty()); assertEquals("file", parseFile.getName()); // Default assertEquals(null, parseFile.getState().mimeType()); assertTrue(parseFile.isDirty()); assertEquals("name", parseFile.getName()); assertEquals(null, parseFile.getState().mimeType()); assertTrue(parseFile.isDirty()); assertEquals("file", parseFile.getName()); // Default assertEquals("content_type", parseFile.getState().mimeType()); assertTrue(parseFile.isDirty()); assertEquals(name, parseFile.getName()); // Default assertEquals(null, parseFile.getState().mimeType()); assertTrue(parseFile.isDirty()); assertEquals(name, parseFile.getName()); // Default assertEquals("content_type", parseFile.getState().mimeType());
@Test public void testParcelable() { String mime = "mime"; String name = "name"; String url = "url"; ParseFile file = new ParseFile(new ParseFile.State.Builder() .name(name) .mimeType(mime) .url(url) .build()); Parcel parcel = Parcel.obtain(); file.writeToParcel(parcel, 0); parcel.setDataPosition(0); file = ParseFile.CREATOR.createFromParcel(parcel); assertEquals(file.getName(), name); assertEquals(file.getUrl(), url); assertEquals(file.getState().mimeType(), mime); assertFalse(file.isDirty()); }