-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bring the CSL test suite to 100% #82
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Who really cares, anyway? That last commit was definitely wrong. There's none of that hubris around here any more.
title-short should render nothing if there is no explicit title-short variable in the Reference. title(form=short) can use either, still.
+disambiguate_BasedOnEtAlSubsequent.txt
+bugreports_parseName.txt +name_ParticleCaps3.txt
+name_EtAlWithCombined.txt +name_HebrewAnd.txt Required changing the defn of is_latin_cyrillic to include Arabic in line with citeproc-js.
+bugreports_SmallCapsEscape.txt (snapshot because of extraneous space that citeproc-rs eliminates)
It does a better job of sorting with punctuation in there, and is still case insensitive. +sort_LeadingApostropheOnNameParticle.txt
+disambiguate_DisambiguateTrueReflectedInBibliography.txt
+variables_ContainerTitleShort.txt
+textcase_NoSpaceBeforeApostrophe
Disable quote parsing for affixes; Better rendering of unmatched quotes; Disable flipping in user-supplied cluster affixes. Improved: +flipflop_LeadingMarkupWithApostrophe.txt Un-snapshot: +bugreports_FourAndFour.txt +bugreports_SingleQuote.txt +bugreports_SingleQuoteXml.txt
Syntactically, with the new enums. Also parse_quotes external applies to curly only.
This is the (Oblinger & Oblinger, 2009) one. It ignores primary name clashes when they have the same last name, only for NameForm::Short. New test to check that the original behaviour remains when there are other names to disambiguate against.
…e-number If the subsequent form included Frnn, then the bibliography ghosts used to determine year suffixes having None for Frnn was a problem as they would render differently from all the other ones. The dummy ends up as a Frnn edge, which is all that was needed.
By running 'natural + lexical sort' instead of just lexical; and by not creating fake citation numbers for uncited items.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
A-core
Area: affects all builds of citeproc-rs
A-crates/citeproc
Area: citeproc crate
A-crates/csl
Area: csl crate
breaking
Breaking change
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There are some caveats, but citeproc-rs now passes the CSL test suite.
The caveats are:
crates/citeproc/tests/data/ignore.txt
, with justifications for each, but these are all absolutely open to question.crates/citeproc/tests/data/snapshot.txt
with justifications, and again all are open to question. Probably the most iffy ones areposition_IbidInText.txt
andlocator_TrickyEntryForPlurals.txt
, but at least neither of them is actually documented in the specification, so there's that at least.There are also 23 additional tests in
crates/citeproc/tests/data/humans/
. This one's not really a caveat, but they're all candidates for test suite inclusion, and if you're reading this then chances are that's interesting to you.A couple of inextricable Rust API changes landed along the way, ie
Processor::new(InitOptions { style, ..Default::default() })
, but the wasm API is severable, untouched and for a separate PR.Edit: oh, and another inextricable change, the parsing a style's metadata only. There's a new
csl::StyleMeta
with aparse
method. You can use this to figure out whether a style is dependent, and what its e.g. default-locale is, to apply to the parent style as an override. Or just to get some info from the style, without erroring out if there are parse errors outside the<info>
block. (At least I should add a test for that last use case.)