Skip to content

Commit

Permalink
Add a (failing) test for #17
Browse files Browse the repository at this point in the history
  • Loading branch information
cowtowncoder committed Mar 13, 2017
1 parent 7ef16bb commit 8061ede
Show file tree
Hide file tree
Showing 4 changed files with 56 additions and 26 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -339,8 +339,8 @@ protected JsonSerializer<?> findContentSerializer(SerializerProvider serializers
if (property != null) {
// First: if we have a property, may have property-annotation overrides
AnnotatedMember m = property.getMember();
final AnnotationIntrospector intr = serializers.getAnnotationIntrospector();
if (m != null) {
final AnnotationIntrospector intr = serializers.getAnnotationIntrospector();
Object serDef = intr.findContentSerializer(m);
if (serDef != null) {
return serializers.serializerInstance(m, serDef);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,12 @@ public static <T> OptionalGenericData<T> construct(T data) {
}
}

/*
/**********************************************************
/* Test methods
/**********************************************************
*/

private final ObjectMapper MAPPER = mapperWithModule();

public void testSerOptNonEmpty() throws Exception
Expand All @@ -49,6 +55,15 @@ public void testSerOptNonEmpty() throws Exception
assertEquals("{}", value);
}

public void testSerOptNonDefault() throws Exception
{
OptionalData data = new OptionalData();
data.myString = null;
String value = mapperWithModule().setSerializationInclusion(
JsonInclude.Include.NON_DEFAULT).writeValueAsString(data);
assertEquals("{}", value);
}

public void testSerOptNonAbsent() throws Exception
{
OptionalData data = new OptionalData();
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package com.fasterxml.jackson.failing;

import java.util.Date;
import java.util.Optional;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jdk8.ModuleTestBase;

public class ContextualOptional17Test extends ModuleTestBase
{
// [datatypes-java8#17]
@JsonPropertyOrder({ "date1", "date2" })
static class ContextualOptionals
{
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
public Optional<Date> date1;

@JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM")
public Optional<Date> date2;
}

/*
/**********************************************************
/* Test methods
/**********************************************************
*/

private final ObjectMapper MAPPER = mapperWithModule();

public void testContextualOptionals() throws Exception
{
ContextualOptionals input = new ContextualOptionals();
input.date1 = Optional.ofNullable(new Date(0L));
input.date2 = Optional.ofNullable(new Date(0L));
assertEquals(aposToQuotes("{'date1':'1970-01-01','date2':'1970-01'"),
MAPPER.writeValueAsString(input));
}
}

This file was deleted.

0 comments on commit 8061ede

Please sign in to comment.