input: Write a function to extract the top 10 most frequent words from a given text string. The function should split the text into words, count the frequency of each word using the collections.Counter, and return a list of the top 10 most common words with their frequencies. If the text is empty, return an empty list.
  
  from collections import Counter
  
  assert top_10_words("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.") == [('dolor', 1), ('Lorem', 1), ('ipsum', 1), ('amet', 1), ('consectetur', 1), ('adipiscing', 1), ('elit,', 1), ('sed', 1), ('do', 1), ('eiusmod', 1)]
  assert top_10_words("") == []
output: def top_10_words(text):
      if not text:
          return []
      words = text.split()
      word_counts = Counter(words)
      return word_counts.most_common(10)