code: def _star_comparison(filter_value, tested_value):
      
      if not is_string(tested_value):
          # Unhandled value type...
          return False
  
      parts = filter_value.split("*")
  
      i = 0
      last_part = len(parts) - 1
  
      idx = 0
      for part in parts:
          # Find the part in the tested value
          idx = tested_value.find(part, idx)
          if idx == -1:
              # Part not found
              return False
  
          len_part = len(part)
          if i == 0 and len_part != 0 and idx != 0:
              # First part is not a star, but the tested value is not at
              # position 0 => Doesn't match
              return False
  
          if (
              i == last_part
              and len_part != 0
              and idx != len(tested_value) - len_part
          ):
              # Last tested part is not at the end of the sequence
              return False
  
          # Be sure to test the next part
          idx += len_part
          i += 1
  
      # Whole test passed
      return True
docs: Tests a filter containing a joker