Skip to content

Commit

Permalink
fix: apply api changes from updated gnome deps
Browse files Browse the repository at this point in the history
  • Loading branch information
calebcartwright committed Apr 24, 2022
1 parent de27772 commit 8cf8907
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 18 deletions.
14 changes: 4 additions & 10 deletions src/graphics/raster.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use crate::badge::BadgeStyle;
// for tests
use self::librsvg_imports::{CairoRenderer, Loader};
use cairo::{Context, ImageSurface, Rectangle};
use gio::{MemoryInputStream, NONE_CANCELLABLE, NONE_FILE};
use gio::{Cancellable, File, MemoryInputStream};
use glib::Bytes;
use librsvg::IntrinsicDimensions;

Expand All @@ -21,15 +21,9 @@ pub enum SvgToPngConversionError {

// Returns tuple with (width, height)
fn get_dimensions(renderer: &CairoRenderer) -> (f64, f64) {
let IntrinsicDimensions {
width: width_dim,
height: height_dim,
..
} = renderer.intrinsic_dimensions();
let width = width_dim.map_or(0f64, |w| w.length);
let height = height_dim.map_or(0f64, |h| h.length);
let IntrinsicDimensions { width, height, .. } = renderer.intrinsic_dimensions();

(width, height)
(width.length, height.length)
}

fn get_bytes_stream<S: SvgProcessor>(
Expand All @@ -56,7 +50,7 @@ pub(super) fn convert_svg_to_png<S: SvgProcessor>(
let stream =
MemoryInputStream::from_bytes(&get_bytes_stream(svg_bytes, &badge_style, &svg_processor)?);
let handle = Loader::new()
.read_stream(&stream, NONE_FILE, NONE_CANCELLABLE)
.read_stream(&stream, File::NONE, Cancellable::NONE)
.map_err(|_| SvgHandleCreationFailure)?;

let renderer = CairoRenderer::new(&handle);
Expand Down
21 changes: 13 additions & 8 deletions src/graphics/raster_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,19 @@ mod get_dimensions_tests {
use super::{get_dimensions, CairoRenderer as MockCairoRenderer};
use librsvg::{IntrinsicDimensions, Length, LengthUnit};

const ZERO_LENGTH: Length = Length {
length: 0f64,
unit: LengthUnit::Px,
};

#[test]
fn handles_zero_dimensions() {
let mut mock_renderer = MockCairoRenderer::default();
mock_renderer
.expect_intrinsic_dimensions()
.return_const(IntrinsicDimensions {
width: None,
height: None,
width: ZERO_LENGTH,
height: ZERO_LENGTH,
vbox: None,
});
let (width, height) = get_dimensions(&mock_renderer);
Expand All @@ -30,11 +35,11 @@ mod get_dimensions_tests {
mock_renderer
.expect_intrinsic_dimensions()
.return_const(IntrinsicDimensions {
width: Some(Length {
width: Length {
length: exp_width,
unit: LengthUnit::Px,
}),
height: None,
},
height: ZERO_LENGTH,
vbox: None,
});
let (width, height) = get_dimensions(&mock_renderer);
Expand All @@ -49,11 +54,11 @@ mod get_dimensions_tests {
mock_renderer
.expect_intrinsic_dimensions()
.return_const(IntrinsicDimensions {
width: None,
height: Some(Length {
width: ZERO_LENGTH,
height: Length {
length: exp_height,
unit: LengthUnit::Px,
}),
},
vbox: None,
});
let (width, height) = get_dimensions(&mock_renderer);
Expand Down

0 comments on commit 8cf8907

Please sign in to comment.