RendererTest was implicitly already covered, but in a now-mis-named test...
fixed that while adding an explicit new test. JsonRpcHandlerTest... soonish.
On Sun, Sep 28, 2008 at 10:25 AM, Kevin Brown <[EMAIL PROTECTED]> wrote:

> You need to add an appropriate test for this behavior in JsonRpcHandler and
> Renderer as well.
>
> On Fri, Sep 26, 2008 at 8:29 PM, <[EMAIL PROTECTED]> wrote:
>
> > Author: johnh
> > Date: Fri Sep 26 17:29:37 2008
> > New Revision: 699536
> >
> > URL: http://svn.apache.org/viewvc?rev=699536&view=rev
> > Log:
> > Inability to find a currentView no longer an Exception-causing event in
> > Processor.process()
> >
> > In other words, a Gadget with null currentView is a valid return value.
> The
> > receiver of the Gadget object determines whether a currentView
> > is a requirement for its purposes or not. This enables JsonRpcHandler to
> > return metadata about a gadget without the caller knowing in
> > advance a valid view (particularly important for Gadgets without a
> default
> > view). There is more to be done for /gadgets/metadata, but this
> > reenables that functionality at least.
> >
> > Meanwhile, Renderer updated to check that getCurrentView() is non-null.
> If
> > it is, an error is thrown (the same as if a ProcessingException
> > were caught). HtmlRenderer doesn't perform this check since Renderer gets
> > to it first.
> >
> >
> > Modified:
> >
> >
>  
> incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java
> >
> >
>  
> incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/Renderer.java
> >
> >
>  
> incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java
> >
> > Modified:
> >
> incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java
> > URL:
> >
> http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java?rev=699536&r1=699535&r2=699536&view=diff
> >
> >
> ==============================================================================
> > ---
> >
> incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java
> > (original)
> > +++
> >
> incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java
> > Fri Sep 26 17:29:37 2008
> > @@ -83,17 +83,10 @@
> >       GadgetSpec spec = gadgetSpecFactory.getGadgetSpec(context);
> >       spec = substituter.substitute(context, spec);
> >
> > -      View view = getView(context, spec);
> > -
> > -      if (view == null) {
> > -        throw new ProcessingException("Unable to locate an appropriate
> > view in this gadget. " +
> > -            "Requested: '" + context.getView() + "' Available: " +
> > spec.getViews().keySet());
> > -      }
> > -
> >       return new Gadget()
> >           .setContext(context)
> >           .setSpec(spec)
> > -          .setCurrentView(view);
> > +          .setCurrentView(getView(context, spec));
> >     } catch (GadgetException e) {
> >       throw new ProcessingException(e);
> >     }
> >
> > Modified:
> >
> incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/Renderer.java
> > URL:
> >
> http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/Renderer.java?rev=699536&r1=699535&r2=699536&view=diff
> >
> >
> ==============================================================================
> > ---
> >
> incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/Renderer.java
> > (original)
> > +++
> >
> incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/Renderer.java
> > Fri Sep 26 17:29:37 2008
> > @@ -72,6 +72,12 @@
> >
> >     try {
> >       Gadget gadget = processor.process(context);
> > +
> > +      if (gadget.getCurrentView() == null) {
> > +        return RenderingResults.error("Unable to locate an appropriate
> > view in this gadget. " +
> > +            "Requested: '" + gadget.getContext().getView() +
> > +            "' Available: " + gadget.getSpec().getViews().keySet());
> > +      }
> >
> >       if (gadget.getCurrentView().getType() == View.ContentType.URL) {
> >         return RenderingResults.mustRedirect(getRedirect(gadget));
> >
> > Modified:
> >
> incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java
> > URL:
> >
> http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java?rev=699536&r1=699535&r2=699536&view=diff
> >
> >
> ==============================================================================
> > ---
> >
> incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java
> > (original)
> > +++
> >
> incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/process/ProcessorTest.java
> > Fri Sep 26 17:29:37 2008
> > @@ -18,6 +18,7 @@
> >  package org.apache.shindig.gadgets.process;
> >
> >  import static org.junit.Assert.assertEquals;
> > +import static org.junit.Assert.assertNull;
> >  import static org.junit.Assert.assertTrue;
> >
> >  import org.apache.shindig.common.ContainerConfig;
> > @@ -105,9 +106,10 @@
> >     assertEquals(BASIC_HTML_CONTENT,
> gadget.getCurrentView().getContent());
> >   }
> >
> > -  @Test(expected = ProcessingException.class)
> > -  public void noSupportedViewThrows() throws Exception {
> > -    processor.process(makeContext("not-real-view"));
> > +  @Test
> > +  public void noSupportedViewHasNoCurrentView() throws Exception {
> > +    Gadget gadget = processor.process(makeContext("not-real-view"));
> > +    assertNull(gadget.getCurrentView());
> >   }
> >
> >   @Test
> >
> >
> >
>

Reply via email to