package com.hubspot.jinjava.lib.exptest; import com.hubspot.jinjava.doc.annotations.JinjavaDoc; import com.hubspot.jinjava.doc.annotations.JinjavaSnippet; import com.hubspot.jinjava.interpret.InterpretException; import com.hubspot.jinjava.interpret.JinjavaInterpreter; @JinjavaDoc( value = "Return true if object is a string which contains a specified other string", snippets = { @JinjavaSnippet( code = "{% if variable is string_containing 'foo' %}\n" + " <!--code to render if variable contains 'foo' -->\n" + "{% endif %}") }) public class IsStringContainingExpTest extends IsStringExpTest { @Override public String getName() { return super.getName() + "_containing"; } @Override public boolean evaluate(Object var, JinjavaInterpreter interpreter, Object... args) { if (!super.evaluate(var, interpreter, args)) { return false; } if (args.length == 0 || args[0] == null) { throw new InterpretException(getName() + " test requires an argument"); } return ((String) var).contains(args[0].toString()); } }