1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
// SPDX-License-Identifier: GPL-2.0-or-later
// Copyright The Music Player Daemon Project
#include "tag/MixRampParser.cxx"
#include "tag/MixRampInfo.hxx"
#include <gtest/gtest.h>
TEST(MixRamp, Parser)
{
MixRampInfo info;
EXPECT_FALSE(info.IsDefined());
EXPECT_EQ(info.GetStart(), nullptr);
EXPECT_EQ(info.GetEnd(), nullptr);
EXPECT_FALSE(ParseMixRampTag(info, "foo", "bar"));
EXPECT_FALSE(info.IsDefined());
EXPECT_EQ(info.GetStart(), nullptr);
EXPECT_EQ(info.GetEnd(), nullptr);
EXPECT_TRUE(ParseMixRampTag(info, "mixramp_start", "foo"));
EXPECT_TRUE(info.IsDefined());
EXPECT_STREQ(info.GetStart(), "foo");
EXPECT_EQ(info.GetEnd(), nullptr);
EXPECT_TRUE(ParseMixRampTag(info, "MIXRAMP_START", "bar"));
EXPECT_TRUE(info.IsDefined());
EXPECT_STREQ(info.GetStart(), "bar");
EXPECT_EQ(info.GetEnd(), nullptr);
EXPECT_TRUE(ParseMixRampTag(info, "mixramp_end", "abc"));
EXPECT_TRUE(info.IsDefined());
EXPECT_STREQ(info.GetStart(), "bar");
EXPECT_STREQ(info.GetEnd(), "abc");
EXPECT_TRUE(ParseMixRampTag(info, "MIXRAMP_END", "def"));
EXPECT_TRUE(info.IsDefined());
EXPECT_STREQ(info.GetStart(), "bar");
EXPECT_STREQ(info.GetEnd(), "def");
}
TEST(MixRamp, VorbisParser)
{
MixRampInfo info;
EXPECT_FALSE(info.IsDefined());
EXPECT_EQ(info.GetStart(), nullptr);
EXPECT_EQ(info.GetEnd(), nullptr);
EXPECT_FALSE(ParseMixRampVorbis(info, "foo=bar"));
EXPECT_FALSE(info.IsDefined());
EXPECT_EQ(info.GetStart(), nullptr);
EXPECT_EQ(info.GetEnd(), nullptr);
EXPECT_TRUE(ParseMixRampVorbis(info, "mixramp_start=foo"));
EXPECT_TRUE(info.IsDefined());
EXPECT_STREQ(info.GetStart(), "foo");
EXPECT_EQ(info.GetEnd(), nullptr);
EXPECT_TRUE(ParseMixRampVorbis(info, "MIXRAMP_START=bar"));
EXPECT_TRUE(info.IsDefined());
EXPECT_STREQ(info.GetStart(), "bar");
EXPECT_EQ(info.GetEnd(), nullptr);
EXPECT_TRUE(ParseMixRampVorbis(info, "mixramp_end=abc"));
EXPECT_TRUE(info.IsDefined());
EXPECT_STREQ(info.GetStart(), "bar");
EXPECT_STREQ(info.GetEnd(), "abc");
EXPECT_TRUE(ParseMixRampVorbis(info, "MIXRAMP_END=def"));
EXPECT_TRUE(info.IsDefined());
EXPECT_STREQ(info.GetStart(), "bar");
EXPECT_STREQ(info.GetEnd(), "def");
}
|