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

toUpperCase and toLowerCase should use the full case mapping. #6706

Open
DartBot opened this issue Nov 13, 2012 · 8 comments
Open

toUpperCase and toLowerCase should use the full case mapping. #6706

DartBot opened this issue Nov 13, 2012 · 8 comments
Labels
area-vm type-bug Incorrect behavior (everything from a crash to more subtle misbehavior)

Comments

@DartBot
Copy link

DartBot commented Nov 13, 2012

This issue was originally filed by erik.co...@gmail.com


Currently the VM uses simple case mapping where Straße -> STRAßE, whereas dart2js inherits the full case mapping from JavaScript where Straße -> STRASSE. We should determine which mapping should be used and implement it consistently.

There is a test for this: corelib/unicode_test.dart

@ErikCorryGoogle
Copy link
Contributor

cc @iposva-google.
cc @lexprfuncall.
cc @sgmitrovic.
Set owner to @gbracha.
Added Area-Language, Triaged labels.

@lexprfuncall
Copy link

Yes, the full case mapping should be used.

Some background: when I wrote the casing code for Dart I was under the mistaken impression that JavaScript used the compatible case mapping. As such, the casing data that I generated does not include the additional information needed for full casing.

Fortunately, doing the right thing is a relatively straight-forward change. I think I already have an outstanding issue to fix this.


Set owner to @lexprfuncall.

@lexprfuncall
Copy link

Removed Area-Language label.
Added Area-VM, Accepted labels.
Changed the title to: "toUpperCase and toLowerCase should use the full case mapping.".

@iposva-google
Copy link
Contributor

Removed the owner.
Added Triaged label.

@iposva-google
Copy link
Contributor

Removed Priority-Medium label.
Added Priority-Unassigned label.

@floitschG
Copy link
Contributor

Issue #14857 has been merged into this issue.

@kevmoo kevmoo added type-bug Incorrect behavior (everything from a crash to more subtle misbehavior) and removed priority-unassigned labels Feb 29, 2016
@alan-knight
Copy link
Contributor

This came up again, in the context of Turkish uppercase dotted i, which in the VM goes to lower case as just i, and in JS goes to i with a combining dot (0x309).

@floitschG
Copy link
Contributor

@ErikCorryGoogle: You implemented these kind of tables probably several times. How hard would it be to change the ones from the VM?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-vm type-bug Incorrect behavior (everything from a crash to more subtle misbehavior)
Projects
None yet
Development

No branches or pull requests

7 participants