View Javadoc

1   // Copyright (C) 2009 - 2012 Philip Aston
2   // All rights reserved.
3   //
4   // This file is part of The Grinder software distribution. Refer to
5   // the file LICENSE which is part of The Grinder distribution for
6   // licensing details. The Grinder distribution is available on the
7   // Internet at http://grinder.sourceforge.net/
8   //
9   // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
10  // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
11  // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
12  // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
13  // COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
14  // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
15  // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
16  // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
17  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
18  // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
19  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
20  // OF THE POSSIBILITY OF SUCH DAMAGE.
21  
22  package net.grinder.scriptengine.jython.instrumentation.dcr;
23  
24  import java.util.ArrayList;
25  import java.util.List;
26  
27  import net.grinder.engine.common.EngineException;
28  import net.grinder.engine.process.dcr.DCRContextImplementation;
29  import net.grinder.scriptengine.CompositeInstrumenter;
30  import net.grinder.scriptengine.Instrumenter;
31  import net.grinder.scriptengine.java.JavaScriptEngineService;
32  import net.grinder.testutility.Jython21_22Runner;
33  
34  import org.junit.Test;
35  import org.junit.runner.RunWith;
36  
37  
38  /**
39   * Unit tests for {@link Jython22Instrumenter}.
40   *
41   * @author Philip Aston
42   */
43  @RunWith(Jython21_22Runner.class)
44  public class TestJython22Instrumenter
45    extends AbstractJythonDCRInstrumenterTestCase {
46  
47    private static Instrumenter createInstrumenter() throws EngineException {
48      final List<Instrumenter> instrumenters = new ArrayList<Instrumenter>();
49  
50      instrumenters.add(
51        new Jython22Instrumenter(DCRContextImplementation.create(null)));
52  
53      instrumenters.addAll(
54        new JavaScriptEngineService(DCRContextImplementation.create(null))
55        .createInstrumenters());
56  
57      return new CompositeInstrumenter(instrumenters);
58    }
59  
60    public TestJython22Instrumenter() throws Exception {
61      super(createInstrumenter());
62    }
63  
64    @Test public void testVersion() throws Exception {
65      assertVersion("(2.1|2.2)");
66    }
67  }