Skip to content
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

Fix the code points of ≪⃒ and add a test case (#67) #68

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

kkebo
Copy link
Contributor

@kkebo kkebo commented Apr 9, 2022

Description

fixes #67

I fixed the code points of ≪⃒ (≪⃒) in namedCharactersDecodeMap2 and added a test case to verify if *DecodeMaps match https://html.spec.whatwg.org/entities.json.

Motivation and Context

#67 and #65 (comment)

How Has This Been Tested?

I added a test case of *DecodeMaps, so I tested this modification by it.

Checklist:

  • I have submitted a CLA form
  • If applicable, I have updated the documentation accordingly.
  • If applicable, I have added tests to cover my changes.

@kkebo kkebo mentioned this pull request Apr 9, 2022
@kkebo kkebo changed the title Fix the code points of ≪⃒ (#67) Fix the code points of ≪⃒ and add a test case (#67) Apr 9, 2022
@kkebo
Copy link
Contributor Author

kkebo commented Aug 21, 2022

ping

Comment on lines 415 to 425
let url = URL(string: "https://html.spec.whatwg.org/entities.json")!
URLSession.shared.dataTask(with: url) { data, _, error in
if let error = error {
dataTaskError = error
} else if let data = data {
entitiesData = data
}
expectation.fulfill()
}.resume()

self.wait(for: [expectation], timeout: 60)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice touch adding a test against a known reference. I'm not sure it's a good idea to hit the server on every unit test, though. There could be other problems (network issues, unexpected changes upstream etc.). Perhaps it'd be better to keep this in the repo?

At 140k raw, it's not "huge". Assuming it's not something that changes often, it's probably fine to keep in the repo.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for reviewing.

Your concerns are reasonable. I also thought about it at first. However, I realized that I would have to verify that the file was correct. It seems to me that using a local file to validate *DecodeMaps simply postpones the problem, since another way is needed to validate the file itself.

Moreover, since the HTML specs keep changing, there will come a time when the file will have to be changed. We must then verify in some way that those changes are correct.

What do you think?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's actually added reason to keep a copy of the file in the repo so that it can be manually inspected each time. If it's automated, then the test can break at any time and it'll be unclear why.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for replying. The main point I wrote was that it didn't make sense to add a file to the repo because I thought verifying it wasn't much different than verifying Swift constants. But it's a copy of a file published as a part of the specs, so it is easier to verify than Swift constants. I changed my mind. I'm going to add the file and rewrite the test.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I pushed the commit b86aa37.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dannys42 I am not in a hurry, but what do you think?

@sonarqubecloud
Copy link

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

@kkebo
Copy link
Contributor Author

kkebo commented Apr 2, 2023

ping

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Fix unicode error
2 participants