Differences From Artifact [7ea6705870]:
- File tests/OFINIFileTests.m — part of check-in [cd0a632472] at 2014-04-27 19:34:42 on branch trunk — Initial Nintendo DS port (user: js, size: 3094) [annotate] [blame] [check-ins using]
To Artifact [556f5814fc]:
- File
tests/OFINIFileTests.m
— part of check-in
[12c5b7ee91]
at
2014-06-12 13:43:41
on branch trunk
— OFINIFile: Add support for quoted keys / values
This is a much more logical way to handle leading and trailing
whitespaces and also seems to be used by a few other INI
implementations.Additionally, this imports OFINICategory.h in OFINIFile.h so that
importing OFINIFile.h is enough - this should be less confusing - and
allows opening non-existant files, treating them like an empty file. (user: js, size: 3338) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
40 41 42 43 44 45 46 | @"foo=baz" NL @"foobar=baz" NL @";comment" NL @"new=new" NL NL @"[foobar]" NL @";foobarcomment" NL | | > > | > > > > | 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | @"foo=baz" NL @"foobar=baz" NL @";comment" NL @"new=new" NL NL @"[foobar]" NL @";foobarcomment" NL @"qux=\" asd\"" NL @"quxquxqux=\"hello\\\"world\"" NL @"qux2=\"\\f\"" NL NL @"[types]" NL @"integer=16" NL @"bool=false" NL @"float=0.25" NL @"double=0.75" NL; OFINIFile *file; OFINICategory *category; TEST(@"+[fileWithPath:]", (file = [OFINIFile fileWithPath: @"testfile.ini"])) TEST(@"-[categoryForName:]", (category = [file categoryForName: @"tests"])) module = @"OFINICategory"; TEST(@"-[stringForKey:]", [[category stringForKey: @"foo"] isEqual: @"bar"] && (category = [file categoryForName: @"foobar"]) && [[category stringForKey: @"quxquxqux"] isEqual: @"hello\"world"]) category = [file categoryForName: @"tests"]; TEST(@"-[setString:forKey:]", R([category setString: @"baz" forKey: @"foo"]) && R([category setString: @"new" forKey: @"new"])) |
︙ | ︙ | |||
100 101 102 103 104 105 106 | TEST(@"-[setDouble:forKey:]", R([category setDouble: 0.75 forKey: @"double"])) category = [file categoryForName: @"foobar"]; TEST(@"-[removeValueForKey:]", | | | 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | TEST(@"-[setDouble:forKey:]", R([category setDouble: 0.75 forKey: @"double"])) category = [file categoryForName: @"foobar"]; TEST(@"-[removeValueForKey:]", R([category removeValueForKey: @"quxqux "])) module = @"OFINIFile"; /* FIXME: Find a way to write files on Nintendo DS */ #ifndef OF_NINTENDO_DS TEST(@"-[writeToFile:]", R([file writeToFile: @"tmpfile.ini"]) && [[OFString stringWithContentsOfFile: @"tmpfile.ini"] |
︙ | ︙ |