SonarQube describes the "Condition" coverage like this:
On each line of code containing some boolean expressions, the condition coverage simply answers the following question: 'Has each boolean expression been evaluated both to true and false?'. This is the density of possible branches in flow control structures that have been followed during unit tests execution.
http://docs.codehaus.org/display/SONAR/Metric+definitions
Well but I suspect they mean "branch coverage":
if (A || B || C)
Testing A=true and B=true yields 100%, without the need of checking the last expression (C). Also just two branches are tested - true and false for the whole expression, not individual expressions. Is that right?
As far as I know, condition coverage should check all conditions in an expression.