*исправления по считыванию данных без BOM
*добавлены работающие тесты
This commit is contained in:
1 parent
d03f6214aa
commit
aa04fd4df0
11 files changed
+191
-55
No files matched your search
@@ -0,0 +1,29 @@
|
||||
import os
|
||||
import metadata
|
||||
|
||||
// Проверка чтения id3v1
|
||||
fn test_idv3v1() {
|
||||
mut audio := os.open("./data/test_id3v1.mp3") or { panic(err) }
|
||||
defer {
|
||||
audio.close()
|
||||
}
|
||||
mut wav := metadata.Audio{}
|
||||
wav.detect_tags(mut audio)
|
||||
|
||||
assert wav.id3v1.embedded == true, 'Тег показан false, а должен быть true'
|
||||
assert wav.id3v23.embedded == false, 'Тег показан true, а должен быть false'
|
||||
assert wav.id3v24.embedded == false, 'Тег показан true, а должен быть false'
|
||||
|
||||
last_bytes := metadata.get_bytes(mut audio, -128, 128)
|
||||
wav.id3v1.get_metadata(last_bytes)
|
||||
|
||||
assert wav.id3v1.genre == "Rock"
|
||||
assert wav.id3v1.title == "Test Title"
|
||||
assert wav.id3v1.artist == "Test Artist"
|
||||
assert wav.id3v1.album == "Test Album"
|
||||
assert wav.id3v1.track == "6"
|
||||
assert wav.id3v1.year == "2026"
|
||||
assert wav.id3v1.comment == "Test comment"
|
||||
assert wav.id3v1.embedded == true
|
||||
}
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
import os
|
||||
import metadata
|
||||
|
||||
// Проверка чтения id3v23
|
||||
fn test_idv3v23() {
|
||||
mut audio := os.open("./data/test_id3v23.mp3") or { panic(err) }
|
||||
defer {
|
||||
audio.close()
|
||||
}
|
||||
mut wav := metadata.Audio{}
|
||||
wav.detect_tags(mut audio)
|
||||
|
||||
assert wav.id3v1.embedded == false, 'Тег показан false, а должен быть true'
|
||||
assert wav.id3v23.embedded == true, 'Тег показан true, а должен быть false'
|
||||
assert wav.id3v24.embedded == false, 'Тег показан true, а должен быть false'
|
||||
wav.id3v23.get_full_size(mut audio)
|
||||
wav.id3v23.fill_tags(mut audio)
|
||||
|
||||
assert wav.id3v23.tit2.data == "Test Title"
|
||||
assert wav.id3v23.tpe1.data == "Test Author"
|
||||
assert wav.id3v23.tpe2.data == "Test Narator"
|
||||
assert wav.id3v23.talb.data == "Test Album"
|
||||
assert wav.id3v23.tyer.data == "2026"
|
||||
assert wav.id3v23.trck.data == "6/7"
|
||||
assert wav.id3v23.tcon.data == "Rock"
|
||||
assert wav.id3v23.tcop.data == "Test"
|
||||
assert wav.id3v23.txxx.data == "comment"
|
||||
|
||||
id3v1 := wav.id3v23.to_v1()
|
||||
|
||||
assert id3v1.genre == "Rock"
|
||||
assert id3v1.title == "Test Title"
|
||||
assert id3v1.artist == "Test Narator"
|
||||
assert id3v1.album == "Test Album"
|
||||
assert id3v1.track == "6"
|
||||
assert id3v1.year == "2026"
|
||||
assert id3v1.comment == "comment"
|
||||
}
|
||||
|
||||
// Проверка чтения id3v24
|
||||
fn test_idv3v24() {
|
||||
mut audio := os.open("./data/test_id3v24.mp3") or { panic(err) }
|
||||
defer {
|
||||
audio.close()
|
||||
}
|
||||
mut wav := metadata.Audio{}
|
||||
wav.detect_tags(mut audio)
|
||||
|
||||
assert wav.id3v1.embedded == false, 'Тег показан false, а должен быть true'
|
||||
assert wav.id3v23.embedded == false, 'Тег показан true, а должен быть false'
|
||||
assert wav.id3v24.embedded == true, 'Тег показан true, а должен быть false'
|
||||
wav.id3v24.get_full_size(mut audio)
|
||||
wav.id3v24.fill_tags(mut audio)
|
||||
|
||||
assert wav.id3v24.tit2.data == "Test Title"
|
||||
assert wav.id3v24.tpe1.data == "Test Author"
|
||||
assert wav.id3v24.tpe2.data == "Test Narator"
|
||||
assert wav.id3v24.talb.data == "Test Album"
|
||||
assert wav.id3v24.tdrc.data == "2026"
|
||||
assert wav.id3v24.trck.data == "6/7"
|
||||
assert wav.id3v24.tcon.data == "Rock"
|
||||
assert wav.id3v24.tcop.data == "Test"
|
||||
assert wav.id3v24.txxx.data == "comment"
|
||||
|
||||
id3v1 := wav.id3v24.to_v1()
|
||||
|
||||
assert id3v1.genre == "Rock"
|
||||
assert id3v1.title == "Test Title"
|
||||
assert id3v1.artist == "Test Narator"
|
||||
assert id3v1.album == "Test Album"
|
||||
assert id3v1.track == "6"
|
||||
assert id3v1.year == "2026"
|
||||
assert id3v1.comment == "comment"
|
||||
}
|
||||
|
||||
Whitespace-only changes.
Reference in new issue
Block a user