Variables acting as embedded arguments are not checked against regular expression · Issue #4069 · robotframework/robotframework (original) (raw)

Hi, I came across strange behaviour of RF regarding embedded arguments. I have keyword

Perform ${arg:[^ ]+}
    Log To Console  ${arg}

In other words, the argument cannot contain any space. Then, Perform abcd passes, as it contains no space. Perform ab cd fails with No keyword with name 'Perform ab cd' found, since it does contain a space. So far so good. But when I set the value with space to a variable and give it to the keyword: ${a} Set Variable ab cd and Perform ${a}, the keyword surprisingly passes (and logs ab cd). I expect it to fail as if in case when the non-matching value was given to the keyword directly.