url
url copied to clipboard
Relative path
fix #407
An automated preview of the documentation is available at https://425.url.prtest.cppalliance.org/libs/url/doc/html/index.html
quite a lot here !
Codecov Report
Merging #425 (579deee) into develop (afb91bc) will decrease coverage by
0.07%
. The diff coverage is98.75%
.
:exclamation: Current head 579deee differs from pull request most recent head f9c5121. Consider uploading reports for the commit f9c5121 to get more accurate results
@@ Coverage Diff @@
## develop #425 +/- ##
===========================================
- Coverage 97.92% 97.84% -0.08%
===========================================
Files 132 132
Lines 6349 6494 +145
===========================================
+ Hits 6217 6354 +137
- Misses 132 140 +8
Impacted Files | Coverage Δ | |
---|---|---|
include/boost/url/url.hpp | 100.00% <ø> (ø) |
|
include/boost/url/impl/url.ipp | 97.04% <98.11%> (+1.80%) |
:arrow_up: |
include/boost/url/authority_view.hpp | 94.87% <100.00%> (+0.58%) |
:arrow_up: |
include/boost/url/impl/authority_view.ipp | 96.77% <100.00%> (+2.03%) |
:arrow_up: |
include/boost/url/impl/url_base.ipp | 98.87% <100.00%> (ø) |
|
include/boost/url/impl/url_view_base.ipp | 98.56% <100.00%> (-1.44%) |
:arrow_down: |
include/boost/url/url_view_base.hpp | 100.00% <100.00%> (ø) |
|
include/boost/url/detail/impl/normalize.ipp | 97.46% <0.00%> (-1.90%) |
:arrow_down: |
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact)
,ø = not affected
,? = missing data
Powered by Codecov. Last update afb91bc...f9c5121. Read the comment docs.
An automated preview of the documentation is available at https://425.url.prtest.cppalliance.org/libs/url/doc/html/index.html
quite a lot here !
Yes. This function seems useful. The PR was also useful to find lots of small bugs and features missing here and there. Like some problems with the url_base::ops
and set_path("")
. It also gave me some ideas to improve that noexcept path comparison we have in url_view::compare
.
Some other questions that came up:
-
About the order of arguments:
std::filesystem
/boost::filesystem
functions userelative(const path&, const path& base)
. Alsoabsolute
,proximate
, etc. It does look more natural. Shouldn't we do the same here torelative
/absolute
/resolve
? -
The basic exception guarantee is not satisfied in case of allocation errors after the first allocation. Is that a problem?
Oh... look what URI.js says about absoluteTo
:
https://github.com/medialize/URI.js/blob/28976cde5bb32a433ab78c4a32ef58f39d2cabf6/test/test.js#L1479
So we only need resolve
and relative
.
An automated preview of the documentation is available at https://425.url.prtest.cppalliance.org/libs/url/doc/html/index.html
An automated preview of the documentation is available at https://425.url.prtest.cppalliance.org/libs/url/doc/html/index.html
I fixed the last test that was failing:
check("/../path/x/../to/y/../somewhere/else", "/a/../../path/to/a", "../a");
This function had a problem similar to op==
: comparing paths without a stack. The difference is we need the longest common path instead.
As usual, I tried many solutions and realized comparing the segments in reverse is the only solution with linear cost. Because of how hard this is and so we can move on, I used the other solution which could be n^2 in a very edgy case.
An automated preview of the documentation is available at https://425.url.prtest.cppalliance.org/libs/url/doc/html/index.html
An automated preview of the documentation is available at https://425.url.prtest.cppalliance.org/libs/url/doc/html/index.html
An automated preview of the documentation is available at https://425.url.prtest.cppalliance.org/libs/url/doc/html/index.html
we can use temporary memory with recycled_ptr
now if it will simplify and speed up the algorithm
An automated preview of the documentation is available at https://425.url.prtest.cppalliance.org/libs/url/doc/html/index.html
An automated preview of the documentation is available at https://425.url.prtest.cppalliance.org/libs/url/doc/html/index.html
An automated preview of the documentation is available at https://425.url.prtest.cppalliance.org/libs/url/doc/html/index.html
An automated preview of the documentation is available at https://425.url.prtest.cppalliance.org/libs/url/doc/html/index.html
An automated preview of the documentation is available at https://425.url.prtest.cppalliance.org/libs/url/doc/html/index.html
An automated preview of the documentation is available at https://425.url.prtest.cppalliance.org/libs/url/doc/html/index.html
An automated preview of the documentation is available at https://425.url.prtest.cppalliance.org/libs/url/doc/html/index.html
I rebased this PR and fixed everything that broke with the new containers.
Codecov Report
Merging #425 (559dc25) into develop (ecdc8f1) will increase coverage by
0.01%
. The diff coverage is98.88%
.
Additional details and impacted files
@@ Coverage Diff @@
## develop #425 +/- ##
===========================================
+ Coverage 96.81% 96.83% +0.01%
===========================================
Files 139 139
Lines 6691 6847 +156
===========================================
+ Hits 6478 6630 +152
- Misses 213 217 +4
Impacted Files | Coverage Δ | |
---|---|---|
include/boost/url/url.hpp | 100.00% <ø> (ø) |
|
include/boost/url/impl/url_base.ipp | 98.95% <98.19%> (-0.08%) |
:arrow_down: |
include/boost/url/authority_view.hpp | 94.59% <100.00%> (+0.65%) |
:arrow_up: |
include/boost/url/impl/authority_view.ipp | 84.17% <100.00%> (+5.31%) |
:arrow_up: |
include/boost/url/impl/url_view_base.ipp | 98.60% <100.00%> (+<0.01%) |
:arrow_up: |
include/boost/url/url_base.hpp | 100.00% <100.00%> (ø) |
|
include/boost/url/detail/impl/normalize.ipp | 97.46% <0.00%> (-1.90%) |
:arrow_down: |
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact)
,ø = not affected
,? = missing data
Powered by Codecov. Last update ecdc8f1...559dc25. Read the comment docs.
GCOVR code coverage report https://425.url.prtest.cppalliance.org/gcovr/index.html
LCOV code coverage report https://425.url.prtest.cppalliance.org/genhtml/index.html
An automated preview of the documentation is available at https://425.url.prtest.cppalliance.org/libs/url/doc/html/index.html
An automated preview of the documentation is available at https://425.url.prtest.cppalliance.org/libs/url/doc/html/index.html
GCOVR code coverage report https://425.url.prtest.cppalliance.org/gcovr/index.html
LCOV code coverage report https://425.url.prtest.cppalliance.org/genhtml/index.html
An automated preview of the documentation is available at https://425.url.prtest.cppalliance.org/libs/url/doc/html/index.html
GCOVR code coverage report https://425.url.prtest.cppalliance.org/gcovr/index.html
LCOV code coverage report https://425.url.prtest.cppalliance.org/genhtml/index.html