class TestSmil

Public Instance Methods

test_smil_generator() click to toggle source
# File vendor/qwik/lib/qwik/act-smil.rb, line 242
    def test_smil_generator
      gen = Qwik::SmilGenerator.new

      str = ':url:rtsp://example.com/test/1.files/t.rm
,00,05.05,msg1
,12:10,12:15.15,msg2'

      # test_tokenize
      tokens = gen.tokenize(str)
      ok_eq([[:dl, 'url', 'rtsp://example.com/test/1.files/t.rm'],
              [:table, '00', '05.05', 'msg1'],
              [:table, '12:10', '12:15.15', 'msg2']], tokens)

      # test parse
      width, height, time_table = gen.parse(str)
      ok_eq(320, width)
      ok_eq(240, height)
      ok_eq([['rtsp://example.com/test/1.files/t.rm',
                Qwik::SmilTime.at_smil('00'),
                Qwik::SmilTime.at_smil('05.05'), 'msg1'],
              ['rtsp://example.com/test/1.files/t.rm',
                Qwik::SmilTime.at_smil('12:10'),
                Qwik::SmilTime.at_smil('12:15.15'),'msg2']],
            time_table)

      # test generate_smil
      w = gen.generate_smil
      ok_eq([:head, [:layout,
                [:'root-layout', {:height=>240, :width=>320}],
                [:region, {:id=>'v', :fit=>'meet'}]]],
            w.get_path('//head'))
      ok_eq([:video,
              {:'clip-end'=>'00:00:05.05',
                :begin=>'0.0s',
                :region=>'v',
                :src=>'rtsp://example.com/test/1.files/t.rm',
                :'clip-begin'=>'00:00:00'}],
            w.get_path('//video'))
      ok_eq([:video,
              {:'clip-end'=>'00:12:15.15',
                :begin=>'5.166666s',
                :region=>'v',
                :src=>'rtsp://example.com/test/1.files/t.rm',
                :'clip-begin'=>'00:12:10'}],
            w.get_path('//video[2]'))

      # test generate_html
      w = gen.generate_html
      ok_eq([:table,
              [:tr, [:th, 'IN'], [:th, 'OUT'], [:th, 'MSG']],
              [:tr, [:td, '00:00:00'], [:td, '00:00:05.05'],
                [:td, 'msg1']],
              [:tr, [:td, '00:12:10'], [:td, '00:12:15.15'],
                [:td, 'msg2']]],
            w)
    end