Commit Graph
36 Commits
Author SHA1 Message Date
Daniel Garcia Moreno 68c921bf60 test: Add event_date_edit_tzid
This new test check that the tz data in the component is set correctly
after editing an event date end.

See https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/170
2023-11-09 20:59:59 +00:00
Daniel Garcia Moreno 20aa929966 event: Set dt_end to next day when DTEND is not defined
from RFC5545 (p. 54) https://datatracker.ietf.org/doc/html/rfc5545#page-54
For cases where a "VEVENT" calendar component specifies a "DTSTART"
property with a DATE value type but no "DTEND" nor "DURATION" property,
the event's duration is taken to be one day.

Fix https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/327
2023-11-09 14:37:09 +00:00
Daniel Garcia Moreno 6afb5cf3a5 view: Fix daylight saving issue in week view
This patch fixes an issue when creating new events in week view the week
after the daylight saving change.

The problem was in the calc of the selected date, that's done couting
the 30 minutes slots and adding that minutes to the week_start datetime.
When there's a daylight saving change, the real date to select should be
adjusted. This patch adds a new util function to make it easy to add
minutes ignoring the tz so we can make this calc directly with
gcal_date_time_add_floating_minutes.

This also includes a new test file with some checks for the new util
function and spring / autumn changes.

This new function could be used in other places to fix specific issues
that could be caused by the same logic error, calculate a selection or
event position based on GDateTime operations.

Fix https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/482
2023-11-09 13:17:20 +00:00
Titouan Real 2cb0414bb8 build: Update deprecated meson functions 2023-06-07 15:51:37 +02:00
Titouan Real 64f9aaca4b build: Replace join_paths by / operator 2023-06-07 15:51:03 +02:00
Georges Basile Stavracas Neto 0322bcf54c utils/source-discoverer: Test URI before discovery
This makes sure that we have a valid host set. This check is
copies from Soup's private SOUP_URI_IS_VALID() macro.

Add a test for this behavior.

Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/794
2023-03-05 11:24:49 -03:00
Georges Basile Stavracas Neto 075b91d279 tests: Set bug base 2023-03-05 11:24:49 -03:00
Milan Crha 0bd11799dc Port to libsoup3 2022-06-22 08:51:30 -03:00
Sebastian Keller 44e2420645 range: Handle zero-length ranges when calculating overlap
Zero length ranges, such as for events without a DTEND could be
considered to overlap a range if they were at exactly the end of the
range. The end of a range however is the first date that is supposed to
not overlap, so a zero-length range on exactly this point should not be
considered overlapping.

This fixes cases where all-day events from the next month could show up
on the same day of the current month if they did not have a DTEND.

This also adds tests for all possible cases of such zero-length events
overlapping.

Fixes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/701
2021-04-21 13:59:26 +00:00
Georges Basile Stavracas Neto 9a636f33e5 tests: Disable unauthorized test again
Needs more love.

Closes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/700
2021-03-22 15:54:41 -03:00
Georges Basile Stavracas Neto d38c1f2f41 tests: Enable unauthorized discovery test
This one is actually implemented, what's not implemented is the WebDAV one.
2021-03-12 11:03:26 -03:00
Georges Basile Stavracas Neto dbd81f401c event: Add API to clone events
This will be useful for updating events without having
to keep track of the event states.

Add the new API, and also a unit test.
2020-06-15 13:07:48 -03:00
Georges Basile Stavracas Neto d18441204f tests: Trivial cleanup 2020-06-15 13:07:37 -03:00
Clarissa Borges f1d20126dc event: Add more range test cases
More examples of possible dates for events were added to the test cases.
Superset, subset, intersection and no overlap cases are covered.
2020-04-14 17:56:12 -03:00
Georges Basile Stavracas Neto 3efbc2436c range-tree: Use GcalRange 2020-04-14 19:08:05 +00:00
Georges Basile Stavracas Neto dbfebc85fa Introduce GcalRange
GcalRange is a new structure that represents a time range. It is
always inclusive at the start, and exclusive at the end.
2020-04-14 19:08:05 +00:00
Georges Basile Stavracas Neto 92f331cd9f range-tree: Add API to remove data
It'll be useful to remove entries without knowing their
range.
2020-04-01 21:06:50 -03:00
Georges Basile Stavracas Neto ae2a6b9d21 range-tree: Switch to use GDateTime
Using raw integers forces us to select a pre-defined
start and end ranges for the timeline. Since we want
to reuse this data structure on GcalTimeline, make it
a bit more useful.
2020-04-01 21:06:50 -03:00
Michael Catanzaro 50b6d00784 manager: add GcalContext property
This improves access to the GcalContext inside GcalManager.

