Line 0
Link Here
|
0 |
- |
1 |
/* |
|
|
2 |
* Licensed to the Apache Software Foundation (ASF) under one or more |
3 |
* contributor license agreements. See the NOTICE file distributed with |
4 |
* this work for additional information regarding copyright ownership. |
5 |
* The ASF licenses this file to you under the Apache License, Version 2.0 |
6 |
* (the "License"); you may not use this file except in compliance with |
7 |
* the License. You may obtain a copy of the License at |
8 |
* |
9 |
* http://www.apache.org/licenses/LICENSE-2.0 |
10 |
* |
11 |
* Unless required by applicable law or agreed to in writing, software |
12 |
* distributed under the License is distributed on an "AS IS" BASIS, |
13 |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
14 |
* See the License for the specific language governing permissions and |
15 |
* limitations under the License. |
16 |
*/ |
17 |
|
18 |
package org.apache.jmeter.engine.util |
19 |
|
20 |
import org.apache.jmeter.functions.Function |
21 |
import org.apache.jmeter.samplers.SampleResult |
22 |
import org.apache.jmeter.samplers.Sampler |
23 |
|
24 |
import spock.lang.Specification |
25 |
import spock.lang.Unroll |
26 |
|
27 |
@Unroll |
28 |
class FunctionParserSpec extends Specification { |
29 |
def "function '#value' gets compiled"() { |
30 |
given: |
31 |
CompoundVariable.functions.put('__func', Func.class) |
32 |
def parser = new FunctionParser() |
33 |
when: |
34 |
def result = parser.compileString(value) |
35 |
then: |
36 |
"$result" == "$expected" |
37 |
where: |
38 |
value | expected |
39 |
'${__func()}' | [new Func()] |
40 |
'${ __func()}' | [new Func()] |
41 |
'${__func() }' | [new Func()] |
42 |
'${ __func() }' | [new Func()] |
43 |
} |
44 |
|
45 |
public static class Func implements Function { |
46 |
void setParameters(Collection params) { |
47 |
// do nothing |
48 |
} |
49 |
String getReferenceKey() { |
50 |
return "__func" |
51 |
} |
52 |
List<String> getArgumentDesc() { |
53 |
return Collections.emptyList() |
54 |
} |
55 |
String execute(SampleResult result, Sampler sampler) { |
56 |
return "done" |
57 |
} |
58 |
String toString() { |
59 |
return "__func()" |
60 |
} |
61 |
} |
62 |
} |