Adding a pretty debug implementation to overcome escaping of strings#519
Open
edmondop wants to merge 1 commit intographql-rust:mainfrom
Open
Adding a pretty debug implementation to overcome escaping of strings#519edmondop wants to merge 1 commit intographql-rust:mainfrom
edmondop wants to merge 1 commit intographql-rust:mainfrom
Conversation
as a part of macro reading from files
caspermeijn
reviewed
Mar 12, 2025
Comment on lines
+21
to
+40
| fn query_is_formatted_correctly() { | ||
| let variables = opt_query::Variables { | ||
| param: Some(Param::AUTHOR), | ||
| }; | ||
| let query = OptQuery::build_query(variables); | ||
| let debug_output = format!("{:#?}", query); | ||
|
|
||
| let original_query = include_str!("default/query.graphql"); | ||
|
|
||
| // Normalize both for comparison | ||
| let normalized_debug_output = normalize_whitespace(&debug_output); | ||
| let normalized_original_query = normalize_whitespace(original_query); | ||
|
|
||
| assert!( | ||
| normalized_debug_output.contains(&normalized_original_query), | ||
| "Debug output did not contain the expected query.\nDebug output:\n{}\n\nExpected query:\n{}", | ||
| normalized_debug_output, | ||
| normalized_original_query | ||
| ); | ||
| } |
Contributor
There was a problem hiding this comment.
As an outsider, it is not clear what is actually tested here. You try to test something about newlines, but that is not mentioned in this test.
| pub operation_name: &'static str, | ||
| } | ||
|
|
||
| struct PrettyStr<'a>(&'a str); |
Contributor
There was a problem hiding this comment.
This struct should be named after its goal: ExpandNewLines
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
As described in #518 , parsing a string and include it in code generation generates code like so:
instead of a multi-line string. A solution would be to reduce reusability in macros:
so that we propagate the path of the file and we use
include_str!macro in code-generation if we have something from file, which would require us to modifyto support a query that's either a String or a PathBuf and then at macro time doing either an include or a simple quoting