Search in sources :

Example 1 with PyPathEvaluator

use of com.jetbrains.python.psi.impl.PyPathEvaluator in project intellij-community by JetBrains.

the class PyPathEvaluatorTest method testList.

public void testList() {
    final PyExpression expression = PyElementGenerator.getInstance(myFixture.getProject()).createExpressionFromText("['a' + 'b'] + ['c']");
    List<Object> result = (List<Object>) new PyPathEvaluator("").evaluate(expression);
    assertEquals(2, result.size());
    assertEquals("ab", result.get(0));
    assertEquals("c", result.get(1));
}
Also used : PyPathEvaluator(com.jetbrains.python.psi.impl.PyPathEvaluator) PyExpression(com.jetbrains.python.psi.PyExpression) List(java.util.List)

Example 2 with PyPathEvaluator

use of com.jetbrains.python.psi.impl.PyPathEvaluator in project intellij-community by JetBrains.

the class PyPathEvaluatorTest method testConstants.

public void testConstants() {
    myFixture.configureByText(PythonFileType.INSTANCE, "ROOT_PATH = '/foo'\nTEMPLATES_DIR = os.path.join(ROOT_PATH, 'templates')");
    PyFile file = (PyFile) myFixture.getFile();
    final PyTargetExpression expression = file.findTopLevelAttribute("TEMPLATES_DIR");
    final PyExpression value = expression.findAssignedValue();
    final String result = FileUtil.toSystemIndependentName((String) new PyPathEvaluator("").evaluate(value));
    assertEquals(result, "/foo/templates");
}
Also used : PyPathEvaluator(com.jetbrains.python.psi.impl.PyPathEvaluator) PyTargetExpression(com.jetbrains.python.psi.PyTargetExpression) PyExpression(com.jetbrains.python.psi.PyExpression) PyFile(com.jetbrains.python.psi.PyFile)

Aggregations

PyExpression (com.jetbrains.python.psi.PyExpression)2 PyPathEvaluator (com.jetbrains.python.psi.impl.PyPathEvaluator)2 PyFile (com.jetbrains.python.psi.PyFile)1 PyTargetExpression (com.jetbrains.python.psi.PyTargetExpression)1 List (java.util.List)1