ObjFW  History of tests/OFStringTests.m of 49cb6ada5f8e15f4

History of the file that is called tests/OFStringTests.m at checkin 49cb6ada5f8e15f4

2021-05-09
10:17
tests: Fix shadowed variable file: [33be156318] check-in: [c80b60fcc9] user: js, branch: trunk, size: 57239 [annotate] [blame] [check-ins using] [diff]
2021-05-08
23:29
tests: Minor const improvement file: [cf7c49d0e8] check-in: [c8663697ae] user: js, branch: trunk, size: 57241 [annotate] [blame] [check-ins using] [diff]
23:22
tests: Align more with ObjFW style

ObjFW's style changed over the years, but the tests were never adjusted
to it. file: [ebff40f9d8] check-in: [14f1e22d79] user: js, branch: trunk, size: 57247 [annotate] [blame] [check-ins using] [diff]

2021-04-18
22:56
Rename all symbols marked extern file: [40fec06275] check-in: [e73c65a849] user: js, branch: new-naming-convention, size: 54528 [annotate] [blame] [check-ins using] [diff]
2021-04-17
14:13
Always prefix functions with the type file: [5086f0db86] check-in: [eb0cfa6ff9] user: js, branch: new-naming-convention, size: 54540 [annotate] [blame] [check-ins using] [diff]
02:25
Rename remaining enums in OFString.h file: [4dd338b89d] check-in: [169692a120] user: js, branch: new-naming-convention, size: 54540 [annotate] [blame] [check-ins using] [diff]
02:10
of_string_encoding_t -> OFStringEncoding file: [d212076c0e] check-in: [255f21fb3d] user: js, branch: new-naming-convention, size: 54542 [annotate] [blame] [check-ins using] [diff]
01:35
of_char{16,32}_t -> OFChar{16,32} file: [01616c0677] check-in: [6d9d790a24] user: js, branch: new-naming-convention, size: 54627 [annotate] [blame] [check-ins using] [diff]
01:32
of_unichar_t -> OFUnichar file: [4d4f6df693] check-in: [2d3790870d] user: js, branch: new-naming-convention, size: 54633 [annotate] [blame] [check-ins using] [diff]
01:24
OF_NOT_FOUND -> OFNotFound file: [2e118f1ac8] check-in: [83dc0fe6e5] user: js, branch: new-naming-convention, size: 54645 [annotate] [blame] [check-ins using] [diff]
00:44
of_range_t -> OFRange file: [4f0b2599ed] check-in: [d975c53a43] user: js, branch: new-naming-convention, size: 54651 [annotate] [blame] [check-ins using] [diff]
00:31
of_byte_order_t -> OFByteOrder file: [8afaa899f0] check-in: [1046d10a20] user: js, branch: new-naming-convention, size: 54600 [annotate] [blame] [check-ins using] [diff]
00:14
of_comparison_result_t -> OFComparisonResult file: [43eafe635a] check-in: [61fc389aee] user: js, branch: new-naming-convention, size: 54616 [annotate] [blame] [check-ins using] [diff]
2021-04-07
19:22
OF{Data,String}+CryptoHashing: Rename methods

This makes it clearer that these return a string and not a hash object. file: [bc3d5b4b0a] check-in: [b5a74319e1] user: js, branch: trunk, size: 54648 [annotate] [blame] [check-ins using] [diff]

