<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<title>ForeachTestCase xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<pre>

<a name="1" href="#1">1</a>   <strong class="jxr_keyword">package</strong> org.apache.velocity.test;
<a name="2" href="#2">2</a>   
<a name="3" href="#3">3</a>   <em class="jxr_comment">/*</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> * or more contributor license agreements.  See the NOTICE file</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> * distributed with this work for additional information</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> * regarding copyright ownership.  The ASF licenses this file</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> * to you under the Apache License, Version 2.0 (the</em>
<a name="9" href="#9">9</a>   <em class="jxr_comment"> * "License"); you may not use this file except in compliance</em>
<a name="10" href="#10">10</a>  <em class="jxr_comment"> * with the License.  You may obtain a copy of the License at</em>
<a name="11" href="#11">11</a>  <em class="jxr_comment"> *</em>
<a name="12" href="#12">12</a>  <em class="jxr_comment"> *   <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a name="13" href="#13">13</a>  <em class="jxr_comment"> *</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing,</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> * software distributed under the License is distributed on an</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a name="17" href="#17">17</a>  <em class="jxr_comment"> * KIND, either express or implied.  See the License for the</em>
<a name="18" href="#18">18</a>  <em class="jxr_comment"> * specific language governing permissions and limitations</em>
<a name="19" href="#19">19</a>  <em class="jxr_comment"> * under the License.    </em>
<a name="20" href="#20">20</a>  <em class="jxr_comment"> */</em>
<a name="21" href="#21">21</a>  
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.io.StringWriter;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.util.ArrayList;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.util.List;
<a name="25" href="#25">25</a>  
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> junit.framework.TestCase;
<a name="27" href="#27">27</a>  
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.velocity.VelocityContext;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.velocity.app.Velocity;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.velocity.runtime.RuntimeConstants;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.velocity.runtime.log.NullLogChute;
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.velocity.test.provider.ForeachMethodCallHelper;
<a name="33" href="#33">33</a>  
<a name="34" href="#34">34</a>  <em class="jxr_javadoccomment">/**</em>
<a name="35" href="#35">35</a>  <em class="jxr_javadoccomment"> * This class tests the Foreach loop.</em>
<a name="36" href="#36">36</a>  <em class="jxr_javadoccomment"> *</em>
<a name="37" href="#37">37</a>  <em class="jxr_javadoccomment"> * @author Daniel Rall</em>
<a name="38" href="#38">38</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:wglass@apache.org" target="alexandria_uri">mailto:wglass@apache.org</a>"&gt;Will Glass-Husain&lt;/a&gt;</em>
<a name="39" href="#39">39</a>  <em class="jxr_javadoccomment"> */</em>
<a name="40" href="#40">40</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/velocity/test/ForeachTestCase.html">ForeachTestCase</a> <strong class="jxr_keyword">extends</strong> TestCase
<a name="41" href="#41">41</a>  {
<a name="42" href="#42">42</a>      <strong class="jxr_keyword">private</strong> VelocityContext context;
<a name="43" href="#43">43</a>  
<a name="44" href="#44">44</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/velocity/test/ForeachTestCase.html">ForeachTestCase</a>(String name)
<a name="45" href="#45">45</a>      {
<a name="46" href="#46">46</a>          <strong class="jxr_keyword">super</strong>(name);
<a name="47" href="#47">47</a>      }
<a name="48" href="#48">48</a>  
<a name="49" href="#49">49</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp()
<a name="50" href="#50">50</a>          <strong class="jxr_keyword">throws</strong> Exception
<a name="51" href="#51">51</a>      {
<a name="52" href="#52">52</a>          <em class="jxr_comment">// Limit the loop to three iterations.</em>
<a name="53" href="#53">53</a>          Velocity.setProperty(RuntimeConstants.MAX_NUMBER_LOOPS,
<a name="54" href="#54">54</a>                               <strong class="jxr_keyword">new</strong> Integer(3));
<a name="55" href="#55">55</a>  
<a name="56" href="#56">56</a>          Velocity.setProperty(
<a name="57" href="#57">57</a>                  Velocity.RUNTIME_LOG_LOGSYSTEM_CLASS, NullLogChute.<strong class="jxr_keyword">class</strong>.getName());
<a name="58" href="#58">58</a>  
<a name="59" href="#59">59</a>          Velocity.init();
<a name="60" href="#60">60</a>  
<a name="61" href="#61">61</a>          context = <strong class="jxr_keyword">new</strong> VelocityContext();
<a name="62" href="#62">62</a>      }
<a name="63" href="#63">63</a>  
<a name="64" href="#64">64</a>      <em class="jxr_javadoccomment">/**</em>
<a name="65" href="#65">65</a>  <em class="jxr_javadoccomment">     * Tests limiting of the number of loop iterations.</em>
<a name="66" href="#66">66</a>  <em class="jxr_javadoccomment">     */</em>
<a name="67" href="#67">67</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testMaxNbrLoopsConstraint()
<a name="68" href="#68">68</a>          <strong class="jxr_keyword">throws</strong> Exception
<a name="69" href="#69">69</a>      {
<a name="70" href="#70">70</a>          StringWriter writer = <strong class="jxr_keyword">new</strong> StringWriter();
<a name="71" href="#71">71</a>          String template = <span class="jxr_string">"#foreach ($item in [1..10])$item #end"</span>;
<a name="72" href="#72">72</a>          Velocity.evaluate(context, writer, <span class="jxr_string">"test"</span>, template);
<a name="73" href="#73">73</a>          assertEquals(<span class="jxr_string">"Max number loops not enforced"</span>,
<a name="74" href="#74">74</a>                       <span class="jxr_string">"1 2 3 "</span>, writer.toString());
<a name="75" href="#75">75</a>      }
<a name="76" href="#76">76</a>  
<a name="77" href="#77">77</a>      <em class="jxr_javadoccomment">/**</em>
<a name="78" href="#78">78</a>  <em class="jxr_javadoccomment">     * Tests proper method execution during a Foreach loop with items</em>
<a name="79" href="#79">79</a>  <em class="jxr_javadoccomment">     * of varying classes.</em>
<a name="80" href="#80">80</a>  <em class="jxr_javadoccomment">     */</em>
<a name="81" href="#81">81</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testMethodCall()
<a name="82" href="#82">82</a>          <strong class="jxr_keyword">throws</strong> Exception
<a name="83" href="#83">83</a>      {
<a name="84" href="#84">84</a>          List col = <strong class="jxr_keyword">new</strong> ArrayList();
<a name="85" href="#85">85</a>          col.add(<strong class="jxr_keyword">new</strong> Integer(100));
<a name="86" href="#86">86</a>          col.add(<span class="jxr_string">"STRVALUE"</span>);
<a name="87" href="#87">87</a>          context.put(<span class="jxr_string">"helper"</span>, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/velocity/test/provider/ForeachMethodCallHelper.html">ForeachMethodCallHelper</a>());
<a name="88" href="#88">88</a>          context.put(<span class="jxr_string">"col"</span>, col);
<a name="89" href="#89">89</a>  
<a name="90" href="#90">90</a>          StringWriter writer = <strong class="jxr_keyword">new</strong> StringWriter();
<a name="91" href="#91">91</a>          Velocity.evaluate(context, writer, <span class="jxr_string">"test"</span>,
<a name="92" href="#92">92</a>                            <span class="jxr_string">"#foreach ( $item in $col )$helper.getFoo($item) "</span> +
<a name="93" href="#93">93</a>                            <span class="jxr_string">"#end"</span>);
<a name="94" href="#94">94</a>          assertEquals(<span class="jxr_string">"Method calls while looping over varying classes failed"</span>,
<a name="95" href="#95">95</a>                       <span class="jxr_string">"int 100 str STRVALUE "</span>, writer.toString());
<a name="96" href="#96">96</a>      }
<a name="97" href="#97">97</a>  }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

