input: Write a function to generate a Markov chain given a text input. The function should split the text into words and build a Markov chain dictionary based on the frequency of word transitions. Then, it should generate a new text of approximately 100 words using the Markov chain. If the Markov chain reaches a word with no transitions, the text generation should stop. The function should return the generated text.
  
  assert generateMarkov('Alice was beginning to get very tired of sitting by her sister on the bank, and of having nothing to do: once or twice she had peeped into the book her sister was reading, but it had no pictures or conversations in it, `and what is the use of a book,' thought Alice `without pictures or conversation?')==some result
  assert generateMarkov('The quick brown fox jumps over the lazy dog.')==some result
  assert generateMarkov('')==''
  
  where 'some result' should be the actual generated text based on the Markov chain.
output: def generateMarkov(text):
      import random
      words = text.split()
      markov_chain = {}
      for i in range(len(words) - 1):
          current_word = words[i]
          next_word = words[i + 1]
          if current_word not in markov_chain:
              markov_chain[current_word] = []
          markov_chain[current_word].append(next_word)
      
      if not markov_chain:
          return ''
      
      current_word = random.choice(list(markov_chain.keys()))
      result = [current_word]
      word_count = 1
      
      while word_count < 100:
          if current_word not in markov_chain:
              break
          next_word = random.choice(markov_chain[current_word])
          result.append(next_word)
          current_word = next_word
          word_count += 1
      
      return ' '.join(result)