from . import audio
import pytest
import re


@pytest.mark.parametrize('input,expected', [
    ('http://foo.bar https://bar.foo',
     ('http://foo.bar', 'https://bar.foo', None)),
    ('http://test.foo',
     ('http://test.foo', None, None)),
    ('https://test.foo',
     ('https://test.foo', None, None)),
    ('http://foo.foo https://bar.bar http://zonk.zonk',
     ('http://foo.foo', 'https://bar.bar', 'http://zonk.zonk'))
])
def test_regex(input, expected):
    assert re.match(audio.AUDIO, input).groups() == expected


@pytest.mark.parametrize('input,expected', [
    ('http://foo.foo/foo.mp3',
     ('<audio controls>'
      '<source src="http://foo.foo/foo.mp3" type="audio/mpeg">'
      'Your browser does not support the audio element.</audio>')),
    ('https://foo.foo/foo.ogg http://bar.bar/bar.opus',
     ('<audio controls>'
      '<source src="https://foo.foo/foo.ogg" type="audio/ogg">'
      '<source src="http://bar.bar/bar.opus" type="audio/ogg">'
      'Your browser does not support the audio element.</audio>')),
    ('http://1.de/1.wav http://2.de/2.mp4 http://3.de/3.ogg',
     ('<audio controls>'
      '<source src="http://1.de/1.wav" type="audio/wav">'
      '<source src="http://2.de/2.mp4" type="audio/mp4">'
      '<source src="http://3.de/3.ogg" type="audio/ogg">'
      'Your browser does not support the audio element.</audio>'))
])
def test_create_html(input, expected):
    assert audio.create_html(input) == expected
