aboutsummaryrefslogtreecommitdiff
path: root/colors/base16-macintosh.vim
AgeCommit message (Expand)Author
2017-11-07Updates outputChris Kempson
2017-10-25Fixes issue with missing scheme slug in outputChris Kempson
2017-10-24Updates outputChris Kempson
2017-07-06Updates outputChris Kempson
2017-07-03Supports QuickFixLine plus scheme updatesChris Kempson
2017-03-26Update color schemesAnurag Soni
2017-03-12Don't set guifg for MatchParenThayne McCombs
2017-01-31Updates colors to latest schemesDaniel Rivas
2017-01-18Add support for pangloss/vim-javascriptGetkey
2017-01-12Updates outputVlad Aituganov
2016-12-28Updates outputChris Kempson
2016-12-28Updates outputChris Kempson
2016-10-27Add fugitive supportJosé Luis Lafuente
2016-10-23Remove ruby interpolation highlighting overrideAaron Williamson
2016-07-20Updates outputChris Kempson
2016-06-29Darkens the search text two shadesChris Kempson
2016-06-28Updates colorsChris Kempson
ight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
import mutagen

from models.track import Track


def test_instance(database):
    track = Track(database, 1)
    assert track.id == 1
    assert track.name == "Non album track"
    assert track.filename == "1.mp3"
    assert track.artists

def test_as_dict(database):
    track = Track(database, 1)

    track_dict = track.as_dict()

    assert "_db" not in track_dict.keys()
    assert track_dict["id"] == 1
    assert track_dict["name"] == "Non album track"
    assert track_dict["filename"] == "1.mp3"


def test_album(database):
    track1 = Track(database, 1)
    assert track1.album is None
    track2 = Track(database, 2)
    assert track2.album.name == "Album 1"
    assert track2.album.date == "1999-02-04"


def test_artists(database):
    track = Track(database, 1)
    assert track.artists
    assert track.artists[0].name == "Artist 1"


def test_find_by_path(database):
    track1 = Track.find_by_path("album/2.mp3", database)

    assert track1.filename == "album/2.mp3"
    assert track1.name == "Album track 2"
    assert track1.grouping == "swing"
    assert track1.artists

    nonexistent_track = Track.find_by_path("path/does/not/exist.mp3",
                                           database)
    assert nonexistent_track is None


def test_search(database):
    tracks = Track.search(database, name={"data": "Album track %",
                                          "operator": "LIKE"})

    assert tracks is not None
    assert len(tracks) == 2


def test_store(database, test_file):
    metadata = mutagen.File(test_file, easy=True)

    test_track = Track.store(test_file, metadata, database)

    assert test_track.filename == test_file
    assert test_track.name == "Silence"
    assert test_track.grouping == "Jazz"
    assert test_track.tracknumber == 3

    assert test_track.album.name == "Dummy album"
    assert test_track.album.date == "2003"

    assert test_track.artists
    assert test_track.artists[0].name == "Test Artist Flaf"


def test_update(database, test_file):
    metadata = {"artist": ["New artist"], "title": ["New title"]}

    test_track = Track.find_by_path(test_file, database)
    test_track.update(metadata)

    assert test_track.artists
    assert len(test_track.artists) == 1
    assert test_track.artists[0].name == "New artist"
    assert test_track.name == "New title"


def test_save(database, test_file):
    test_track = Track.find_by_path(test_file, database)

    test_track.name = "Totally new name"
    test_track.save()

    new_track_to_test = Track.find_by_path(test_file, database)

    assert new_track_to_test.name == "Totally new name"


def test_delete(database, test_file):
    test_track = Track.find_by_path(test_file, database)

    test_track.delete()

    should_not_exist = Track.find_by_path(test_file, database)

    assert should_not_exist is None