extern crate apt_release_file;
extern crate deb_architectures;
use apt_release_file::{
BinaryEntry, Dep11Entry, EntryVariant, I18nEntry, ImageSize, ReleaseEntry, SourceEntry,
};
use deb_architectures::Architecture;
#[test]
fn release_entry_binaries() {
assert_eq!(
" e58165aee561d376f164717ebe7b89bb 10783 main/binary-ppc64el/Packages.gz"
.parse::<ReleaseEntry>()
.map(|r| {
let variant = r.variant();
(r, variant)
})
.unwrap(),
(
ReleaseEntry {
sum: "e58165aee561d376f164717ebe7b89bb".into(),
size: 10783,
path: "main/binary-ppc64el/Packages.gz".into(),
},
Some(EntryVariant::Binary(
BinaryEntry::Packages(Some("gz".into())),
Architecture::Ppc64El
))
)
);
assert_eq!(
" 6cdb0f2a0d80ce797133a49649685685 14184 main/binary-arm64/Packages.xz"
.parse::<ReleaseEntry>()
.map(|r| {
let variant = r.variant();
(r, variant)
})
.unwrap(),
(
ReleaseEntry {
sum: "6cdb0f2a0d80ce797133a49649685685".into(),
size: 14184,
path: "main/binary-arm64/Packages.xz".into(),
},
Some(EntryVariant::Binary(
BinaryEntry::Packages(Some("xz".into())),
Architecture::Arm64
))
)
);
}
#[test]
fn release_entry_translations() {
assert_eq!(
" b20ec9bf3bef94dff07ac1f3ca4d826fe0fd0b5cfc3275f34e292f7a79030995 63171 main/i18n/Translation-en"
.parse::<ReleaseEntry>()
.map(|r| {
let variant = r.variant();
(r, variant)
})
.unwrap(),
(
ReleaseEntry {
sum: "b20ec9bf3bef94dff07ac1f3ca4d826fe0fd0b5cfc3275f34e292f7a79030995".into(),
size: 63171,
path: "main/i18n/Translation-en".into(),
},
Some(EntryVariant::I18n(I18nEntry::Translations("en".to_owned(), None)))
)
);
assert_eq!(
" 4c233ea1a233462a680ec5be28a576640edb1e2b9ab2da9316b862e3a9c4d8c0 12824 main/i18n/Translation-en.xz"
.parse::<ReleaseEntry>()
.map(|r| {
let variant = r.variant();
(r, variant)
})
.unwrap(),
(
ReleaseEntry {
sum: "4c233ea1a233462a680ec5be28a576640edb1e2b9ab2da9316b862e3a9c4d8c0".into(),
size: 12824,
path: "main/i18n/Translation-en.xz".into(),
},
Some(EntryVariant::I18n(I18nEntry::Translations("en".to_owned(), Some("xz".into()))))
)
);
}
#[test]
fn release_entry_contents() {
assert_eq!(
" ef4374f4a7eb9dc65bb51234fce91247 39115618 Contents-arm64.gz"
.parse::<ReleaseEntry>()
.map(|r| {
let variant = r.variant();
(r, variant)
})
.unwrap(),
(
ReleaseEntry {
sum: "ef4374f4a7eb9dc65bb51234fce91247".into(),
size: 39115618,
path: "Contents-arm64.gz".into(),
},
Some(EntryVariant::Contents(
Architecture::Arm64,
Some("gz".into())
))
)
);
assert_eq!(
" ef4374f4a7eb9dc65bb51234fce91247 39115618 Contents-arm64"
.parse::<ReleaseEntry>()
.map(|r| {
let variant = r.variant();
(r, variant)
})
.unwrap(),
(
ReleaseEntry {
sum: "ef4374f4a7eb9dc65bb51234fce91247".into(),
size: 39115618,
path: "Contents-arm64".into(),
},
Some(EntryVariant::Contents(Architecture::Arm64, None))
)
);
}
#[test]
fn release_entry_dep11_components() {
assert_eq!(
" b6c48cec06853d707de0f23c3d8c989d 20004 main/dep11/Components-ppc64el.yml.xz"
.parse::<ReleaseEntry>()
.map(|r| {
let variant = r.variant();
(r, variant)
})
.unwrap(),
(
ReleaseEntry {
sum: "b6c48cec06853d707de0f23c3d8c989d".into(),
size: 20004,
path: "main/dep11/Components-ppc64el.yml.xz".into(),
},
Some(EntryVariant::Dep11(Dep11Entry::Components(
Architecture::Ppc64El,
Some("yml.xz".into())
)))
)
);
}
#[test]
fn release_entry_dep11_icons() {
assert_eq!(
" 31f6566d35ccd604be46ed5b1f813cdf 29 main/dep11/icons-64x64@2.tar.gz"
.parse::<ReleaseEntry>()
.map(|r| r.variant())
.unwrap(),
Some(EntryVariant::Dep11(Dep11Entry::Icons(
ImageSize {
pixels: 64,
hidpi: 2
},
Some("tar.gz".into())
)))
);
assert_eq!(
" 4a385adab5c0e3f537d4cd32476883a2 173056 main/dep11/icons-48x48.tar"
.parse::<ReleaseEntry>()
.map(|r| r.variant())
.unwrap(),
Some(EntryVariant::Dep11(Dep11Entry::Icons(
ImageSize {
pixels: 48,
hidpi: 0
},
Some("tar".into())
)))
);
}
#[test]
fn release_entry_other() {
assert_eq!(
" b6c48cec06853d707de0f23c3d8c989d 20004 main/source/Sources.xz"
.parse::<ReleaseEntry>()
.map(|r| {
let variant = r.variant();
(r, variant)
})
.unwrap(),
(
ReleaseEntry {
sum: "b6c48cec06853d707de0f23c3d8c989d".into(),
size: 20004,
path: "main/source/Sources.xz".into(),
},
Some(EntryVariant::Source(SourceEntry::Sources(Some(
"xz".into()
))))
)
);
}