|
1 |
| -#![cfg(feature = "jiff-01")] |
| 1 | +#![cfg(feature = "jiff-02")] |
2 | 2 |
|
3 | 3 | //! Conversions to and from [jiff](https://docs.rs/jiff/)’s `Span`, `SignedDuration`, `TimeZone`,
|
4 | 4 | //! `Offset`, `Date`, `Time`, `DateTime`, `Zoned`, and `Timestamp`.
|
|
9 | 9 | //!
|
10 | 10 | //! ```toml
|
11 | 11 | //! [dependencies]
|
12 |
| -//! jiff = "0.1" |
13 |
| -#![doc = concat!("pyo3 = { version = \"", env!("CARGO_PKG_VERSION"), "\", features = [\"jiff-01\"] }")] |
| 12 | +//! jiff = "0.2" |
| 13 | +#![doc = concat!("pyo3 = { version = \"", env!("CARGO_PKG_VERSION"), "\", features = [\"jiff-02\"] }")] |
14 | 14 | //! ```
|
15 | 15 | //!
|
16 | 16 | //! Note that you must use compatible versions of jiff and PyO3.
|
|
21 | 21 | //!
|
22 | 22 | //! ```rust
|
23 | 23 | //! # #![cfg_attr(windows, allow(unused_imports))]
|
24 |
| -//! # use jiff_01 as jiff; |
| 24 | +//! # use jiff_02 as jiff; |
25 | 25 | //! use jiff::{Zoned, SignedDuration, ToSpan};
|
26 | 26 | //! use pyo3::{Python, PyResult, IntoPyObject, types::PyAnyMethods};
|
27 | 27 | //!
|
@@ -65,8 +65,8 @@ use crate::{intern, Bound, FromPyObject, IntoPyObject, Py, PyAny, PyErr, PyResul
|
65 | 65 | use jiff::civil::{Date, DateTime, Time};
|
66 | 66 | use jiff::tz::{Offset, TimeZone};
|
67 | 67 | use jiff::{SignedDuration, Span, Timestamp, Zoned};
|
68 |
| -#[cfg(feature = "jiff-01")] |
69 |
| -use jiff_01 as jiff; |
| 68 | +#[cfg(feature = "jiff-02")] |
| 69 | +use jiff_02 as jiff; |
70 | 70 |
|
71 | 71 | #[cfg(not(Py_LIMITED_API))]
|
72 | 72 | fn datetime_to_pydatetime<'py>(
|
@@ -1120,6 +1120,7 @@ mod tests {
|
1120 | 1120 | use super::*;
|
1121 | 1121 | use crate::types::IntoPyDict;
|
1122 | 1122 | use jiff::tz::TimeZoneTransition;
|
| 1123 | + use jiff::SpanRelativeTo; |
1123 | 1124 | use proptest::prelude::*;
|
1124 | 1125 | use std::ffi::CString;
|
1125 | 1126 |
|
@@ -1191,10 +1192,11 @@ mod tests {
|
1191 | 1192 | // python values of durations (from -999999999 to 999999999 days),
|
1192 | 1193 | Python::with_gil(|py| {
|
1193 | 1194 | if let Ok(span) = Span::new().try_days(days) {
|
1194 |
| - let date = Date::new(2025, 1, 1).unwrap(); |
1195 |
| - let py_delta = span.to_jiff_duration(date).unwrap().into_pyobject(py).unwrap(); |
| 1195 | + let relative_to = SpanRelativeTo::days_are_24_hours(); |
| 1196 | + let jiff_duration = span.to_duration(relative_to).unwrap(); |
| 1197 | + let py_delta = jiff_duration.into_pyobject(py).unwrap(); |
1196 | 1198 | let roundtripped: Span = py_delta.extract().expect("Round trip");
|
1197 |
| - assert_eq!(span.compare(roundtripped).unwrap(), Ordering::Equal); |
| 1199 | + assert_eq!(span.compare((roundtripped, relative_to)).unwrap(), Ordering::Equal); |
1198 | 1200 | }
|
1199 | 1201 | })
|
1200 | 1202 | }
|
|
0 commit comments