class TestSmilTime

Public Instance Methods

test_all() click to toggle source
# File vendor/qwik/lib/qwik/smil-time.rb, line 58
def test_all
  c = Qwik::SmilTime

  # test_to_smil
  ok_eq('12:34:56.15', c.at_smil('12:34:56.15').to_smil)
  ok_eq('12:34:56', c.at_smil('12:34:56').to_smil)
  ok_eq('00:12:34', c.at_smil('12:34').to_smil)
  ok_eq('00:00:12.15', c.at_smil('12.15').to_smil)
  ok_eq('00:00:12.05', c.at_smil('12.05').to_smil)

  # test_at_smil
  t = c.at_smil('12')
  ok_eq(12.0, t.to_f)
  ok_eq(c.at(12), t) # same

  t = c.at_smil('12.15')
  ok_eq(12.5, t.to_f)
  ok_eq(c.at(12.5), t) # same

  # should test with range...
  ok_eq(12.333333, c.at_smil('12.10').to_f)
  ok_eq(45296.5, c.at_smil('12:34:56.15').to_f)

  # test_frame_to_usec
  ok_eq(500000, c.frame_to_usec(15))

  # test_usec_to_frame
  ok_eq(15, c.usec_to_frame(500000))

  (0..30).each {|n|
    usec = c.frame_to_usec(n)
    frame = c.usec_to_frame(usec)
    ok_eq(n, frame)
  }

  # test_parse_smil
  ok_eq([ 0,  0, 12,  0], c.parse_smil('12'))
  ok_eq([ 0, 12, 34,  0], c.parse_smil('12:34'))
  ok_eq([12, 34, 56,  0], c.parse_smil('12:34:56'))
  ok_eq([12, 34, 56, 15], c.parse_smil('12:34:56.15'))
  ok_eq([ 0, 12, 34, 15], c.parse_smil('12:34.15'))

  # test_with_range
  ok_eq(0,  c.with_range(-1, 0, 29))
  ok_eq(29, c.with_range(30, 0, 29))
end