ObjFW  Diff

Differences From Artifact [edfee9097f]:

To Artifact [91b2a5e4f6]:


39
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
39
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







-
+




-
+




-
-
-
+
+
+







	    @"[types]\r\n"
	    @"integer=16\r\n"
	    @"bool=false\r\n"
	    @"float=0.25\r\n"
	    @"array1=foo\r\n"
	    @"array1=bar\r\n"
	    @"double=0.75\r\n";
	OFURL *URL;
	OFURI *URI;
	OFINIFile *file;
	OFINICategory *tests, *foobar, *types;
	OFArray *array;
#if defined(OF_HAVE_FILES) && !defined(OF_NINTENDO_DS)
	OFURL *writeURL;
	OFURI *writeURI;
#endif

	module = @"OFINIFile";

	URL = [OFURL URLWithString: @"objfw-embedded:///testfile.ini"];
	TEST(@"+[fileWithURL:encoding:]",
	    (file = [OFINIFile fileWithURL: URL
	URI = [OFURI URIWithString: @"objfw-embedded:///testfile.ini"];
	TEST(@"+[fileWithURI:encoding:]",
	    (file = [OFINIFile fileWithURI: URI
				  encoding: OFStringEncodingCodepage437]))

	tests = [file categoryForName: @"tests"];
	foobar = [file categoryForName: @"foobar"];
	types = [file categoryForName: @"types"];
	TEST(@"-[categoryForName:]",
	    tests != nil && foobar != nil && types != nil)
112
113
114
115
116
117
118
119
120


121
122
123

124
125

126
127
128

129
130
131
132
133
134
135
112
113
114
115
116
117
118


119
120
121
122

123
124

125
126
127

128
129
130
131
132
133
134
135







-
-
+
+


-
+

-
+


-
+







	    R([foobar removeValueForKey: @"quxqux "]) &&
	    R([types removeValueForKey: @"array2"]))

	module = @"OFINIFile";

	/* FIXME: Find a way to write files on Nintendo DS */
#if defined(OF_HAVE_FILES) && !defined(OF_NINTENDO_DS)
	writeURL = [[OFSystemInfo temporaryDirectoryURL]
	    URLByAppendingPathComponent: @"objfw-tests.ini"
	writeURI = [[OFSystemInfo temporaryDirectoryURI]
	    URIByAppendingPathComponent: @"objfw-tests.ini"
			    isDirectory: false];
	TEST(@"-[writeToFile:encoding:]",
	    R([file writeToURL: writeURL
	    R([file writeToURI: writeURI
		      encoding: OFStringEncodingCodepage437]) &&
	    [[OFString stringWithContentsOfURL: writeURL
	    [[OFString stringWithContentsOfURI: writeURI
				      encoding: OFStringEncodingCodepage437]
	    isEqual: output])
	[[OFFileManager defaultManager] removeItemAtURL: writeURL];
	[[OFFileManager defaultManager] removeItemAtURI: writeURI];
#else
	(void)output;
#endif

	objc_autoreleasePoolPop(pool);
}
@end