summaryrefslogtreecommitdiff
path: root/t/uni
Commit message (Collapse)AuthorAgeFilesLines
* add warning for negative argument to chr() [perl #83048]Jesse Luehrs2012-06-241-1/+10
|
* stash.t: 2 TODO tests I missedFather Chrysostomos2012-06-051-4/+1
|
* stash.t: Un-TODO passing testsFather Chrysostomos2012-06-041-4/+1
|
* uni/fold.t: Improve some handling of older UnicodesKarl Williamson2012-06-021-0/+5
| | | | | | | | | | | In this loop, if a code point is unassigned, it means that the test is being run on an early Unicode version which doesn't have this character yet, or something is very wrong. Instead of persisting with the tests that aren't going to succeed, fail with an appropriate message. This means that the .t will not pass, but it gives fewer and better messages. We want to mark the failure for the case where the problem isn't an early Unicode version.
* uni/fold.t: Add details to some test namesKarl Williamson2012-06-021-3/+3
|
* uni/fold.t: Use Unicode::UCD::casefolds() for inputsKarl Williamson2012-06-021-26/+21
| | | | This allows this .t to work on early Unicodes.
* t/uni/case.pl: Allow to work on early UnicodesKarl Williamson2012-06-024-81/+42
| | | | | | | | | | This changes case.pl to use Unicode::UCD instead of directly reading the casing files. This allows it to be used on Unicode releases that don't have those files, as Unicode::UCD has the intelligence to cope with that. The EBCDIC code in it can be removed as Unicode::UCD should cope with that as well. As a result, the .t's that call it have a slightly different API.
* t/uni/case.pl: Use warnings and strictKarl Williamson2012-06-021-0/+2
|
* Close the filehandle actually being tested in uni/readline.tSteve Hay2012-05-221-1/+1
| | | | (Also allows the tempfile() to be unlink()ed :-)
* Make unicode label tests use unicode_eval.Brian Fraser2012-04-261-0/+1
| | | | | | | | A recent change exposed a faulty test, in t/uni/labels.t; Previously, a downgraded label passed to eval under 'use utf8;' would've been erroneously considered UTF-8 and the tests would pass. Now it's correctly reported as illegal UTF-8 unless unicode_eval is in effect.
* uni/parser.t: Don’t test for explicit eval numberFather Chrysostomos2012-03-281-0/+1
| | | | A different ‘(eval xxx)’ number was being emitted under miniperl.
* Correct minitest skip count in uni/labels.tFather Chrysostomos2012-03-281-1/+1
|
* Fix test failureFather Chrysostomos2012-03-251-2/+2
| | | | | | | This fixes up tests added in the previous commit, making them take evalbytes into account. Those tests were originally written in a branch where evalbytes didn’t exist and the unicode_eval feature was implicitly enabled.
* Label UTF8 cleanupBrian Fraser2012-03-251-0/+82
| | | | | This meant changing LABEL's definition in perly.y, so most of this commit is actually from the regened files.
* toke.c: "Bad name after %s%s" cleanup.Brian Fraser2012-03-251-1/+7
|
* op.c: Warnings cleanup.Brian Fraser2012-03-231-0/+44
|
* toke.c: S_checkcomma, "No comma allowed after %s" cleanupBrian Fraser2012-03-221-1/+7
|
* toke.c: '"(my|state)" variable %s can't be in a package' cleanup.Brian Fraser2012-03-221-1/+10
|
* toke.c: 'No package name allowed for variable %s in "our"' cleanup.Brian Fraser2012-03-221-2/+8
|
* toke.c: 'No such class %s' cleanup.Brian Fraser2012-03-221-1/+10
|
* uni/parser.t: Fix eval num in testFather Chrysostomos2012-03-221-1/+1
|
* toke.c: 'Unrecognized character' croak cleanup.Brian Fraser2012-03-221-1/+9
|
* Implement the fc keyword and the \F string escape.Brian Fraser2012-01-291-5/+326
| | | | | | | | | | | | | | | | | | | | | | Along with the simple_casefolding and full_casefolding features. fc() stands for foldcase, a sort of pseudo case (like lowercase), which is used to implement Unicode casefolding. It maps a string to a form where all case differences are erased, so it's a locale-independent way of checking if two strings are the same, regardless of case. This functionality was, and still is, available through the regular expression engine -- /i matches would use casefolding internally. The fc keyword merely exposes this for easier access. Previously, one could attempt to case-insensitively test two strings for equality by doing lc($a) eq lc($b) But that might get you wrong results, for example in the case of \x{DF}, LATIN SMALL LETTER SHARP S.
* Avoid 'defined(@array) is deprecated' warnings in tests.Nicholas Clark2012-01-171-1/+4
| | | | | | | Commit 604a99bd464c92d7 enabled the warning for package arrays, but failed to lexically disable the warning for the various tests for the construction. Even though the construction is deprecated, we'd still like to know if the behaviour changes, in case it wasn't intentional.
* regcomp.c: Optimize a single Unicode property in a [character class]Karl Williamson2012-01-131-4/+9
| | | | | | | | | | | | | | | | | All Unicode properties actually turn into bracketed character classes, whether explicitly done or not. A swash is generated for each property in the class. If that is the only thing not in the class's bitmap, it specifies completely the non-bitmap behavior of the class, and can be passed explicitly to regexec.c. This avoids having to regenerate the swash. It also means that the same swash is used for multiple instances of a property. And that means the number of duplicated data structures is greatly reduced. This currently doesn't extend to cases where multiple Unicode properties are used in the same class [\p{greek}\p{latin}] will not share the same swash as another character class with the same components. This is because I don't know of a an efficient method to determine if a new class being parsed has the same components as one already generated. I suppose some sort of checksum could be generated, but that is for future consideration.
* uni/cache.t: Fix to handle regex compile time Uni propsKarl Williamson2012-01-131-6/+12
| | | | | | | Future commits are planned to move the resolution of Unicode properties from regex execution time to compile time. By moving the code into a BEGIN block, this .t can now handle both types. Before this patch, it wouldn't show any activity at all if things are done at compile time.
* uni/class.t: Add testKarl Williamson2012-01-131-3/+6
| | | | | This new test makes sure that a regular expression that forward references a user-defined property works.
* pp_hot.c: First letter of latin-1 classnames wasn't being checked correctly.Brian Fraser2011-12-151-1/+18
| | | | | | Previously the first letter for latin-1 classnames was being mischecked, only allowing ASCII, which caused an instance of the Unicode Bug for downgradable classnames.
* Add class_ok() and object_ok() to t/test.pl.Michael G. Schwern2011-11-171-3/+3
| | | | | | | | | | Change every existing instance of isa_ok() to use object_ok(). This is safe because before this point, t/test.pl's isa_ok() only worked on objects. lib/dbmt_common.pl is the last hold out because it uses Test::More. These are like isa_ok() but they also check if it's a class or an object. This lets the core tests defend against outlandish bugs while allowing t/test.pl to retain feature parity with Test::More.
* t/uni/case.pl: Allow overridden simple maps in inputKarl Williamson2011-11-081-1/+6
| | | | | | | | | | Future commits are planned to change the base list in various mapping tables to include the simple maps which are now suppressed when there are full maps that override them. The current test blindly tests all the simple maps, which would start to fail because the core uses the full maps when available. So, simply don't test the overridden ones.
* eval STRING UTF8 cleanup.Brian Fraser2011-11-061-0/+42
| | | | | (modified by the committer only to apply when the unicode_eval feature is enabled)
* Don’t put malformed UTF8 in $AUTOLOADFather Chrysostomos2011-10-071-1/+10
|
* Correct skip counts for miniperlFather Chrysostomos2011-10-062-2/+2
|
* uni/universal.t tests passingFather Chrysostomos2011-10-061-8/+2
|
* toke.c, ext/attributes/attributes.xs: Make attributes UTF-8 clean.Brian Fraser2011-10-061-0/+195
|
* TODO tests for parsing our() now passBrian Fraser2011-10-061-7/+4
|
* gv.c, op.c, pp.c: Stash-injected prototypes and prototype() are UTF-8 clean.Brian Fraser2011-10-061-6/+3
| | | | | | | | This makes perl -E '$::{example} = "\x{30cb}"; say prototype example;' store and fetch the correctly flagged prototype. With this, all TODO tests in gv.t pass; The next commit will deal with making the parsing of prototypes nul-clean.
* toke.c: Some simple mending to get readline() working with UTF-8 filehandlesBrian Fraser2011-10-061-0/+66
|
* pp_sys.c: pp_select UTF8 cleanup.Brian Fraser2011-10-061-0/+35
|
* op.c: Malformed prototype warning on UTF8 sub nameBrian Fraser2011-10-061-1/+8
|
* Several TODO tests that now pass.Brian Fraser2011-10-062-10/+5
|
* t/uni/gv.t, stringify is clean, remove the TODOBrian Fraser2011-10-061-3/+2
|
* Tests for DATA handle in UTF8 packagesBrian Fraser2011-10-061-1/+12
|
* Tests for UTF-8 stashes.Brian Fraser2011-10-061-0/+318
|
* Tests for package; declarations in UTF-8Brian Fraser2011-10-061-0/+94
|
* More tests for t/uni/method.tBrian Fraser2011-10-061-1/+88
|
* sv.c: Make most warnings utf8-cleanBrian Fraser2011-10-061-1/+57
|
* sv.c: Pass in UNI_DISPLAY_ISPRINT in S_not_a_numberBrian Fraser2011-10-061-6/+4
|
* pp_sys.c: Make warnings utf8-cleanBrian Fraser2011-10-061-2/+29
|
* pp_hot.c: Make warnings utf8-cleanBrian Fraser2011-10-061-1/+3
|