mirror of
https://github.com/gpxstudio/gpx.studio.git
synced 2026-11-01 12:17:18 +00:00
fix power format, closes #378
This commit is contained in:
1 parent
39454f0b83
commit
f5a2db0565
3 files changed
+532
-2
No files matched your search
@@ -1222,6 +1222,19 @@ mod tests {
|
||||
assert!(trkpt.power.is_some_and(|p| p == 200));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_parse_trackpoint_power_3() {
|
||||
let gpx = parse_data("with_power_3");
|
||||
|
||||
assert_eq!(gpx.trk.len(), 1);
|
||||
let trk = &gpx.trk[0];
|
||||
assert_eq!(trk.trkseg.len(), 1);
|
||||
let trkseg = &trk.trkseg[0];
|
||||
assert!(!trkseg.is_empty());
|
||||
let trkpt = &trkseg[0];
|
||||
assert!(trkpt.power.is_some_and(|p| p == 200));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_parse_trackpoint_atemp() {
|
||||
let gpx = parse_data("with_temp");
|
||||
|
||||
@@ -402,9 +402,10 @@ fn write_point(
|
||||
Ok(())
|
||||
})?;
|
||||
}
|
||||
// `PowerInWatts` is itself the root element of Garmin's power extension, without a
|
||||
// wrapper
|
||||
if let Some(power) = power {
|
||||
w.create_element("gpxpx:PowerExtension")
|
||||
.write_inner_content(|w| number(w, "gpxpx:PowerInWatts", power))?;
|
||||
number(w, "gpxpx:PowerInWatts", power)?;
|
||||
}
|
||||
if !path.is_empty() {
|
||||
w.create_element("gpxx:RoutePointExtension")
|
||||
@@ -511,6 +512,7 @@ mod tests {
|
||||
"with_temp",
|
||||
"with_power_1",
|
||||
"with_power_2",
|
||||
"with_power_3",
|
||||
"with_surface",
|
||||
"with_highway",
|
||||
"with_style",
|
||||
@@ -578,6 +580,16 @@ mod tests {
|
||||
assert_eq!(again.trk[0].info.name.as_deref(), Some("a <b> & c"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_power_is_written_without_a_wrapper() {
|
||||
let (file, categories) = read("with_power_2");
|
||||
let text: String = written_text(&file, &categories, ExportOptions::ALL)
|
||||
.split_whitespace()
|
||||
.collect();
|
||||
assert!(text.contains("<extensions><gpxpx:PowerInWatts>200</gpxpx:PowerInWatts>"));
|
||||
assert!(!text.contains("<gpxpx:PowerExtension>"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_exportable_data() {
|
||||
let (file, _) = read("with_time");
|
||||
|
||||
Reference in new issue
Block a user