Also, remove test-manager since it only tests that gcal_manager_new()
returns non-NULL.
2019-09-19 16:04:04 -05:00
Georges Basile Stavracas Neto 75d24803ed tests: Temporarily disable discoverer test 2019-07-16 21:30:31 -03:00
Georges Basile Stavracas Neto 371fdbc881 Introduce new source discoverer
The new source discoverer is a complete overhaul of
the current code. It is async-only, correctly threaded,
and easier to maintain.

A major new feature of this web source discoverer is
that it now pings the server to see if the URL feeds
us back with an iCalendar file.

Furthermore, it continues to use E-D-S WebDAV discovery
functions as a fallback mechanism.

Fixes #380
2019-07-13 16:04:30 -03:00
Georges Basile Stavracas Neto 2aa9bc1f61 tests: Add calendar server and tests
This will be used to write a propert test suite
for the new calendar discoverer code.
2019-07-13 16:04:30 -03:00
Georges Basile Stavracas Neto 54690e285a build: Improve test generation 2019-07-13 16:04:30 -03:00
Georges Basile Stavracas Neto 7811b90730 tests: Fix test suite
Introduce a new GcalStubCalendar class that essentially
removes the ECalClient initialization from GcalCalendar,
and use it as part of a new private library consumed by
the tests.
2019-05-04 12:05:39 -03:00
Georges Basile Stavracas Neto 1a5ff545a2 project: Move a few classes to core/ 2019-05-04 12:05:39 -03:00
Georges Basile Stavracas Neto 68943eec57 utils: Add GDateTime utils
This will greatly help with the transition to GDateTime.
In the future, we can propose these APIs to GLib itself.
2019-04-26 12:59:29 -03:00
Georges Basile Stavracas Neto f17c7b91b8 tests: Set TZ before running tests
Otherwise, we're depending on the host machine to run
the tests.
2018-07-31 12:35:56 -03:00
Georges Basile Stavracas Neto bc0744cc0d tests: update multiday test
Until we have a better control over the system timezone,
let's not hit that issue.
2018-04-30 20:45:46 -03:00
Georges Basile Stavracas Neto 41c8804450 tests: add more event tests 2018-02-27 14:57:34 -03:00
Georges Basile Stavracas Neto c51957f214 test: properly initialize variables 2018-02-26 23:39:15 -03:00
Georges Basile Stavracas Neto bc3a41d96c tests: Add event test 2018-02-26 23:18:54 -03:00
Georges Basile Stavracas Neto e630c12f01 tests: reorganize meson file 2018-02-26 22:16:02 -03:00
Iñigo Martínez 11fb4717a2 tests: Fix GCalManager test
The unit test that checks GCalManager test fails due to missing
schemas.

This patch allows schemas to be compiled in the build tree and also
sets the environment variables so tests can found them and run
properly.

Additional code and testing from Mohammed Sadiq <sadiq@sadiqpk.org>
2018-02-11 23:17:12 +00:00
Georges Basile Stavracas Neto 27a44c3092 project: don't install private library
Instead, bring back building all the objects into
calendar itself, and only use the private library
internally.
2017-09-08 21:04:02 -03:00
Georges Basile Stavracas Neto a0b6bdb04a application: move GSettings object to GcalManager
The first outcome of the test suite. This separation does
not make much sense now, and GcalManager is basically a
holder for all data types.

This commit moves the GSettings to the GcalManager instance
of the application. Of course, in the future, the plan is to
split GcalManager nicely.
2017-09-07 12:52:49 -03:00
Georges Basile Stavracas Neto c7845d1878 tests: add initial test suite 2017-09-07 12:37:46 -03:00