class CheckEvent2

Public Instance Methods

test_many() click to toggle source
# File vendor/qwik/lib/qwik/check-event2.rb, line 16
def test_many
  return if $0 != __FILE__          # Only for unit test.

  server = setup_event

  ts = []
  res = []
  max = 15  # OK.
  #max = 10 # Not OK.
  (0..max).each {|i|
    ts[i] = Thread.new {
      res[i] = get_path('1.event')         # Wait for update.
      #ok_in([:p, 'p2'], "//div[@class='section']", res[i])
    }
  }

  loop {
    str = get_path("1.save?contents=*t2%0Ap2")     # Save to the page.
    ok_in(['Page is saved.'], '//title', str)
    ok_eq("*t2\np2", read_page('1'))

    sleep 0.1

    endok = true
    (0..max).each {|i|
      if ts[i].status != false
        endok = false
      end
    }
    break if endok
  }

  (0..max).each {|i|
    ts[i].join     # Wait for the thread.
  }

  teardown_server(server)
end