@Test
public void testDecodeUrlLinkFrame() {

  byte[] rawId3 = buildSingleFrameTag("WCOM", new byte[] {104, 116, 116, 112, 115, 58, 47, 47,
      116, 101, 115, 116, 46, 99, 111, 109, 47, 97, 98, 99, 63, 100, 101, 102});
  Id3Decoder decoder = new Id3Decoder();
  Metadata metadata = decoder.decode(rawId3, rawId3.length);
  assertThat(metadata.length()).isEqualTo(1);
  UrlLinkFrame urlLinkFrame = (UrlLinkFrame) metadata.get(0);
  assertThat(urlLinkFrame.id).isEqualTo("WCOM");
  assertThat(urlLinkFrame.description).isNull();
  assertThat(urlLinkFrame.url).isEqualTo("https://test.com/abc?def");
  // Test empty.
  rawId3 = buildSingleFrameTag("WCOM", new byte[0]);
  metadata = decoder.decode(rawId3, rawId3.length);
  assertThat(metadata.length()).isEqualTo(1);
  urlLinkFrame = (UrlLinkFrame) metadata.get(0);
  assertThat(urlLinkFrame.id).isEqualTo("WCOM");
  assertThat(urlLinkFrame.description).isNull();
  assertThat(urlLinkFrame.url).isEmpty();
}