2021-03-07
20:25
*.m: Fold methods into one line where it fits file: [e616a01e33] check-in: [1b82d3bf4f] user: js, branch: trunk, size: 54471 [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:06
Update copyright file: [dc7ef149b5] check-in: [27b401c7c2] user: js, branch: amiga-library, size: 54479 [annotate] [blame] [check-ins using] [diff]
22:04
Update copyright file: [72c5e8bd18] check-in: [374e1a1bfa] user: js, branch: trunk, size: 54552 [annotate] [blame] [check-ins using] [diff]
2021-01-01
22:15
Exclude HP-UX from 0x test for -[doubleValue] file: [36a2a4713a] check-in: [142f0d1242] user: js, branch: trunk, size: 54641 [annotate] [blame] [check-ins using] [diff]
22:11
OFString: Manually handle NaN

strtod() on HP-UX does not accept NaN. file: [27d0709520] check-in: [cd4fd689d6] user: js, branch: trunk, size: 54612 [annotate] [blame] [check-ins using] [diff]

2020-12-29
19:41
-[longLongValueWithBase:]: Fall back to base 10 file: [7e0dbd9c91] check-in: [86055ffb5b] user: js, branch: trunk, size: 54568 [annotate] [blame] [check-ins using] [diff]
2020-12-22
20:09
Correctly handle componentsSeparatedByString: @"" file: [484cb7d0ac] check-in: [1b2efa1f5d] user: js, branch: trunk, size: 54450 [annotate] [blame] [check-ins using] [diff]
2020-12-20
13:49
Clean up a few defines file: [bb912e724d] check-in: [d3fb77eb9c] user: js, branch: trunk, size: 54323 [annotate] [blame] [check-ins using] [diff]
2020-08-25
23:52
OFString: Remove hack for amiga-gcc

amiga-gcc now has strto(u)ll. file: [1ca0b0e0e8] check-in: [5f494eaf81] user: js, branch: trunk, size: 54264 [annotate] [blame] [check-ins using] [diff]

2020-08-11
19:45
OFString: Rework number parsing API

This solves the old signed vs. unsigned problem and allows for more
bases than just 8, 10 and 16, as well as auto-detection of the base (if
base is 0). file: [1264b0c686] check-in: [b6ee372b98] user: js, branch: trunk, size: 54264 [annotate] [blame] [check-ins using] [diff]

2020-01-02
01:51
Update copyright file: [bf0332c491] check-in: [c7f0229795] user: js, branch: trunk, size: 53975 [annotate] [blame] [check-ins using] [diff]
2019-09-29
15:58
Remove OFAutoreleasePool

OFAutoreleasePools have long been discouraged in favor of the runtime's
autorelease pools. file: [c26219a4ab] check-in: [09be825f88] user: js, branch: trunk, size: 53972 [annotate] [blame] [check-ins using] [diff]

2019-06-17
02:33
Remove underscores from class names file: [6659b80a48] check-in: [17d57e01ff] user: js, branch: trunk, size: 53974 [annotate] [blame] [check-ins using] [diff]
2019-04-14
10:59
OFStringTests: Fix a new Clang warning

The idea was to have garbage before and remove it with the + 3, to
prevent compilers from potentially being smart in the future and
stripping the BOM. This hasn't happened, and instead they got smarter
with warnings, to remove that hack. file: [e7c58a38d5] check-in: [efb964a3ae] user: js, branch: trunk, size: 53931 [annotate] [blame] [check-ins using] [diff]

2019-04-06
20:35
Improve path handling on Windows/DOS file: [c166811b76] check-in: [ec17b9225a] user: js, branch: trunk, size: 53938 [annotate] [blame] [check-ins using] [diff]
2019-03-25
00:21
tests: Use dot syntax file: [a63c11f262] check-in: [b045cbb9c7] user: js, branch: trunk, size: 51879 [annotate] [blame] [check-ins using] [diff]
2019-03-24
22:29
Add support for UNC paths on Windows file: [6a603058a6] check-in: [a4b719e4e9] user: js, branch: trunk, size: 52456 [annotate] [blame] [check-ins using] [diff]
2019-02-17
22:44
tests: Only import ObjFW.h

This prevents forgetting to add an import to ObjFW.h, as the tests would
then not compile. file: [0918342cf7] check-in: [dc0c6c34ab] user: js, branch: trunk, size: 48427 [annotate] [blame] [check-ins using] [diff]

2019-02-03
19:19
Move a few URL methods from OFString to OFURL file: [f95cef297c] check-in: [f19cde3a14] user: js, branch: trunk, size: 48733 [annotate] [blame] [check-ins using] [diff]
2019-01-03
19:13
Update copyright file: [ec27cf1f39] check-in: [0509d7a844] user: js, branch: trunk, size: 49192 [annotate] [blame] [check-ins using] [diff]
2018-08-25
19:09
tests: Use the same path tests on Wii as on 3DS file: [ab9d38a9ea] check-in: [e649da7412] user: js, branch: trunk, size: 49186 [annotate] [blame] [check-ins using] [diff]
2018-08-19
02:12
Several path handling improvements and more tests file: [b8eafda052] check-in: [9e8164519c] user: js, branch: trunk, size: 49072 [annotate] [blame] [check-ins using] [diff]
2018-07-07
21:37
Add -[componentsSeparatedByCharactersInSet:] file: [9cd5a66eea] check-in: [8939d24b51] user: js, branch: trunk, size: 45047 [annotate] [blame] [check-ins using] [diff]
2018-05-13
19:24
platform.h: Rename OF_AMIGAOS3 to OF_AMIGAOS_M68K

The reason for this is that, in theory, this also supports versions
older than 3. file: [9c3fe0a3f0] check-in: [5831626f68] user: js, branch: trunk, size: 43925 [annotate] [blame] [check-ins using] [diff]

2018-04-22
23:42
Make all tests pass on AmigaOS 3

Note: There is still some weirdness in the compiler. Instead of
m68k-amigaos-gcc, you need to use m68k-amigaos-g++ as OBJC, as otherwise
exceptions don't work.

Before running the tests, you need to run "stack 8192". file: [e81e35af26] check-in: [49cb6ada5f] user: js, branch: trunk, size: 43917 [annotate] [blame] [check-ins using] [diff]

2018-04-15
12:51
Add handling of AmigaOS paths file: [38c5330f76] check-in: [1c499f0728] user: js, branch: trunk, size: 43792 [annotate] [blame] [check-ins using] [diff]
2018-03-19
23:42
Ignore empty and slash-only path components file: [78bcb36f91] check-in: [69148d4e5e] user: js, branch: trunk, size: 39914 [annotate] [blame] [check-ins using] [diff]
2018-03-13
23:05
Treat the leading slash of a path as a component file: [fa776f7eaf] check-in: [a7ce7bb441] user: js, branch: trunk, size: 39107 [annotate] [blame] [check-ins using] [diff]
2018-03-11
21:43
Add -[OFString isAbsolutePath] file: [067d094bf5] check-in: [c6299422a1] user: js, branch: trunk, size: 37638 [annotate] [blame] [check-ins using] [diff]
12:55
Remove OF_PATH_* macros

These were way too simplistic, as paths differ in more than just that on
various operating systems. file: [bb51e4a860] check-in: [156b850131] user: js, branch: trunk, size: 37241 [annotate] [blame] [check-ins using] [diff]

12:35
OFString+PathAdditions: Split into per-type files file: [e113d97e23] check-in: [c6930c5141] user: js, branch: trunk, size: 37101 [annotate] [blame] [check-ins using] [diff]
00:37
OFString: Move path handling into a category

This is the first step to have different versions of those for different
operating systems, rather than #ifdefs everywhere.

This also has the nice side-effect of not having one implementation in
OFString and another one in OFString_UTF8 anymore. The one in OFString
was a generic version, while the one in OFString_UTF8 was one optimized
for UTF-8 strings. Now only the version optimized for UTF-8 strings
exists, as this is by far the most common string implementation used,
and the overhead of converting from something else to UTF-8 is not more
than converting to UTF-32. file: [979ff3e546] check-in: [7a488c3062] user: js, branch: trunk, size: 36099 [annotate] [blame] [check-ins using] [diff]

2018-02-25
04:31
Reintroduce of_char{16,32}_t

There is no reliable way to check if C++ already defined those, as Clang
now defines char{16,32}_t even when it is not in C++ 11 mode. So we
cannot check if we are not in C++ 11 and then define them and otherwise
rely on the C++ 11 types. file: [0e68977055] check-in: [505137f25f] user: js, branch: trunk, size: 36031 [annotate] [blame] [check-ins using] [diff]

2018-01-03
19:49
Update copyright notice file: [cf94882f29] check-in: [7e5c81e186] user: js, branch: trunk, size: 36025 [annotate] [blame] [check-ins using] [diff]
2017-11-14
23:27
Add -[OFString stringByAppendingURLPathComponent:] file: [da8182eef0] check-in: [ad18d4f976] user: js, branch: trunk, size: 36002 [annotate] [blame] [check-ins using] [diff]
23:19
Improve -[stringByAppendingPathComponent:]

This now prevents double slashes / backslashes. file: [4115eec41d] check-in: [80ac05eb8f] user: js, branch: trunk, size: 35543 [annotate] [blame] [check-ins using] [diff]

2017-11-13
21:56
Add -[OFString indexOfCharacterFromSet:] file: [e3f6078099] check-in: [4f2b0f0847] user: js, branch: trunk, size: 35053 [annotate] [blame] [check-ins using] [diff]
2017-11-05
21:39
Correctly handle Unicode when URL encoding file: [fb9438be53] check-in: [645ae7ac0a] user: js, branch: trunk, size: 34092 [annotate] [blame] [check-ins using] [diff]
19:53
Make -[stringByURLEncoding] take an OFCharacterSet file: [a80b9ca389] check-in: [2f555742c0] user: js, branch: trunk, size: 34001 [annotate] [blame] [check-ins using] [diff]
2017-10-31
21:55
OFString+URLEncoding: Change default allowed chars

This is now unreserved + sub-delims from RFC 3986. file: [56c53e54e1] check-in: [4db6713bda] user: js, branch: trunk, size: 33881 [annotate] [blame] [check-ins using] [diff]

2017-10-28
21:08
Make OFURL more generic

This removes the special handling dependent on the scheme. file: [e5125c6f6a] check-in: [0f995db06d] user: js, branch: trunk, size: 33881 [annotate] [blame] [check-ins using] [diff]

2017-10-22
15:05
Make Apple GCC with -Wshadow happy file: [33bc7fca89] check-in: [a06354b42a] user: js, branch: trunk, size: 33892 [annotate] [blame] [check-ins using] [diff]
14:09
Make Apple GCC with -Wshadow happy file: [1b6d7256b5] check-in: [31c0f5b89e] user: js, branch: 0.90, size: 33801 [annotate] [blame] [check-ins using] [diff]
2017-10-17
00:33
Do not use implicit method return types

Instead, explicitly declare them, as OF_ASSUME_NONNULL_{BEGIN,END} does
not apply to implicit return types. This means that after this commit,
all init methods have a nonnull return type, as they should have. file: [71dce1ac50] check-in: [2f4e0df8be] user: js, branch: trunk, size: 33896 [annotate] [blame] [check-ins using] [diff]

2017-07-02
13:21
Add -[decomposedStringWithCompatibilityMapping] file: [addca37143] check-in: [7989a8db10] user: js, branch: trunk, size: 33805 [annotate] [blame] [check-ins using] [diff]
11:55
-[OFString decomposedStringWithCanonicalMapping] file: [d944d8d727] check-in: [beae8473fb] user: js, branch: trunk, size: 33589 [annotate] [blame] [check-ins using] [diff]
2017-06-03
16:17
Workaround for libnix strtod not parsing INFINITY file: [f7406dd54d] check-in: [fe5b5de3b6] user: js, branch: trunk, size: 33422 [annotate] [blame] [check-ins using] [diff]
2017-05-28
23:38
platform.h: Add OF_ANDROID and OF_DJGPP file: [0bb9c53c1a] check-in: [476483dd19] user: js, branch: trunk, size: 33312 [annotate] [blame] [check-ins using] [diff]
2017-05-07
21:25
Use char{16,32}_t instead of of_char{16,32}_t file: [80a03e0c8f] check-in: [37d2a81754] user: js, branch: trunk, size: 33314 [annotate] [blame] [check-ins using] [diff]
20:10
Small code style change

Casts are now written like types in variable declarations. file: [1397ae7a5c] check-in: [4af49a13c3] user: js, branch: trunk, size: 33320 [annotate] [blame] [check-ins using] [diff]

2017-05-01
13:07
Add tests for generic OFString / OFMutableString

These are usually not used, as OFString_UTF8 and OFMutableString_UTF8
are used instead. However, they are used if someone creates their own
subclass of OFString / OFMutableString. As they are rarely used in
production, it is important to run all tests on them. file: [c38d6eca4f] check-in: [7926b47265] user: js, branch: trunk, size: 33312 [annotate] [blame] [check-ins using] [diff]

2017-04-06
20:19
Prepare OFStringTests for different string classes file: [4e0f09b991] check-in: [561522ae8c] user: js, branch: trunk, size: 30804 [annotate] [blame] [check-ins using] [diff]
2017-01-19
23:08
Add support for disabling encodings

This allows building a smaller ObjFW if those are not needed. file: [356111a391] check-in: [766eedef4c] user: js, branch: trunk, size: 30055 [annotate] [blame] [check-ins using] [diff]

2017-01-09
17:36
Update copyright

Forgot to add 2017, even though I already did quite some changes in
2017. file: [c419daf0e5] check-in: [44f45c2e35] user: js, branch: trunk, size: 29770 [annotate] [blame] [check-ins using] [diff]

2017-01-07
03:26
Use strtof_l, strtod_l and asprintf_l if available

This avoids the hacks introduced in the previous commit, if those
functions are available. file: [e6c617fc86] check-in: [0ad678f125] user: js, branch: trunk, size: 29764 [annotate] [blame] [check-ins using] [diff]

02:34
Always use "." for the decimal point

This is achieved by replacing the locale's decimal point with "." after
formatting and replacing "." with the locale's decimal point before
parsing.

To still use the decimal point from the locale for formatting, the new
flag "," is introduced to formats. This is useful for just printing a
string to the user that is not saved to a file or sent via a network.

While this is an ugly hack, there is no better way to do this other than
implementing the functionality of printf and strtod myself, as POSIX
does not specify versions of these that take a locale as an argument.
While this is a lot of work and error-prone, I will most likely end up
doing this eventually.

This commit also enables the locale in OFApplication to notice when
things break. As a nice side effect, ofhttp now uses the locale's
decimal point in its user interface. file: [cd4f1dfd47] check-in: [6dff0f5922] user: js, branch: trunk, size: 29298 [annotate] [blame] [check-ins using] [diff]

2016-08-29
00:05
configure: Add --disable-unicode-tables option

This is only useful for size-constrained systems and changes the
behavior as follows:

* Case-insensitive comparisons only work as expected for ASCII
characters. This means that while a and A compare equal, ä and Ä do
not.

* -[OFMutableString {upper,lower}] and
-[OFString {upper,lower}caseString] only work on ASCII characters;
all other characters are left as they are. This means that the upper
version of a is A, but the upper version of ä is still ä (and vice
versa for lower). file: [461bffb20c] check-in: [b7b33247d6] user: js, branch: trunk, size: 29529 [annotate] [blame] [check-ins using] [diff]

2016-07-02
23:35
OFString+URLEncoding.m: Do not parse + as space

This should only be done for the query string. file: [fa45237488] check-in: [32bc855af9] user: js, branch: trunk, size: 28544 [annotate] [blame] [check-ins using] [diff]

2016-05-22
17:38
Add -[OFString octalValue] file: [a324e7bfdc] check-in: [6ea8c2f107] user: js, branch: trunk, size: 28544 [annotate] [blame] [check-ins using] [diff]
2016-01-03
00:43
Update copyright

While at it, also update the mail address. file: [57ac9cdadf] check-in: [cec0f072f8] user: js, branch: 0.8, size: 28351 [annotate] [blame] [check-ins using] [diff]

00:41
Update copyright

While at it, also update the mail address. file: [81aaac2175] check-in: [2a27cf3000] user: js, branch: trunk, size: 28361 [annotate] [blame] [check-ins using] [diff]

2015-10-19
22:15
Add platform.h & make platform defines consistent file: [5b73e027ea] check-in: [1ba08eebc5] user: js, branch: trunk, size: 28357 [annotate] [blame] [check-ins using] [diff]
2015-04-20
20:48
Remove a few now unnecessary imports file: [ec2ef964d2] check-in: [0dbf08158c] user: js, branch: trunk, size: 28347 [annotate] [blame] [check-ins using] [diff]
2015-04-11
16:17
OFStringTests: Work around Solaris/x86's rounding file: [c4958c6919] check-in: [8a087107aa] user: js, branch: trunk, size: 28367 [annotate] [blame] [check-ins using] [diff]
2015-01-03
20:57
Update copyright file: [5cac4e97a2] check-in: [cfd374b906] user: js, branch: trunk, size: 28152 [annotate] [blame] [check-ins using] [diff]
2014-09-03
22:22
Add OFRIPEMD160Hash file: [16ac58a660] check-in: [126d9d3aa1] user: js, branch: trunk, size: 28146 [annotate] [blame] [check-ins using] [diff]
15:46
Add OFSHA384Hash and OFSHA512Hash file: [e90af9bc53] check-in: [23f6c0f84d] user: js, branch: trunk, size: 28028 [annotate] [blame] [check-ins using] [diff]
2014-09-01
23:42
Add OFSHA224Hash

This creates a common base for OFSHA224Hash and OFSHA256Hash so that all
code (except the different initialization constants) is reused. file: [12160603c8] check-in: [a1931f59a2] user: js, branch: trunk, size: 27644 [annotate] [blame] [check-ins using] [diff]

11:08
Add OFSHA256Hash

Took me some time to figure out the RFC is buggy and SSIG0(t-15) should
be SSIG0(W(t-15))... file: [c1024c04d0] check-in: [46af1252a5] user: js, branch: trunk, size: 27511 [annotate] [blame] [check-ins using] [diff]

2014-07-07
22:05
Add OFUnknownXMLEntityException

Additionally, OFXMLParser now uses OFMalformedXMLException instead of
OFInvalidFormatException on invalid entities. file: [08a115e708] check-in: [6e5a920567] user: js, branch: trunk, size: 27364 [annotate] [blame] [check-ins using] [diff]

2014-07-06
11:04
OFString+URLEncoding.m: Better RFC 1738 compliance file: [52259e231b] check-in: [2ca121fd19] user: js, branch: trunk, size: 27328 [annotate] [blame] [check-ins using] [diff]
2014-05-15
15:17
Don't embed directives within macro arguments

This is undefined behavior. file: [3e77d0dde3] check-in: [0d37286ccb] user: js, branch: trunk, size: 27328 [annotate] [blame] [check-ins using] [diff]

2014-04-14
00:45
Coding style

No functional change intended. file: [aef3727a76] check-in: [9da9b2b64c] user: js, branch: trunk, size: 27270 [annotate] [blame] [check-ins using] [diff]

2014-01-19
14:17
Add Unicode -> Codepage 437 conversion. file: [8c5b4654b9] check-in: [e66defc073] user: js, branch: trunk, size: 27271 [annotate] [blame] [check-ins using] [diff]
14:10
Clean up Unicode -> * conversions. file: [da479fb931] check-in: [7c26551b67] user: js, branch: trunk, size: 26703 [annotate] [blame] [check-ins using] [diff]
2014-01-17
03:12
Add -[OFString lossyCStringWithEncoding:]. file: [b2e299ece7] check-in: [1b0a5cf829] user: js, branch: trunk, size: 26633 [annotate] [blame] [check-ins using] [diff]
2014-01-09
00:01
Add --disable-files configure flag. file: [d490274d6f] check-in: [f89edd8ed9] user: js, branch: trunk, size: 24409 [annotate] [blame] [check-ins using] [diff]
2014-01-04
00:24
Update copyright. file: [652e00facf] check-in: [3b97fc3cd9] user: js, branch: trunk, size: 24381 [annotate] [blame] [check-ins using] [diff]
2013-12-01
02:08
Port to DOS/DJGPP.

The port was much easier than expected. The only changes that were
required were defining the missing lrint() and useconds_t, the rest was
optional (like using backslashes for paths, even though slashes work
fine). file: [14295c4581] check-in: [a0b63a8df4] user: js, branch: trunk, size: 24375 [annotate] [blame] [check-ins using] [diff]

2013-10-30
00:09
OFStringTests: Fix a path test on Win32. file: [fe0644a99a] check-in: [7561b9244e] user: js, branch: trunk, size: 24278 [annotate] [blame] [check-ins using] [diff]
2013-09-17
16:12
Work around Android bugs.

Includes:
* Check environ against NULL before using it, since Android sets it to
NULL.
* Cast st_size of struct stat to off_t. Android uses long long for
st_size as its off_t is only 32 bit, but st_size should be off_t
according to POSIX.
* Android's strtod() does not accept 0x, as specified by C99. Thus,
the test is disabled if __ANDROID__ is defined. file: [3c7c95496c] check-in: [c5e7dd679b] user: js, branch: trunk, size: 24162 [annotate] [blame] [check-ins using] [diff]

2013-08-25
21:16
Add -[OFString pathExtension]. file: [b0a9478f37] check-in: [37dc5d933f] user: js, branch: trunk, size: 24022 [annotate] [blame] [check-ins using] [diff]
20:59
Add -[OFString stringByDeletingPathExtension]. file: [c46f51d6d5] check-in: [0222de872b] user: js, branch: trunk, size: 23776 [annotate] [blame] [check-ins using] [diff]
2013-08-14
19:17
+[stringWithPath:] -> +[pathWithComponents:].

This removes -[initWithPath:,...], so that it's finally possible to use
-[initWithPath:] for many places where a workaround like
-[initWithDirectoryPath:] was required before. file: [a5ba78df50] check-in: [7c4179ab9b] user: js, branch: trunk, size: 23218 [annotate] [blame] [check-ins using] [diff]

2013-07-04
20:49
Fix -[replaceCharactersInRange:withString:].

The resizing is now done before the memmove() if the new string is
bigger and after the memmove() if the new string is shorter. The added
comment explains why this is necessary.

This also adds a test for -[replaceCharactersInRange:withString:] that
makes the string bigger and another one that makes it smaller again. file: [fbc369ef09] check-in: [4d892e0db1] user: js, branch: trunk, size: 23140 [annotate] [blame] [check-ins using] [diff]

2013-06-22
12:12
Rework exceptions.

This mostly removes the argument for the class in which the exception
occurred. As backtraces were recently added for all platforms, the
passed class does not give any extra information on where the exception
occurred anymore.

This also removes a few other arguments which were not too helpful. In
the past, the idea was to pass as many arguments as possible so that it
is easier to find the origin of the exception. However, as backtraces
are a much better way to find the origin, those are not useful anymore
and just make the exception more cumbersome to use. The rule is now to
only pass arguments that might help in recovering from the exception or
provide information that is otherwise not easily accessible. file: [a5554c7700] check-in: [3d16a30f41] user: js, branch: trunk, size: 23010 [annotate] [blame] [check-ins using] [diff]

2013-03-04
17:20
Replace BOOL with bool.

The only places where BOOL is left are those where they are required by
the ABI. file: [5f1c00ddf1] check-in: [c5ef582958] user: js, branch: trunk, size: 23025 [annotate] [blame] [check-ins using] [diff]

2013-01-11
12:13
Add -[OFMutableString appendCharacters:length:]. file: [61ef4cadec] check-in: [beb9051a10] user: js, branch: trunk, size: 23011 [annotate] [blame] [check-ins using] [diff]
2013-01-09
22:24
Update copyright. file: [9c36134f55] check-in: [813c00ccf0] user: js, branch: trunk, size: 22875 [annotate] [blame] [check-ins using] [diff]
2013-01-08
12:33
OFString: Add methods for UTF-32. file: [1701ed672c] check-in: [7cddd5f891] user: js, branch: trunk, size: 22869 [annotate] [blame] [check-ins using] [diff]
2013-01-07
22:07
OFString: Zero-terminate UTF-16 strings.

This partly reverts e8502c7.

The rationale behind this is that, on some OSes, native APIs (on e.g.
Windows) take UTF-16 strings that are zero-terminated.

However, forcing zero-termination for every string so that -[characters]
returns a zero-terminated UTF-32 string does not make sense. Therefore,
in the future, -[UTF32String] will be added, which will include
zero-termination. OFString subclasses can then just return their
internal representation if it includes a terminating zero or create a
copy that has a terminating zero if not. file: [7f9159fd57] check-in: [9d3cd5e5fe] user: js, branch: trunk, size: 22619 [annotate] [blame] [check-ins using] [diff]

13:35
Improve API for UTF-16 strings. file: [101fcea2a5] check-in: [02ca89285f] user: js, branch: trunk, size: 22745 [annotate] [blame] [check-ins using] [diff]
2012-12-29
17:56
OFString: Improve API for Unicode strings.

* Instead of Unicode "strings", it uses the term "Unicode character
array".
* No terminating 0 character anymore, as these are not C strings
anyway. file: [e613d6ae06] check-in: [640b225ba7] user: js, branch: trunk, size: 22493 [annotate] [blame] [check-ins using] [diff]

2012-12-06
00:14
Improve -[hash] of OFNumber and OFObject. file: [bb5fb35102] check-in: [ac51f5f0cf] user: js, branch: trunk, size: 22277 [annotate] [blame] [check-ins using] [diff]
2012-10-16
14:47
A few more API improvements.

This should make it more future-proof, as adding new options is easier
than adding new methods for each and every combination of options. file: [7769c4140e] check-in: [fcaa549324] user: js, branch: trunk, size: 22277 [annotate] [blame] [check-ins using] [diff]

2012-10-14
00:59
OF_INVALID_INDEX -> OF_NOT_FOUND. file: [8d7d5918e5] check-in: [f38744df74] user: js, branch: trunk, size: 22244 [annotate] [blame] [check-ins using] [diff]
00:54
range.start -> range.location. file: [42e3523e42] check-in: [c9433ea60d] user: js, branch: trunk, size: 22252 [annotate] [blame] [check-ins using] [diff]
2012-10-13
20:02
indexOfFirstOccurrenceOfString -> rangeOfString. file: [6fb7a36b8d] check-in: [5209390938] user: js, branch: trunk, size: 22228 [annotate] [blame] [check-ins using] [diff]
18:51
Rename -[appendUTF8String:withLength:]. file: [129c465da1] check-in: [e5b31cf72f] user: js, branch: trunk, size: 22202 [annotate] [blame] [check-ins using] [diff]
2012-10-09
15:07
Make use of instancetype. file: [ea0a5564ab] check-in: [fb515e8e24] user: js, branch: trunk, size: 22206 [annotate] [blame] [check-ins using] [diff]
2012-10-03
15:41
Move definition of restricted to OFObject.h. file: [bea59f49f7] check-in: [7239333455] user: js, branch: trunk, size: 22225 [annotate] [blame] [check-ins using] [diff]
2012-07-12
19:39
Add a test for -[capitalizedString]. file: [12bf7dfb21] check-in: [a0a579e290] user: js, branch: trunk, size: 22205 [annotate] [blame] [check-ins using] [diff]
2012-07-04
22:50
Rename -[{upper,lower}] to -[{upper,lower}case]. file: [49a0aabf35] check-in: [8e995a13e7] user: js, branch: trunk, size: 22094 [annotate] [blame] [check-ins using] [diff]
2012-02-27
12:25
Add -[OFString componentsSeparatedByString:skipEmpty:]. file: [662f8e8a22] check-in: [c007c0d4f7] user: js, branch: trunk, size: 22056 [annotate] [blame] [check-ins using] [diff]
2012-01-31
18:59
Add -[OFMutableString replaceOccurrencesOfString:withString:inRange:]. file: [3cd3c8ef1d] check-in: [e5fe02de61] user: js, branch: trunk, size: 21705 [annotate] [blame] [check-ins using] [diff]
15:16
Remove useless checks. file: [99e29fe6af] check-in: [f68b3b300d] user: js, branch: trunk, size: 21400 [annotate] [blame] [check-ins using] [diff]
2012-01-05
00:56
Update copyright. file: [00960fc024] check-in: [ce70e17b38] user: js, branch: trunk, size: 21382 [annotate] [blame] [check-ins using] [diff]
2012-01-03
20:44
Don't use objc_setUncaughtExceptionHandler with the old Apple runtime. file: [1272a73410] check-in: [138d928621] user: js, branch: trunk, size: 21376 [annotate] [blame] [check-ins using] [diff]
2011-11-21
16:47
There is no need to hash 32 bit per character if Unicode has only 24. file: [7ac7e75e9c] check-in: [d8a6ca3fbd] user: js, branch: trunk, size: 21376 [annotate] [blame] [check-ins using] [diff]
2011-11-20
18:41
Make OFString a class cluster.

It is a class cluster now, but there is still much to improve. file: [6206f4255c] check-in: [301ee63212] user: js, branch: trunk, size: 21376 [annotate] [blame] [check-ins using] [diff]

2011-10-31
22:02
Add -[UTF16String] to OFString. file: [9ef8e91ce4] check-in: [a51b3cb390] user: js, branch: trunk, size: 20934 [annotate] [blame] [check-ins using] [diff]
21:20
Don't prepend a BOM when using -[unicodeString]. file: [4c3630eafa] check-in: [dcf50eb53a] user: js, branch: trunk, size: 20664 [annotate] [blame] [check-ins using] [diff]
21:19
Fix a missing const in tests. file: [9f38334afc] check-in: [3dc09e8fac] user: js, branch: trunk, size: 20648 [annotate] [blame] [check-ins using] [diff]
2011-10-28
18:02
Add a test for -[OFString enumerateLinesUsingBlock:]. file: [3eba69945b] check-in: [db5cdde5db] user: js, branch: trunk, size: 20642 [annotate] [blame] [check-ins using] [diff]
2011-09-12
19:57
Rename -[cString] to -[UTF8String]. file: [8f7079d7f6] check-in: [e6fd39d11e] user: js, branch: trunk, size: 20186 [annotate] [blame] [check-ins using] [diff]
2011-08-04
16:48
Get rid of -[*FromIndex:toIndex:]. file: [570caa0b7f] check-in: [f977192a23] user: js, branch: trunk, size: 20138 [annotate] [blame] [check-ins using] [diff]
2011-08-03
16:25
Fix a few OFString tests. file: [d0b2683202] check-in: [2b9408a2a5] user: js, branch: 0.5, size: 19826 [annotate] [blame] [check-ins using] [diff]
16:25
Fix a few OFString tests. file: [eb8775f0d6] check-in: [cc93f51348] user: js, branch: trunk, size: 20911 [annotate] [blame] [check-ins using] [diff]
2011-07-08
20:13
Rename -[deleteLeadingAndTrailingWhitespaces]. file: [5ba4a302f9] check-in: [7c66260ead] user: js, branch: trunk, size: 20278 [annotate] [blame] [check-ins using] [diff]
2011-06-05
20:45
Add -[stringByPrependingString:] to OFString. file: [b6b68a3700] check-in: [5b7d19e956] user: js, branch: trunk, size: 20315 [annotate] [blame] [check-ins using] [diff]
2011-06-04
18:07
Add missing include for old GNU runtime. file: [4c36d5a581] check-in: [c53d58fef3] user: js, branch: trunk, size: 20206 [annotate] [blame] [check-ins using] [diff]
2011-05-14
23:52
Add -[stringWithUTF16String:] to OFString. file: [60a07bdb13] check-in: [ec666ede07] user: js, branch: trunk, size: 20205 [annotate] [blame] [check-ins using] [diff]
2011-05-01
23:58
Autorelease the return value of -[unicodeString] and include a BOM. file: [24fef6ba66] check-in: [7b7250a0ba] user: js, branch: trunk, size: 19762 [annotate] [blame] [check-ins using] [diff]
00:35
Add +[OFString stringWithUnicodeString:]. file: [ae603ec4d9] check-in: [e2bbfb45d0] user: js, branch: trunk, size: 19768 [annotate] [blame] [check-ins using] [diff]
2011-04-25
17:17
Skip possible BOMs in OFMutableString. file: [ac5088ce3b] check-in: [810b0028ed] user: js, branch: 0.5, size: 19193 [annotate] [blame] [check-ins using] [diff]
17:14
Skip possible BOMs in OFMutableString. file: [4e36bc7a86] check-in: [7aefcd5ede] user: js, branch: trunk, size: 19386 [annotate] [blame] [check-ins using] [diff]
2011-04-23
14:46
Add -[uppercaseString] and -[lowercaseString] to OFString. file: [3439386043] check-in: [becb4c9b86] user: js, branch: trunk, size: 19371 [annotate] [blame] [check-ins using] [diff]
2011-03-29
19:22
Use a value in the -[doubleValue] test that only fits into a double. file: [f41872f1e2] check-in: [b9803c90d0] user: js, branch: trunk, size: 19178 [annotate] [blame] [check-ins using] [diff]
19:03
Add -[floatValue] and -[doubleValue]. file: [c949c30655] check-in: [9c59bc9aee] user: js, branch: trunk, size: 19185 [annotate] [blame] [check-ins using] [diff]
18:20
Ignore leading and trailing whitespaces in -[(hexa)decimalValue]. file: [65c18fe8c4] check-in: [e0a8e01190] user: js, branch: trunk, size: 17962 [annotate] [blame] [check-ins using] [diff]
2011-03-24
19:42
Get rid of OFExceptions.h. file: [2602b81521] check-in: [cda44767f4] user: js, branch: trunk, size: 17682 [annotate] [blame] [check-ins using] [diff]
2011-03-23
13:05
Use OF_INVALID_INDEX instead of SIZE_MAX. file: [7495b7a6ca] check-in: [a252dc5c69] user: js, branch: trunk, size: 17557 [annotate] [blame] [check-ins using] [diff]
2011-03-22
20:57
Rename remove to delete in OFMutableString. file: [8d7cb5a07c] check-in: [c9e2f6b548] user: js, branch: trunk, size: 17541 [annotate] [blame] [check-ins using] [diff]
13:10
Move path methods from OFFile to OFString. file: [bb6dd3680d] check-in: [67e7d1e222] user: js, branch: trunk, size: 17540 [annotate] [blame] [check-ins using] [diff]
2011-02-17
18:29
Add -[stringWithContentsOfURL:encoding:]. file: [77a4fe93c0] check-in: [d932adccc3] user: js, branch: trunk, size: 15634 [annotate] [blame] [check-ins using] [diff]
2011-02-01
20:58
Use OFInvalidFormatException for -[(hexa)decimalValue] on bad strings. file: [7424fc4c5b] check-in: [58a082efe4] user: js, branch: trunk, size: 15382 [annotate] [blame] [check-ins using] [diff]
15:55
Add missing files to .xcodeproj and adjust tests. file: [64f535dbb6] check-in: [eb260acec9] user: js, branch: trunk, size: 15392 [annotate] [blame] [check-ins using] [diff]
2011-01-15
18:03
Allow + as prefix in -[OFString decimalValue]. file: [f983422e61] check-in: [11c7661a42] user: js, branch: trunk, size: 15394 [annotate] [blame] [check-ins using] [diff]
2011-01-01
20:19
Change license. file: [5d85ec7796] check-in: [da6b3d26cb] user: js, branch: trunk, size: 15356 [annotate] [blame] [check-ins using] [diff]
2010-12-29
12:49
Allow hexadecimal values with h suffix in -[hexadecimalValue]. file: [e02f931b13] check-in: [eb328c80df] user: js, branch: trunk, size: 15100 [annotate] [blame] [check-ins using] [diff]
2010-12-13
22:36
Rename -[decimalValueAsInteger] to -[decimalValue]. file: [860575542d] check-in: [7564bf4445] user: js, branch: trunk, size: 15058 [annotate] [blame] [check-ins using] [diff]
2010-11-13
21:57
Add -[description] for OFObject, OFString, OFArray and OFDictionary. file: [0feeee8df5] check-in: [9b50b86632] user: js, branch: trunk, size: 15317 [annotate] [blame] [check-ins using] [diff]
2010-11-11
20:52
Ignore BOM at start of string. file: [5c859eec81] check-in: [1e7e237e6e] user: js, branch: trunk, size: 15255 [annotate] [blame] [check-ins using] [diff]
2010-10-24
22:32
Add -[OFMutableString insertString:atIndex:]. file: [eb03c62ab2] check-in: [e9db0f7013] user: js, branch: trunk, size: 15240 [annotate] [blame] [check-ins using] [diff]
22:12
Add -[OFMutableString replaceCharactersFromIndex:toIndex:withString:]. file: [1aeb17e075] check-in: [3f14a43fbf] user: js, branch: trunk, size: 15026 [annotate] [blame] [check-ins using] [diff]
13:30
Always write abbreviations uppercase in method names. file: [4069c78118] check-in: [1d19a5586b] user: js, branch: trunk, size: 14628 [annotate] [blame] [check-ins using] [diff]
2010-10-21
20:01
Make sure Jenkins' hash always interprets the byte as unsigned. file: [c0a35cb08c] check-in: [2552db2c1c] user: js, branch: trunk, size: 14628 [annotate] [blame] [check-ins using] [diff]
2010-09-26
14:40
Add -[stringByXMLUnescapingWithBlock:]. file: [b9c183a61f] check-in: [76903ee63f] user: js, branch: trunk, size: 14628 [annotate] [blame] [check-ins using] [diff]
2010-09-19
22:59
Optimize handling of ASCII strings. file: [f13f57a01e] check-in: [f9ed4c1d11] user: js, branch: trunk, size: 14340 [annotate] [blame] [check-ins using] [diff]
22:35
Add -[unicodeString] to OFString. file: [ae4138d157] check-in: [b5f0fc343d] user: js, branch: trunk, size: 14201 [annotate] [blame] [check-ins using] [diff]
2010-06-16
19:54
Rename a methods in OFXMLParserDelegate and add -[parser:foundCDATA]. file: [d62d62cd6e] check-in: [c53d661daf] user: js, branch: trunk, size: 13938 [annotate] [blame] [check-ins using] [diff]
2010-06-12
20:47
Move a few classes and categories so they have their own files. file: [db370d10b8] check-in: [67917b918a] user: js, branch: trunk, size: 13905 [annotate] [blame] [check-ins using] [diff]
19:47
Several OFXMLParser improvements. See details.

* found* renamed to didFind*.
* Support for parsing CDATA.
* Handle comments with - correctly.
* Don't strip leading and trailing whitespaces in comments.
* Rename a few states for more clarity.
* More OFXMLParser tests. file: [b8a81af19d] check-in: [9d79d92d9a] user: js, branch: trunk, size: 13899 [annotate] [blame] [check-ins using] [diff]

2010-04-17
15:46
Don't return self where not necessary, return void or something useful. file: [de363dd9e3] check-in: [062a052b50] user: js, branch: trunk, size: 13897 [annotate] [blame] [check-ins using] [diff]
2010-04-11
18:04
Fix +[stringWithPath:] test on Win32 (it's \ there, not /!). file: [ef1e54d79a] check-in: [0bde0871bc] user: js, branch: trunk, size: 13640 [annotate] [blame] [check-ins using] [diff]
02:49
Add +[stringWithContentsOfFile:] to OFString. file: [b29e32f526] check-in: [c7630df319] user: js, branch: trunk, size: 13638 [annotate] [blame] [check-ins using] [diff]
2010-04-10
23:52
Add +[stringWithPath:] to OFString. file: [0740a8d2f7] check-in: [48190e2a91] user: js, branch: trunk, size: 13437 [annotate] [blame] [check-ins using] [diff]
2010-04-07
21:06
Added: Rename tests files so they are named after the category they implement. file: [ac7e540eac] check-in: [7bbce47bda] user: js, branch: trunk, size: 13144 [annotate] [blame] [check-ins using]