function isForkingByTrueOrFalse(node) {
  const parent = node.parent;

  switch (parent.type) {
    case 'ConditionalExpression':
    case 'IfStatement':
    case 'WhileStatement':
    case 'DoWhileStatement':
    case 'ForStatement':
      return parent.test === node;

    case 'LogicalExpression':
      return isHandledLogicalOperator(parent.operator);

    case 'AssignmentExpression':
      return isLogicalAssignmentOperator(parent.operator);

    default:
      return false;
  }
}
Checks whether or not a given logical expression node goes different path
between the `true` case and the `false` case.
@param {ASTNode} node A node to check.
@returns {boolean} `true` if the node is a test of a choice statement.