This repository has been archived by the owner on May 24, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
/
_n_i_core_addition_tests_8m_source.html
303 lines (285 loc) · 26 KB
/
_n_i_core_addition_tests_8m_source.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Nimbus: /Users/featherless/workbench/ios/nimbus/src/core/unittests/NICoreAdditionTests.m Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="stylesheet.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-24278774-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body>
<div id="page">
<div style="position:relative">
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<a style="float: right;margin-right:20px;margin-top:20px" href='http://www.pledgie.com/campaigns/15519'><img alt='Click here to support Nimbus development and make a donation at www.pledgie.com !' src='http://www.pledgie.com/campaigns/15519.png?skin_name=chrome' border='0' /></a>
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">Nimbus
 <span id="projectnumber">0.5.0 - <a href="http://github.com/jverkoey/nimbus">Nimbus is proudly hosted on Github</a></span>
</div>
<div id="projectbrief">An iOS framework whose growth is bounded by O(documentation).</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.4-20110629 -->
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
initNavTree('_n_i_core_addition_tests_8m.html','');
</script>
<div id="doc-content">
<div class="header">
<div class="headertitle">
<div class="title">/Users/featherless/workbench/ios/nimbus/src/core/unittests/NICoreAdditionTests.m</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//</span>
<a name="l00002"></a>00002 <span class="comment">// Copyright 2011 Jeff Verkoeyen</span>
<a name="l00003"></a>00003 <span class="comment">//</span>
<a name="l00004"></a>00004 <span class="comment">// Forked from Three20 June 10, 2011 - Copyright 2009-2011 Facebook</span>
<a name="l00005"></a>00005 <span class="comment">//</span>
<a name="l00006"></a>00006 <span class="comment">// Licensed under the Apache License, Version 2.0 (the "License");</span>
<a name="l00007"></a>00007 <span class="comment">// you may not use this file except in compliance with the License.</span>
<a name="l00008"></a>00008 <span class="comment">// You may obtain a copy of the License at</span>
<a name="l00009"></a>00009 <span class="comment">//</span>
<a name="l00010"></a>00010 <span class="comment">// http://www.apache.org/licenses/LICENSE-2.0</span>
<a name="l00011"></a>00011 <span class="comment">//</span>
<a name="l00012"></a>00012 <span class="comment">// Unless required by applicable law or agreed to in writing, software</span>
<a name="l00013"></a>00013 <span class="comment">// distributed under the License is distributed on an "AS IS" BASIS,</span>
<a name="l00014"></a>00014 <span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
<a name="l00015"></a>00015 <span class="comment">// See the License for the specific language governing permissions and</span>
<a name="l00016"></a>00016 <span class="comment">// limitations under the License.</span>
<a name="l00017"></a>00017 <span class="comment">//</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="comment">// See: http://bit.ly/hS5nNh for unit test macros.</span>
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="preprocessor">#import <SenTestingKit/SenTestingKit.h></span>
<a name="l00022"></a>00022
<a name="l00023"></a>00023 <span class="preprocessor">#import "NimbusCore/NimbusCore+Additions.h"</span>
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="keyword">@interface </span>NimbusCoreAdditionTests : SenTestCase {
<a name="l00026"></a>00026 }
<a name="l00027"></a>00027
<a name="l00028"></a>00028 <span class="keyword">@end</span>
<a name="l00029"></a>00029
<a name="l00030"></a>00030
<a name="l00034"></a>00034 <span class="keyword">@implementation </span>NimbusCoreAdditionTests
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00039"></a>00039 <span class="preprocessor">#pragma mark -</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#pragma mark NSData Additions</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span>
<a name="l00042"></a>00042
<a name="l00044"></a>00044 - (void)testNSData_md5Hash {
<a name="l00045"></a>00045 <span class="keyword">const</span> <span class="keywordtype">char</span>* bytes = <span class="stringliteral">"nimbus"</span>;
<a name="l00046"></a>00046 <a class="code" href="class_n_s_data.html" title="For hashing raw data.">NSData</a>* data = [[<a class="code" href="class_n_s_data.html" title="For hashing raw data.">NSData</a> alloc] initWithBytes:bytes length:strlen(bytes)];
<a name="l00047"></a>00047
<a name="l00048"></a>00048 STAssertTrue([[data md5Hash] isEqualToString:<span class="stringliteral">@"0e78d66f33c484a3c3b36d69bd3114cf"</span>],
<a name="l00049"></a>00049 <span class="stringliteral">@"MD5 hashes don't match."</span>);
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <a class="code" href="group___preprocessor-_macros.html#ga5d2e99251aeb3ddb687e27f72336e5db" title="Release and assign nil to an object.">NI_RELEASE_SAFELY</a>(data);
<a name="l00052"></a>00052 }
<a name="l00053"></a>00053
<a name="l00054"></a>00054
<a name="l00056"></a>00056 - (void)testNSData_sha1Hash {
<a name="l00057"></a>00057 <span class="keyword">const</span> <span class="keywordtype">char</span>* bytes = <span class="stringliteral">"nimbus"</span>;
<a name="l00058"></a>00058 <a class="code" href="class_n_s_data.html" title="For hashing raw data.">NSData</a>* data = [[<a class="code" href="class_n_s_data.html" title="For hashing raw data.">NSData</a> alloc] initWithBytes:bytes length:strlen(bytes)];
<a name="l00059"></a>00059
<a name="l00060"></a>00060 STAssertTrue([[data sha1Hash] isEqualToString:<span class="stringliteral">@"c1b42d95fd18ad8a56d4fd7bbb4105952620d857"</span>],
<a name="l00061"></a>00061 <span class="stringliteral">@"SHA1 hashes don't match."</span>);
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <a class="code" href="group___preprocessor-_macros.html#ga5d2e99251aeb3ddb687e27f72336e5db" title="Release and assign nil to an object.">NI_RELEASE_SAFELY</a>(data);
<a name="l00064"></a>00064 }
<a name="l00065"></a>00065
<a name="l00066"></a>00066
<a name="l00069"></a>00069 <span class="preprocessor">#pragma mark -</span>
<a name="l00070"></a>00070 <span class="preprocessor"></span><span class="preprocessor">#pragma mark NSString Additions</span>
<a name="l00071"></a>00071 <span class="preprocessor"></span>
<a name="l00072"></a>00072
<a name="l00074"></a>00074 - (void)testNSString_isWhitespace {
<a name="l00075"></a>00075 <span class="comment">// From the Apple docs:</span>
<a name="l00076"></a>00076 <span class="comment">// Returns a character set containing only the whitespace characters space (U+0020) and tab</span>
<a name="l00077"></a>00077 <span class="comment">// (U+0009) and the newline and nextline characters (U+000A–U+000D, U+0085).</span>
<a name="l00078"></a>00078 STAssertTrue([<span class="stringliteral">@""</span> isWhitespaceAndNewlines], <span class="stringliteral">@"Empty string should be whitespace."</span>);
<a name="l00079"></a>00079 STAssertTrue([<span class="stringliteral">@" "</span> isWhitespaceAndNewlines], <span class="stringliteral">@"Space character should be whitespace."</span>);
<a name="l00080"></a>00080 STAssertTrue([<span class="stringliteral">@"\t"</span> isWhitespaceAndNewlines], <span class="stringliteral">@"Tab character should be whitespace."</span>);
<a name="l00081"></a>00081 STAssertTrue([<span class="stringliteral">@"\n"</span> isWhitespaceAndNewlines], <span class="stringliteral">@"Newline character should be whitespace."</span>);
<a name="l00082"></a>00082 STAssertTrue([<span class="stringliteral">@"\r"</span> isWhitespaceAndNewlines], <span class="stringliteral">@"Carriage return character should be whitespace."</span>);
<a name="l00083"></a>00083
<a name="l00084"></a>00084 <span class="comment">// Unicode whitespace</span>
<a name="l00085"></a>00085 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> unicode = 0x000A; unicode <= 0x000D; ++unicode) {
<a name="l00086"></a>00086 <a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a>* str = [<a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> stringWithFormat:@"%C", unicode];
<a name="l00087"></a>00087 STAssertTrue([str isWhitespaceAndNewlines],
<a name="l00088"></a>00088 <span class="stringliteral">@"Unicode string #%X should be whitespace."</span>, unicode);
<a name="l00089"></a>00089 }
<a name="l00090"></a>00090
<a name="l00091"></a>00091 <a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a>* str = [<a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> stringWithFormat:@"%C", 0x0085];
<a name="l00092"></a>00092 STAssertTrue([str isWhitespaceAndNewlines], <span class="stringliteral">@"Unicode string should be whitespace."</span>);
<a name="l00093"></a>00093
<a name="l00094"></a>00094 STAssertTrue([<span class="stringliteral">@" \t\r\n"</span> isWhitespaceAndNewlines], <span class="stringliteral">@"Empty string should be whitespace."</span>);
<a name="l00095"></a>00095
<a name="l00096"></a>00096 STAssertTrue(![<span class="stringliteral">@"a"</span> isWhitespaceAndNewlines], <span class="stringliteral">@"Text should not be whitespace."</span>);
<a name="l00097"></a>00097 STAssertTrue(![<span class="stringliteral">@" \r\n\ta\r\n "</span> isWhitespaceAndNewlines], <span class="stringliteral">@"Text should not be whitespace."</span>);
<a name="l00098"></a>00098 }
<a name="l00099"></a>00099
<a name="l00100"></a>00100
<a name="l00102"></a>00102 - (void)testNSString_queryContentsUsingEncoding {
<a name="l00103"></a>00103 NSDictionary* query;
<a name="l00104"></a>00104
<a name="l00105"></a>00105 query = [@"" queryContentsUsingEncoding:NSUTF8StringEncoding];
<a name="l00106"></a>00106 STAssertTrue([query count] == 0, <span class="stringliteral">@"Query: %@"</span>, query);
<a name="l00107"></a>00107
<a name="l00108"></a>00108 query = [@"q" queryContentsUsingEncoding:NSUTF8StringEncoding];
<a name="l00109"></a>00109 STAssertTrue([[query objectForKey:<span class="stringliteral">@"q"</span>] isEqual:[NSArray arrayWithObject:[NSNull null]]],
<a name="l00110"></a>00110 <span class="stringliteral">@"Query: %@"</span>, query);
<a name="l00111"></a>00111
<a name="l00112"></a>00112 query = [@"q=" queryContentsUsingEncoding:NSUTF8StringEncoding];
<a name="l00113"></a>00113 STAssertTrue([[query objectForKey:<span class="stringliteral">@"q"</span>] isEqual:[NSArray arrayWithObject:<span class="stringliteral">@""</span>]],
<a name="l00114"></a>00114 <span class="stringliteral">@"Query: %@"</span>, query);
<a name="l00115"></a>00115
<a name="l00116"></a>00116 query = [@"q=three20" queryContentsUsingEncoding:NSUTF8StringEncoding];
<a name="l00117"></a>00117 STAssertTrue([[query objectForKey:<span class="stringliteral">@"q"</span>] isEqual:[NSArray arrayWithObject:<span class="stringliteral">@"three20"</span>]],
<a name="l00118"></a>00118 <span class="stringliteral">@"Query: %@"</span>, query);
<a name="l00119"></a>00119
<a name="l00120"></a>00120 query = [@"q=three20%20github" queryContentsUsingEncoding:NSUTF8StringEncoding];
<a name="l00121"></a>00121 STAssertTrue([[query objectForKey:<span class="stringliteral">@"q"</span>] isEqual:[NSArray arrayWithObject:<span class="stringliteral">@"three20 github"</span>]],
<a name="l00122"></a>00122 <span class="stringliteral">@"Query: %@"</span>, query);
<a name="l00123"></a>00123
<a name="l00124"></a>00124 query = [@"q=three20&hl=en" queryContentsUsingEncoding:NSUTF8StringEncoding];
<a name="l00125"></a>00125 STAssertTrue([[query objectForKey:<span class="stringliteral">@"q"</span>] isEqual:[NSArray arrayWithObject:<span class="stringliteral">@"three20"</span>]],
<a name="l00126"></a>00126 <span class="stringliteral">@"Query: %@"</span>, query);
<a name="l00127"></a>00127 STAssertTrue([[query objectForKey:<span class="stringliteral">@"hl"</span>] isEqual:[NSArray arrayWithObject:<span class="stringliteral">@"en"</span>]],
<a name="l00128"></a>00128 <span class="stringliteral">@"Query: %@"</span>, query);
<a name="l00129"></a>00129
<a name="l00130"></a>00130 query = [@"q=three20&hl=" queryContentsUsingEncoding:NSUTF8StringEncoding];
<a name="l00131"></a>00131 STAssertTrue([[query objectForKey:<span class="stringliteral">@"q"</span>] isEqual:[NSArray arrayWithObject:<span class="stringliteral">@"three20"</span>]],
<a name="l00132"></a>00132 <span class="stringliteral">@"Query: %@"</span>, query);
<a name="l00133"></a>00133 STAssertTrue([[query objectForKey:<span class="stringliteral">@"hl"</span>] isEqual:[NSArray arrayWithObject:<span class="stringliteral">@""</span>]],
<a name="l00134"></a>00134 <span class="stringliteral">@"Query: %@"</span>, query);
<a name="l00135"></a>00135
<a name="l00136"></a>00136 query = [@"q=&&hl=" queryContentsUsingEncoding:NSUTF8StringEncoding];
<a name="l00137"></a>00137 STAssertTrue([[query objectForKey:<span class="stringliteral">@"q"</span>] isEqual:[NSArray arrayWithObject:<span class="stringliteral">@""</span>]],
<a name="l00138"></a>00138 <span class="stringliteral">@"Query: %@"</span>, query);
<a name="l00139"></a>00139 STAssertTrue([[query objectForKey:<span class="stringliteral">@"hl"</span>] isEqual:[NSArray arrayWithObject:<span class="stringliteral">@""</span>]],
<a name="l00140"></a>00140 <span class="stringliteral">@"Query: %@"</span>, query);
<a name="l00141"></a>00141
<a name="l00142"></a>00142 query = [@"q=three20=repo&hl=en" queryContentsUsingEncoding:NSUTF8StringEncoding];
<a name="l00143"></a>00143 STAssertNil([query objectForKey:<span class="stringliteral">@"q"</span>], <span class="stringliteral">@"Query: %@"</span>, query);
<a name="l00144"></a>00144 STAssertTrue([[query objectForKey:<span class="stringliteral">@"hl"</span>] isEqual:[NSArray arrayWithObject:<span class="stringliteral">@"en"</span>]],
<a name="l00145"></a>00145 <span class="stringliteral">@"Query: %@"</span>, query);
<a name="l00146"></a>00146
<a name="l00147"></a>00147 query = [@"&&" queryContentsUsingEncoding:NSUTF8StringEncoding];
<a name="l00148"></a>00148 STAssertTrue([query count] == 0, <span class="stringliteral">@"Query: %@"</span>, query);
<a name="l00149"></a>00149
<a name="l00150"></a>00150 query = [@"q=foo&q=three20" queryContentsUsingEncoding:NSUTF8StringEncoding];
<a name="l00151"></a>00151 NSArray* qArr = [NSArray arrayWithObjects:@"foo", @"three20", nil];
<a name="l00152"></a>00152 STAssertTrue([[query objectForKey:<span class="stringliteral">@"q"</span>] isEqual:qArr], <span class="stringliteral">@"Query: %@"</span>, query);
<a name="l00153"></a>00153
<a name="l00154"></a>00154 query = [@"q=foo&q=three20&hl=en" queryContentsUsingEncoding:NSUTF8StringEncoding];
<a name="l00155"></a>00155 qArr = [NSArray arrayWithObjects:@"foo", @"three20", nil];
<a name="l00156"></a>00156 STAssertTrue([[query objectForKey:<span class="stringliteral">@"q"</span>] isEqual:qArr], <span class="stringliteral">@"Query: %@"</span>, query);
<a name="l00157"></a>00157 STAssertTrue([[query objectForKey:<span class="stringliteral">@"hl"</span>] isEqual:[NSArray arrayWithObject:<span class="stringliteral">@"en"</span>]],
<a name="l00158"></a>00158 <span class="stringliteral">@"Query: %@"</span>, query);
<a name="l00159"></a>00159
<a name="l00160"></a>00160 query = [@"q=foo&q=three20&hl=en&g" queryContentsUsingEncoding:NSUTF8StringEncoding];
<a name="l00161"></a>00161 qArr = [NSArray arrayWithObjects:@"foo", @"three20", nil];
<a name="l00162"></a>00162 STAssertTrue([[query objectForKey:<span class="stringliteral">@"q"</span>] isEqual:qArr], <span class="stringliteral">@"Query: %@"</span>, query);
<a name="l00163"></a>00163 STAssertTrue([[query objectForKey:<span class="stringliteral">@"hl"</span>] isEqual:[NSArray arrayWithObject:<span class="stringliteral">@"en"</span>]],
<a name="l00164"></a>00164 <span class="stringliteral">@"Query: %@"</span>, query);
<a name="l00165"></a>00165 STAssertTrue([[query objectForKey:<span class="stringliteral">@"g"</span>] isEqual:[NSArray arrayWithObject:[NSNull null]]],
<a name="l00166"></a>00166 <span class="stringliteral">@"Query: %@"</span>, query);
<a name="l00167"></a>00167
<a name="l00168"></a>00168 query = [@"q&q=three20&hl=en&g" queryContentsUsingEncoding:NSUTF8StringEncoding];
<a name="l00169"></a>00169 qArr = [NSArray arrayWithObjects:[NSNull null], @"three20", nil];
<a name="l00170"></a>00170 STAssertTrue([[query objectForKey:<span class="stringliteral">@"q"</span>] isEqual:qArr], <span class="stringliteral">@"Query: %@"</span>, query);
<a name="l00171"></a>00171 STAssertTrue([[query objectForKey:<span class="stringliteral">@"hl"</span>] isEqual:[NSArray arrayWithObject:<span class="stringliteral">@"en"</span>]],
<a name="l00172"></a>00172 <span class="stringliteral">@"Query: %@"</span>, query);
<a name="l00173"></a>00173 }
<a name="l00174"></a>00174
<a name="l00175"></a>00175
<a name="l00177"></a>00177 - (void)testNSString_stringByAddingQueryDictionary {
<a name="l00178"></a>00178 <a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a>* baseUrl = <span class="stringliteral">@"http://google.com/search"</span>;
<a name="l00179"></a>00179 STAssertTrue([[baseUrl stringByAddingQueryDictionary:nil] isEqualToString:
<a name="l00180"></a>00180 [baseUrl stringByAppendingString:<span class="stringliteral">@"?"</span>]], <span class="stringliteral">@"Empty dictionary fail."</span>);
<a name="l00181"></a>00181
<a name="l00182"></a>00182 STAssertTrue([[baseUrl stringByAddingQueryDictionary:[NSDictionary dictionary]] isEqualToString:
<a name="l00183"></a>00183 [baseUrl stringByAppendingString:<span class="stringliteral">@"?"</span>]], <span class="stringliteral">@"Empty dictionary fail."</span>);
<a name="l00184"></a>00184
<a name="l00185"></a>00185 STAssertTrue([[baseUrl stringByAddingQueryDictionary:[NSDictionary
<a name="l00186"></a>00186 dictionaryWithObject:<span class="stringliteral">@"three20"</span>
<a name="l00187"></a>00187 forKey:<span class="stringliteral">@"q"</span>]] isEqualToString:
<a name="l00188"></a>00188 [baseUrl stringByAppendingString:<span class="stringliteral">@"?q=three20"</span>]], <span class="stringliteral">@"Single parameter fail."</span>);
<a name="l00189"></a>00189
<a name="l00190"></a>00190 NSDictionary* query = [NSDictionary
<a name="l00191"></a>00191 dictionaryWithObjectsAndKeys:
<a name="l00192"></a>00192 @"three20", @"q",
<a name="l00193"></a>00193 @"en", @"hl",
<a name="l00194"></a>00194 nil];
<a name="l00195"></a>00195 <a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a>* baseUrlWithQuery = [baseUrl stringByAddingQueryDictionary:query];
<a name="l00196"></a>00196 STAssertTrue([baseUrlWithQuery isEqualToString:[baseUrl
<a name="l00197"></a>00197 stringByAppendingString:<span class="stringliteral">@"?hl=en&q=three20"</span>]]
<a name="l00198"></a>00198 || [baseUrlWithQuery isEqualToString:[baseUrl
<a name="l00199"></a>00199 stringByAppendingString:<span class="stringliteral">@"?q=three20&hl=en"</span>]],
<a name="l00200"></a>00200 <span class="stringliteral">@"Additional query parameters not correct. %@"</span>,
<a name="l00201"></a>00201 [baseUrl stringByAddingQueryDictionary:query]);
<a name="l00202"></a>00202 }
<a name="l00203"></a>00203
<a name="l00204"></a>00204
<a name="l00206"></a>00206 - (void)testNSString_versionStringCompare {
<a name="l00207"></a>00207 STAssertTrue([<span class="stringliteral">@"3.0"</span> versionStringCompare:<span class="stringliteral">@"3.0"</span>] == NSOrderedSame, <span class="stringliteral">@"same version"</span>);
<a name="l00208"></a>00208 STAssertTrue([<span class="stringliteral">@"3.0a2"</span> versionStringCompare:<span class="stringliteral">@"3.0a2"</span>] == NSOrderedSame, <span class="stringliteral">@"same version alpha"</span>);
<a name="l00209"></a>00209 STAssertTrue([<span class="stringliteral">@"3.0"</span> versionStringCompare:<span class="stringliteral">@"2.5"</span>] == NSOrderedDescending, <span class="stringliteral">@"major no alpha"</span>);
<a name="l00210"></a>00210 STAssertTrue([<span class="stringliteral">@"3.1"</span> versionStringCompare:<span class="stringliteral">@"3.0"</span>] == NSOrderedDescending, <span class="stringliteral">@"minor no alpha"</span>);
<a name="l00211"></a>00211 STAssertTrue([<span class="stringliteral">@"3.0a1"</span> versionStringCompare:<span class="stringliteral">@"3.0"</span>] == NSOrderedAscending, <span class="stringliteral">@"alpha-no alpha"</span>);
<a name="l00212"></a>00212 STAssertTrue([<span class="stringliteral">@"3.0a1"</span> versionStringCompare:<span class="stringliteral">@"3.0a4"</span>] == NSOrderedAscending, <span class="stringliteral">@"alpha diff"</span>);
<a name="l00213"></a>00213 STAssertTrue([<span class="stringliteral">@"3.0a2"</span> versionStringCompare:<span class="stringliteral">@"3.0a19"</span>] == NSOrderedAscending, <span class="stringliteral">@"numeric alpha"</span>);
<a name="l00214"></a>00214 STAssertTrue([<span class="stringliteral">@"3.0a"</span> versionStringCompare:<span class="stringliteral">@"3.0a1"</span>] == NSOrderedAscending, <span class="stringliteral">@"empty alpha"</span>);
<a name="l00215"></a>00215 STAssertTrue([<span class="stringliteral">@"3.02"</span> versionStringCompare:<span class="stringliteral">@"3.03"</span>] == NSOrderedAscending, <span class="stringliteral">@"point diff"</span>);
<a name="l00216"></a>00216 STAssertTrue([<span class="stringliteral">@"3.0.2"</span> versionStringCompare:<span class="stringliteral">@"3.0.3"</span>] == NSOrderedAscending, <span class="stringliteral">@"point diff"</span>);
<a name="l00217"></a>00217 }
<a name="l00218"></a>00218
<a name="l00219"></a>00219
<a name="l00220"></a>00220 <span class="keyword">@end</span>
</pre></div></div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>NICoreAdditionTests.m</b> </li>
</div><!-- .fixedwidth -->
<span class="footer">Generated for Nimbus by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4-20110629 </span>
</ul>
</div>
</div> <!-- page -->
</body>
</html>