iCuke 0.5.5 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (201) hide show
  1. data/.gitignore +2 -0
  2. data/.gitmodules +3 -0
  3. data/README.rdoc +8 -7
  4. data/Rakefile +10 -30
  5. data/VERSION +1 -1
  6. data/app/.gitignore +3 -0
  7. data/app/LICENSE +20 -0
  8. data/app/Readme.markdown +3 -0
  9. data/app/Shared/AppDelegate_Shared.h +17 -0
  10. data/app/Shared/AppDelegate_Shared.m +25 -0
  11. data/app/{images/yellowslide.png → Shared/Icon.png} +0 -0
  12. data/app/Shared/ModalViewController.h +15 -0
  13. data/app/Shared/ModalViewController.m +96 -0
  14. data/app/Shared/TestViewController_Shared.h +15 -0
  15. data/app/Shared/TestViewController_Shared.m +43 -0
  16. data/app/{Info.plist → Shared/Universal-Info.plist} +17 -4
  17. data/app/Shared/Universal_Prefix.pch +8 -0
  18. data/app/Shared/main.m +14 -0
  19. data/app/Universal.xcodeproj/project.pbxproj +301 -0
  20. data/app/iPad/AppDelegate_Pad.h +15 -0
  21. data/app/iPad/AppDelegate_Pad.m +28 -0
  22. data/app/iPad/Default-Landscape.png +0 -0
  23. data/app/iPad/Default-Portrait.png +0 -0
  24. data/app/iPad/MainWindow_Pad.xib +343 -0
  25. data/app/iPad/TestViewController_Pad.h +15 -0
  26. data/app/iPad/TestViewController_Pad.m +52 -0
  27. data/app/iPhone/AppDelegate_Phone.h +15 -0
  28. data/app/iPhone/AppDelegate_Phone.m +28 -0
  29. data/app/{images/segment_search.png → iPhone/Default.png} +0 -0
  30. data/app/iPhone/MainWindow_Phone.xib +363 -0
  31. data/app/iPhone/TestViewController_Phone.h +15 -0
  32. data/app/iPhone/TestViewController_Phone.m +36 -0
  33. data/bin/.gitignore +1 -0
  34. data/bin/icuke +10 -0
  35. data/bin/icuke-module +17 -0
  36. data/ext/.gitignore +1 -0
  37. data/ext/Rakefile +6 -0
  38. data/ext/WaxSim/Simulator.h +31 -0
  39. data/ext/WaxSim/Simulator.m +131 -0
  40. data/ext/WaxSim/WaxSim.m +110 -0
  41. data/ext/WaxSim/WaxSim.xcodeproj/project.pbxproj +238 -0
  42. data/ext/WaxSim/WaxSim_Prefix.pch +7 -0
  43. data/ext/WaxSim/iPhoneSimulatorRemoteClient/iPhoneSimulatorRemoteClient.h +126 -0
  44. data/ext/iCuke/Rakefile +14 -17
  45. data/ext/iCuke/libicuke-sdk3.1.dylib +0 -0
  46. data/ext/iCuke/libicuke-sdk4.0.dylib +0 -0
  47. data/ext/iCuke/libicuke.dylib +0 -0
  48. data/ext/iCuke/{DefaultsResponse.h → sdk3.1/DefaultsResponse.h} +0 -0
  49. data/ext/iCuke/{DefaultsResponse.m → sdk3.1/DefaultsResponse.m} +0 -0
  50. data/ext/iCuke/{EventResponse.h → sdk3.1/EventResponse.h} +0 -0
  51. data/ext/iCuke/{EventResponse.m → sdk3.1/EventResponse.m} +0 -0
  52. data/ext/iCuke/sdk3.1/ModuleResponse.h +5 -0
  53. data/ext/iCuke/sdk3.1/ModuleResponse.m +76 -0
  54. data/ext/iCuke/sdk3.1/Rakefile +20 -0
  55. data/ext/iCuke/{Recorder.h → sdk3.1/Recorder.h} +0 -0
  56. data/ext/iCuke/{Recorder.m → sdk3.1/Recorder.m} +0 -0
  57. data/ext/iCuke/{RecorderResponse.h → sdk3.1/RecorderResponse.h} +0 -0
  58. data/ext/iCuke/{RecorderResponse.m → sdk3.1/RecorderResponse.m} +0 -0
  59. data/ext/iCuke/{SynthesizeSingleton.h → sdk3.1/SynthesizeSingleton.h} +0 -0
  60. data/ext/iCuke/{ViewResponse.h → sdk3.1/ViewResponse.h} +0 -0
  61. data/ext/iCuke/{ViewResponse.m → sdk3.1/ViewResponse.m} +0 -0
  62. data/ext/iCuke/{Viewer.h → sdk3.1/Viewer.h} +0 -0
  63. data/ext/iCuke/sdk3.1/Viewer.m +203 -0
  64. data/ext/iCuke/{iCukeHTTPResponseHandler.h → sdk3.1/iCukeHTTPResponseHandler.h} +0 -0
  65. data/ext/iCuke/{iCukeHTTPResponseHandler.m → sdk3.1/iCukeHTTPResponseHandler.m} +0 -0
  66. data/ext/iCuke/{iCukeHTTPServer.h → sdk3.1/iCukeHTTPServer.h} +0 -0
  67. data/ext/iCuke/{iCukeHTTPServer.m → sdk3.1/iCukeHTTPServer.m} +0 -0
  68. data/ext/iCuke/{iCukeServer.h → sdk3.1/iCukeServer.h} +0 -2
  69. data/ext/iCuke/{iCukeServer.m → sdk3.1/iCukeServer.m} +22 -20
  70. data/ext/iCuke/{json → sdk3.1/json}/JSON.h +0 -0
  71. data/ext/iCuke/{json → sdk3.1/json}/NSObject+SBJSON.h +0 -0
  72. data/ext/iCuke/{json → sdk3.1/json}/NSObject+SBJSON.m +0 -0
  73. data/ext/iCuke/{json → sdk3.1/json}/NSString+SBJSON.h +0 -0
  74. data/ext/iCuke/{json → sdk3.1/json}/NSString+SBJSON.m +0 -0
  75. data/ext/iCuke/{json → sdk3.1/json}/SBJSON.h +0 -0
  76. data/ext/iCuke/{json → sdk3.1/json}/SBJSON.m +0 -0
  77. data/ext/iCuke/{json → sdk3.1/json}/SBJsonBase.h +0 -0
  78. data/ext/iCuke/{json → sdk3.1/json}/SBJsonBase.m +0 -0
  79. data/ext/iCuke/{json → sdk3.1/json}/SBJsonParser.h +0 -0
  80. data/ext/iCuke/{json → sdk3.1/json}/SBJsonParser.m +0 -0
  81. data/ext/iCuke/{json → sdk3.1/json}/SBJsonWriter.h +0 -0
  82. data/ext/iCuke/{json → sdk3.1/json}/SBJsonWriter.m +0 -0
  83. data/ext/iCuke/sdk4.0/DefaultsResponse.h +5 -0
  84. data/ext/iCuke/sdk4.0/DefaultsResponse.m +66 -0
  85. data/ext/iCuke/sdk4.0/EventResponse.h +5 -0
  86. data/ext/iCuke/sdk4.0/EventResponse.m +130 -0
  87. data/ext/iCuke/sdk4.0/ModuleResponse.h +5 -0
  88. data/ext/iCuke/sdk4.0/ModuleResponse.m +76 -0
  89. data/ext/iCuke/sdk4.0/Rakefile +20 -0
  90. data/ext/iCuke/sdk4.0/Recorder.h +17 -0
  91. data/ext/iCuke/sdk4.0/Recorder.m +90 -0
  92. data/ext/iCuke/sdk4.0/RecorderResponse.h +6 -0
  93. data/ext/iCuke/sdk4.0/RecorderResponse.m +68 -0
  94. data/ext/iCuke/sdk4.0/SynthesizeSingleton.h +68 -0
  95. data/ext/iCuke/sdk4.0/ViewResponse.h +5 -0
  96. data/ext/iCuke/sdk4.0/ViewResponse.m +84 -0
  97. data/ext/iCuke/sdk4.0/Viewer.h +8 -0
  98. data/ext/iCuke/{Viewer.m → sdk4.0/Viewer.m} +14 -0
  99. data/ext/iCuke/sdk4.0/iCukeHTTPResponseHandler.h +50 -0
  100. data/ext/iCuke/sdk4.0/iCukeHTTPResponseHandler.m +381 -0
  101. data/ext/iCuke/sdk4.0/iCukeHTTPServer.h +53 -0
  102. data/ext/iCuke/sdk4.0/iCukeHTTPServer.m +365 -0
  103. data/ext/iCuke/sdk4.0/iCukeServer.h +14 -0
  104. data/ext/iCuke/sdk4.0/iCukeServer.m +65 -0
  105. data/ext/iCuke/sdk4.0/json/JSON.h +50 -0
  106. data/ext/iCuke/sdk4.0/json/NSObject+SBJSON.h +68 -0
  107. data/ext/iCuke/sdk4.0/json/NSObject+SBJSON.m +53 -0
  108. data/ext/iCuke/sdk4.0/json/NSString+SBJSON.h +58 -0
  109. data/ext/iCuke/sdk4.0/json/NSString+SBJSON.m +55 -0
  110. data/ext/iCuke/sdk4.0/json/SBJSON.h +75 -0
  111. data/ext/iCuke/sdk4.0/json/SBJSON.m +212 -0
  112. data/ext/iCuke/sdk4.0/json/SBJsonBase.h +86 -0
  113. data/ext/iCuke/sdk4.0/json/SBJsonBase.m +78 -0
  114. data/ext/iCuke/sdk4.0/json/SBJsonParser.h +87 -0
  115. data/ext/iCuke/sdk4.0/json/SBJsonParser.m +475 -0
  116. data/ext/iCuke/sdk4.0/json/SBJsonWriter.h +129 -0
  117. data/ext/iCuke/sdk4.0/json/SBJsonWriter.m +228 -0
  118. data/features/iphone.feature +15 -0
  119. data/features/support/env.rb +1 -1
  120. data/iCuke.gemspec +118 -114
  121. data/lib/icuke/cucumber.rb +93 -64
  122. data/lib/icuke/screen.rb +110 -0
  123. data/lib/icuke/sdk.rb +134 -0
  124. data/lib/icuke/simulate.rb +9 -5
  125. data/lib/icuke/simulator.rb +10 -11
  126. data/lib/icuke/waxsim.rb +36 -0
  127. data/lib/icuke.rb +2 -1
  128. metadata +124 -129
  129. data/app/AlertsViewController.h +0 -59
  130. data/app/AlertsViewController.m +0 -341
  131. data/app/AppDelegate.h +0 -60
  132. data/app/AppDelegate.m +0 -101
  133. data/app/ButtonsViewController.h +0 -80
  134. data/app/ButtonsViewController.m +0 -448
  135. data/app/Constants.h +0 -58
  136. data/app/ControlsViewController.h +0 -72
  137. data/app/ControlsViewController.m +0 -379
  138. data/app/ImagesViewController.h +0 -62
  139. data/app/ImagesViewController.m +0 -137
  140. data/app/MainViewController.h +0 -57
  141. data/app/MainViewController.m +0 -262
  142. data/app/Picker/CustomPickerDataSource.h +0 -55
  143. data/app/Picker/CustomPickerDataSource.m +0 -135
  144. data/app/Picker/CustomView.h +0 -62
  145. data/app/Picker/CustomView.m +0 -119
  146. data/app/PickerViewController.h +0 -88
  147. data/app/PickerViewController.m +0 -402
  148. data/app/Prefix.pch +0 -5
  149. data/app/ReadMe.txt +0 -82
  150. data/app/SearchBarController.h +0 -58
  151. data/app/SearchBarController.m +0 -105
  152. data/app/SegmentViewController.h +0 -54
  153. data/app/SegmentViewController.m +0 -195
  154. data/app/TextFieldController.h +0 -67
  155. data/app/TextFieldController.m +0 -342
  156. data/app/TextViewController.h +0 -57
  157. data/app/TextViewController.m +0 -164
  158. data/app/ToolbarViewController.h +0 -74
  159. data/app/ToolbarViewController.m +0 -303
  160. data/app/TransitionViewController.h +0 -64
  161. data/app/TransitionViewController.m +0 -178
  162. data/app/UICatalog.xcodeproj/project.pbxproj +0 -615
  163. data/app/WebViewController.h +0 -57
  164. data/app/WebViewController.m +0 -173
  165. data/app/en.lproj/AlertsViewController.xib +0 -144
  166. data/app/en.lproj/ButtonsViewController.xib +0 -147
  167. data/app/en.lproj/ControlsViewController.xib +0 -147
  168. data/app/en.lproj/ImagesViewController.xib +0 -264
  169. data/app/en.lproj/Localizable.strings +0 -41
  170. data/app/en.lproj/MainWindow.xib +0 -306
  171. data/app/en.lproj/PickerViewController.xib +0 -415
  172. data/app/en.lproj/SearchBarController.xib +0 -142
  173. data/app/en.lproj/SegmentViewController.xib +0 -143
  174. data/app/en.lproj/TextFieldController.xib +0 -167
  175. data/app/en.lproj/TextViewController.xib +0 -149
  176. data/app/en.lproj/ToolbarViewController.xib +0 -491
  177. data/app/en.lproj/TransitionViewController.xib +0 -255
  178. data/app/en.lproj/WebViewController.xib +0 -141
  179. data/app/images/12-6AM.png +0 -0
  180. data/app/images/12-6PM.png +0 -0
  181. data/app/images/6-12AM.png +0 -0
  182. data/app/images/6-12PM.png +0 -0
  183. data/app/images/Default.png +0 -0
  184. data/app/images/Icon.png +0 -0
  185. data/app/images/UIButton_custom.png +0 -0
  186. data/app/images/blueButton.png +0 -0
  187. data/app/images/orangeslide.png +0 -0
  188. data/app/images/scene1.jpg +0 -0
  189. data/app/images/scene2.jpg +0 -0
  190. data/app/images/scene3.jpg +0 -0
  191. data/app/images/scene4.jpg +0 -0
  192. data/app/images/scene5.jpg +0 -0
  193. data/app/images/segment_check.png +0 -0
  194. data/app/images/segment_tools.png +0 -0
  195. data/app/images/slider_ball.png +0 -0
  196. data/app/images/whiteButton.png +0 -0
  197. data/app/main.m +0 -58
  198. data/features/uicatalog.feature +0 -20
  199. data/lib/icuke/com.apple.Accessibility.plist +0 -0
  200. data/lib/icuke/headless.rb +0 -54
  201. data/lib/icuke/xcode.rb +0 -164
@@ -0,0 +1,363 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
3
+ <data>
4
+ <int key="IBDocument.SystemTarget">800</int>
5
+ <string key="IBDocument.SystemVersion">10D541</string>
6
+ <string key="IBDocument.InterfaceBuilderVersion">760</string>
7
+ <string key="IBDocument.AppKitVersion">1038.29</string>
8
+ <string key="IBDocument.HIToolboxVersion">460.00</string>
9
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
10
+ <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
11
+ <string key="NS.object.0">81</string>
12
+ </object>
13
+ <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
14
+ <bool key="EncodedWithXMLCoder">YES</bool>
15
+ <integer value="2"/>
16
+ </object>
17
+ <object class="NSArray" key="IBDocument.PluginDependencies">
18
+ <bool key="EncodedWithXMLCoder">YES</bool>
19
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
20
+ </object>
21
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
22
+ <bool key="EncodedWithXMLCoder">YES</bool>
23
+ <object class="NSArray" key="dict.sortedKeys" id="0">
24
+ <bool key="EncodedWithXMLCoder">YES</bool>
25
+ </object>
26
+ <object class="NSMutableArray" key="dict.values">
27
+ <bool key="EncodedWithXMLCoder">YES</bool>
28
+ </object>
29
+ </object>
30
+ <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
31
+ <bool key="EncodedWithXMLCoder">YES</bool>
32
+ <object class="IBProxyObject" id="841351856">
33
+ <string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
34
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
35
+ </object>
36
+ <object class="IBProxyObject" id="450319686">
37
+ <string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
38
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
39
+ </object>
40
+ <object class="IBUICustomObject" id="987256611">
41
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
42
+ </object>
43
+ <object class="IBUIWindow" id="380026005">
44
+ <reference key="NSNextResponder"/>
45
+ <int key="NSvFlags">1316</int>
46
+ <object class="NSPSMatrix" key="NSFrameMatrix"/>
47
+ <string key="NSFrameSize">{320, 480}</string>
48
+ <reference key="NSSuperview"/>
49
+ <object class="NSColor" key="IBUIBackgroundColor">
50
+ <int key="NSColorSpace">1</int>
51
+ <bytes key="NSRGB">MSAxIDEAA</bytes>
52
+ </object>
53
+ <bool key="IBUIOpaque">NO</bool>
54
+ <bool key="IBUIClearsContextBeforeDrawing">NO</bool>
55
+ <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
56
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
57
+ <bool key="IBUIResizesToFullScreen">YES</bool>
58
+ </object>
59
+ </object>
60
+ <object class="IBObjectContainer" key="IBDocument.Objects">
61
+ <object class="NSMutableArray" key="connectionRecords">
62
+ <bool key="EncodedWithXMLCoder">YES</bool>
63
+ <object class="IBConnectionRecord">
64
+ <object class="IBCocoaTouchOutletConnection" key="connection">
65
+ <string key="label">delegate</string>
66
+ <reference key="source" ref="841351856"/>
67
+ <reference key="destination" ref="987256611"/>
68
+ </object>
69
+ <int key="connectionID">5</int>
70
+ </object>
71
+ <object class="IBConnectionRecord">
72
+ <object class="IBCocoaTouchOutletConnection" key="connection">
73
+ <string key="label">window</string>
74
+ <reference key="source" ref="987256611"/>
75
+ <reference key="destination" ref="380026005"/>
76
+ </object>
77
+ <int key="connectionID">6</int>
78
+ </object>
79
+ </object>
80
+ <object class="IBMutableOrderedSet" key="objectRecords">
81
+ <object class="NSArray" key="orderedObjects">
82
+ <bool key="EncodedWithXMLCoder">YES</bool>
83
+ <object class="IBObjectRecord">
84
+ <int key="objectID">0</int>
85
+ <reference key="object" ref="0"/>
86
+ <reference key="children" ref="1000"/>
87
+ <nil key="parent"/>
88
+ </object>
89
+ <object class="IBObjectRecord">
90
+ <int key="objectID">2</int>
91
+ <reference key="object" ref="380026005"/>
92
+ <object class="NSMutableArray" key="children">
93
+ <bool key="EncodedWithXMLCoder">YES</bool>
94
+ </object>
95
+ <reference key="parent" ref="0"/>
96
+ </object>
97
+ <object class="IBObjectRecord">
98
+ <int key="objectID">-1</int>
99
+ <reference key="object" ref="841351856"/>
100
+ <reference key="parent" ref="0"/>
101
+ <string key="objectName">File's Owner</string>
102
+ </object>
103
+ <object class="IBObjectRecord">
104
+ <int key="objectID">4</int>
105
+ <reference key="object" ref="987256611"/>
106
+ <reference key="parent" ref="0"/>
107
+ <string key="objectName">App Delegate</string>
108
+ </object>
109
+ <object class="IBObjectRecord">
110
+ <int key="objectID">-2</int>
111
+ <reference key="object" ref="450319686"/>
112
+ <reference key="parent" ref="0"/>
113
+ </object>
114
+ </object>
115
+ </object>
116
+ <object class="NSMutableDictionary" key="flattenedProperties">
117
+ <bool key="EncodedWithXMLCoder">YES</bool>
118
+ <object class="NSArray" key="dict.sortedKeys">
119
+ <bool key="EncodedWithXMLCoder">YES</bool>
120
+ <string>-1.CustomClassName</string>
121
+ <string>-2.CustomClassName</string>
122
+ <string>2.IBAttributePlaceholdersKey</string>
123
+ <string>2.IBEditorWindowLastContentRect</string>
124
+ <string>2.IBPluginDependency</string>
125
+ <string>2.UIWindow.visibleAtLaunch</string>
126
+ <string>4.CustomClassName</string>
127
+ <string>4.IBPluginDependency</string>
128
+ </object>
129
+ <object class="NSMutableArray" key="dict.values">
130
+ <bool key="EncodedWithXMLCoder">YES</bool>
131
+ <string>UIApplication</string>
132
+ <string>UIResponder</string>
133
+ <object class="NSMutableDictionary">
134
+ <bool key="EncodedWithXMLCoder">YES</bool>
135
+ <reference key="dict.sortedKeys" ref="0"/>
136
+ <object class="NSMutableArray" key="dict.values">
137
+ <bool key="EncodedWithXMLCoder">YES</bool>
138
+ </object>
139
+ </object>
140
+ <string>{{520, 800}, {320, 480}}</string>
141
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
142
+ <integer value="1"/>
143
+ <string>AppDelegate_Phone</string>
144
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
145
+ </object>
146
+ </object>
147
+ <object class="NSMutableDictionary" key="unlocalizedProperties">
148
+ <bool key="EncodedWithXMLCoder">YES</bool>
149
+ <reference key="dict.sortedKeys" ref="0"/>
150
+ <object class="NSMutableArray" key="dict.values">
151
+ <bool key="EncodedWithXMLCoder">YES</bool>
152
+ </object>
153
+ </object>
154
+ <nil key="activeLocalization"/>
155
+ <object class="NSMutableDictionary" key="localizations">
156
+ <bool key="EncodedWithXMLCoder">YES</bool>
157
+ <reference key="dict.sortedKeys" ref="0"/>
158
+ <object class="NSMutableArray" key="dict.values">
159
+ <bool key="EncodedWithXMLCoder">YES</bool>
160
+ </object>
161
+ </object>
162
+ <nil key="sourceID"/>
163
+ <int key="maxID">8</int>
164
+ </object>
165
+ <object class="IBClassDescriber" key="IBDocument.Classes">
166
+ <object class="NSMutableArray" key="referencedPartialClassDescriptions">
167
+ <bool key="EncodedWithXMLCoder">YES</bool>
168
+ <object class="IBPartialClassDescription">
169
+ <string key="className">AppDelegate_Phone</string>
170
+ <string key="superclassName">NSObject</string>
171
+ <object class="NSMutableDictionary" key="outlets">
172
+ <string key="NS.key.0">window</string>
173
+ <string key="NS.object.0">UIWindow</string>
174
+ </object>
175
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
176
+ <string key="majorKey">IBProjectSource</string>
177
+ <string key="minorKey">iPhone/AppDelegate_Phone.h</string>
178
+ </object>
179
+ </object>
180
+ <object class="IBPartialClassDescription">
181
+ <string key="className">AppDelegate_Phone</string>
182
+ <string key="superclassName">NSObject</string>
183
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
184
+ <string key="majorKey">IBUserSource</string>
185
+ <string key="minorKey"/>
186
+ </object>
187
+ </object>
188
+ </object>
189
+ <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
190
+ <bool key="EncodedWithXMLCoder">YES</bool>
191
+ <object class="IBPartialClassDescription">
192
+ <string key="className">NSObject</string>
193
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
194
+ <string key="majorKey">IBFrameworkSource</string>
195
+ <string key="minorKey">Foundation.framework/Headers/NSError.h</string>
196
+ </object>
197
+ </object>
198
+ <object class="IBPartialClassDescription">
199
+ <string key="className">NSObject</string>
200
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
201
+ <string key="majorKey">IBFrameworkSource</string>
202
+ <string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
203
+ </object>
204
+ </object>
205
+ <object class="IBPartialClassDescription">
206
+ <string key="className">NSObject</string>
207
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
208
+ <string key="majorKey">IBFrameworkSource</string>
209
+ <string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
210
+ </object>
211
+ </object>
212
+ <object class="IBPartialClassDescription">
213
+ <string key="className">NSObject</string>
214
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
215
+ <string key="majorKey">IBFrameworkSource</string>
216
+ <string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
217
+ </object>
218
+ </object>
219
+ <object class="IBPartialClassDescription">
220
+ <string key="className">NSObject</string>
221
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
222
+ <string key="majorKey">IBFrameworkSource</string>
223
+ <string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
224
+ </object>
225
+ </object>
226
+ <object class="IBPartialClassDescription">
227
+ <string key="className">NSObject</string>
228
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
229
+ <string key="majorKey">IBFrameworkSource</string>
230
+ <string key="minorKey">Foundation.framework/Headers/NSNetServices.h</string>
231
+ </object>
232
+ </object>
233
+ <object class="IBPartialClassDescription">
234
+ <string key="className">NSObject</string>
235
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
236
+ <string key="majorKey">IBFrameworkSource</string>
237
+ <string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
238
+ </object>
239
+ </object>
240
+ <object class="IBPartialClassDescription">
241
+ <string key="className">NSObject</string>
242
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
243
+ <string key="majorKey">IBFrameworkSource</string>
244
+ <string key="minorKey">Foundation.framework/Headers/NSPort.h</string>
245
+ </object>
246
+ </object>
247
+ <object class="IBPartialClassDescription">
248
+ <string key="className">NSObject</string>
249
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
250
+ <string key="majorKey">IBFrameworkSource</string>
251
+ <string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
252
+ </object>
253
+ </object>
254
+ <object class="IBPartialClassDescription">
255
+ <string key="className">NSObject</string>
256
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
257
+ <string key="majorKey">IBFrameworkSource</string>
258
+ <string key="minorKey">Foundation.framework/Headers/NSStream.h</string>
259
+ </object>
260
+ </object>
261
+ <object class="IBPartialClassDescription">
262
+ <string key="className">NSObject</string>
263
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
264
+ <string key="majorKey">IBFrameworkSource</string>
265
+ <string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
266
+ </object>
267
+ </object>
268
+ <object class="IBPartialClassDescription">
269
+ <string key="className">NSObject</string>
270
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
271
+ <string key="majorKey">IBFrameworkSource</string>
272
+ <string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
273
+ </object>
274
+ </object>
275
+ <object class="IBPartialClassDescription">
276
+ <string key="className">NSObject</string>
277
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
278
+ <string key="majorKey">IBFrameworkSource</string>
279
+ <string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
280
+ </object>
281
+ </object>
282
+ <object class="IBPartialClassDescription">
283
+ <string key="className">NSObject</string>
284
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
285
+ <string key="majorKey">IBFrameworkSource</string>
286
+ <string key="minorKey">Foundation.framework/Headers/NSXMLParser.h</string>
287
+ </object>
288
+ </object>
289
+ <object class="IBPartialClassDescription">
290
+ <string key="className">NSObject</string>
291
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
292
+ <string key="majorKey">IBFrameworkSource</string>
293
+ <string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
294
+ </object>
295
+ </object>
296
+ <object class="IBPartialClassDescription">
297
+ <string key="className">NSObject</string>
298
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
299
+ <string key="majorKey">IBFrameworkSource</string>
300
+ <string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
301
+ </object>
302
+ </object>
303
+ <object class="IBPartialClassDescription">
304
+ <string key="className">NSObject</string>
305
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="565734826">
306
+ <string key="majorKey">IBFrameworkSource</string>
307
+ <string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
308
+ </object>
309
+ </object>
310
+ <object class="IBPartialClassDescription">
311
+ <string key="className">UIApplication</string>
312
+ <string key="superclassName">UIResponder</string>
313
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
314
+ <string key="majorKey">IBFrameworkSource</string>
315
+ <string key="minorKey">UIKit.framework/Headers/UIApplication.h</string>
316
+ </object>
317
+ </object>
318
+ <object class="IBPartialClassDescription">
319
+ <string key="className">UIResponder</string>
320
+ <string key="superclassName">NSObject</string>
321
+ <reference key="sourceIdentifier" ref="565734826"/>
322
+ </object>
323
+ <object class="IBPartialClassDescription">
324
+ <string key="className">UIView</string>
325
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
326
+ <string key="majorKey">IBFrameworkSource</string>
327
+ <string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
328
+ </object>
329
+ </object>
330
+ <object class="IBPartialClassDescription">
331
+ <string key="className">UIView</string>
332
+ <string key="superclassName">UIResponder</string>
333
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
334
+ <string key="majorKey">IBFrameworkSource</string>
335
+ <string key="minorKey">UIKit.framework/Headers/UIView.h</string>
336
+ </object>
337
+ </object>
338
+ <object class="IBPartialClassDescription">
339
+ <string key="className">UIWindow</string>
340
+ <string key="superclassName">UIView</string>
341
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
342
+ <string key="majorKey">IBFrameworkSource</string>
343
+ <string key="minorKey">UIKit.framework/Headers/UIWindow.h</string>
344
+ </object>
345
+ </object>
346
+ </object>
347
+ </object>
348
+ <int key="IBDocument.localizationMode">0</int>
349
+ <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
350
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
351
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
352
+ <integer value="800" key="NS.object.0"/>
353
+ </object>
354
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
355
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
356
+ <integer value="3100" key="NS.object.0"/>
357
+ </object>
358
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
359
+ <string key="IBDocument.LastKnownRelativeProjectPath">../Universal.xcodeproj</string>
360
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
361
+ <string key="IBCocoaTouchPluginVersion">81</string>
362
+ </data>
363
+ </archive>
@@ -0,0 +1,15 @@
1
+ //
2
+ // TestViewController_Phone.h
3
+ // Universal
4
+ //
5
+ // Created by Sam Soffes on 4/12/10.
6
+ // Copyright 2010 Sam Soffes. All rights reserved.
7
+ //
8
+
9
+ #import "TestViewController_Shared.h"
10
+
11
+ @interface TestViewController_Phone : TestViewController_Shared {
12
+
13
+ }
14
+
15
+ @end
@@ -0,0 +1,36 @@
1
+ //
2
+ // TestViewController_Phone.m
3
+ // Universal
4
+ //
5
+ // Created by Sam Soffes on 4/12/10.
6
+ // Copyright 2010 Sam Soffes. All rights reserved.
7
+ //
8
+
9
+ #import "TestViewController_Phone.h"
10
+ #import "ModalViewController.h"
11
+
12
+ @implementation TestViewController_Phone
13
+
14
+ #pragma mark -
15
+ #pragma mark UIViewController
16
+ #pragma mark -
17
+
18
+ - (void)viewDidLoad {
19
+ [super viewDidLoad];
20
+ self.title = @"iPhone";
21
+ }
22
+
23
+
24
+ #pragma mark -
25
+ #pragma mark Actions
26
+ #pragma mark -
27
+
28
+ - (void)test:(id)sender {
29
+ ModalViewController *viewController = [[ModalViewController alloc] init];
30
+ UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];
31
+ [viewController release];
32
+ [self.navigationController presentModalViewController:navigationController animated:YES];
33
+ [navigationController release];
34
+ }
35
+
36
+ @end
data/bin/.gitignore ADDED
@@ -0,0 +1 @@
1
+ iphonesim
data/bin/icuke ADDED
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'fileutils'
4
+
5
+ base = File.expand_path(ARGV[0])
6
+ FileUtils.mkdir_p(File.join(base, 'features', 'support'))
7
+ File.open(File.join(base, 'features', 'support', 'env.rb'), 'w') do |f|
8
+ f.puts "require 'icuke/cucumber'"
9
+ end
10
+ FileUtils.touch File.join(base, 'features', 'example.feature')
data/bin/icuke-module ADDED
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require File.join(File.dirname(__FILE__), '..', 'lib', 'icuke', 'sdk')
4
+
5
+ sdk = ARGV[0]
6
+ ICuke::SDK.use_latest(sdk)
7
+ file = ARGV[1]
8
+ frameworks = ['Foundation', 'CFNetwork']
9
+ frameworks.concat(ARGV[2 .. -1])
10
+ frameworks = frameworks.map { |f| "-framework #{f}" }.join(' ')
11
+
12
+ compile = "#{ICuke::SDK.gcc} -c -o #{File.basename(file, '.m')}.o #{file} "
13
+ puts compile
14
+ system compile
15
+ link = "#{ICuke::SDK.ld} -dynamiclib -o #{ICuke::SDK.dylib(File.basename(file, '.m'))} -undefined dynamic_lookup #{File.basename(file, '.m')}.o #{frameworks}"
16
+ puts link
17
+ system link
data/ext/.gitignore ADDED
@@ -0,0 +1 @@
1
+ bin
data/ext/Rakefile ADDED
@@ -0,0 +1,6 @@
1
+ task :install do
2
+ sh "cd WaxSim && xcodebuild install DSTROOT=../../ INSTALL_PATH=/ext/bin"
3
+ sh "cd iCuke && rake"
4
+ end
5
+
6
+ task :default => :install
@@ -0,0 +1,31 @@
1
+ //
2
+ // Simulator.h
3
+ // Sim
4
+ //
5
+ // Created by ProbablyInteractive on 7/28/09.
6
+ // Copyright 2009 Probably Interactive. All rights reserved.
7
+ //
8
+
9
+ #import <Cocoa/Cocoa.h>
10
+ #import "iPhoneSimulatorRemoteClient.h"
11
+
12
+ @class DTiPhoneSimulatorSystemRoot;
13
+
14
+ @interface Simulator : NSObject <DTiPhoneSimulatorSessionDelegate> {
15
+ NSString *_appPath;
16
+ DTiPhoneSimulatorSystemRoot *_sdk;
17
+ NSNumber *_family;
18
+ DTiPhoneSimulatorSession* _session;
19
+ NSDictionary *_env;
20
+ NSArray *_args;
21
+ }
22
+
23
+ @property (nonatomic, readonly) DTiPhoneSimulatorSession* session;
24
+
25
+ + (NSArray *)availableSDKs;
26
+
27
+ - (id)initWithAppPath:(NSString *)appPath sdk:(NSString *)sdk family:(NSString *)family env:(NSDictionary *)env args:(NSArray *)args;
28
+ - (int)launch;
29
+ - (void)end;
30
+
31
+ @end
@@ -0,0 +1,131 @@
1
+ //
2
+ //
3
+ // Sim
4
+ //
5
+ // Created by ProbablyInteractive on 7/28/09.
6
+ // Copyright 2009 Probably Interactive. All rights reserved.
7
+ //
8
+
9
+ #import "Simulator.h"
10
+
11
+ #include <sys/param.h>
12
+ #include <objc/runtime.h>
13
+
14
+ #define WaxLog(format, args...) \
15
+ printf("%s\n", [[NSString stringWithFormat:(format), ## args] UTF8String])
16
+
17
+ @implementation Simulator
18
+
19
+ @synthesize session=_session;
20
+
21
+ - (id)initWithAppPath:(NSString *)appPath sdk:(NSString *)sdk family:(NSString *)family env:(NSDictionary *)env args:(NSArray *)args {
22
+ self = [super init];
23
+
24
+ NSFileManager *fileManager = [NSFileManager defaultManager];
25
+ if (![appPath isAbsolutePath]) {
26
+ appPath = [[fileManager currentDirectoryPath] stringByAppendingPathComponent:appPath];
27
+ }
28
+
29
+ _appPath = [appPath retain];
30
+
31
+ if (![fileManager fileExistsAtPath:_appPath]) {
32
+ WaxLog(@"App path '%@' does not exist!", _appPath);
33
+ exit(EXIT_FAILURE);
34
+ }
35
+
36
+ if (!sdk) _sdk = [[DTiPhoneSimulatorSystemRoot defaultRoot] retain];
37
+ else {
38
+ _sdk = [[DTiPhoneSimulatorSystemRoot rootWithSDKVersion:sdk] retain];
39
+ }
40
+
41
+ if (!_sdk) {
42
+ WaxLog(@"Unknown sdk '%@'", sdk);
43
+ WaxLog(@"Available sdks are...");
44
+ for (id root in [DTiPhoneSimulatorSystemRoot knownRoots]) {
45
+ WaxLog(@" %@", [root sdkVersion]);
46
+ }
47
+
48
+ exit(EXIT_FAILURE);
49
+ }
50
+
51
+ if ([family isEqualToString: @"ipad"]) {
52
+ _family = [NSNumber numberWithInt: 2];
53
+ } else {
54
+ _family = [NSNumber numberWithInt: 1];
55
+ }
56
+
57
+ _env = [env retain];
58
+ _args = [args retain];
59
+
60
+ return self;
61
+ }
62
+
63
+ + (NSArray *)availableSDKs {
64
+ NSMutableArray *sdks = [NSMutableArray array];
65
+ for (id root in [DTiPhoneSimulatorSystemRoot knownRoots]) {
66
+ [sdks addObject:[root sdkVersion]];
67
+ }
68
+
69
+ return sdks;
70
+ }
71
+
72
+ - (int)launch {
73
+ WaxLog(@"Launching '%@' on'%@'", _appPath, [_sdk sdkDisplayName]);
74
+
75
+ DTiPhoneSimulatorApplicationSpecifier *appSpec = [DTiPhoneSimulatorApplicationSpecifier specifierWithApplicationPath:_appPath];
76
+ if (!appSpec) {
77
+ WaxLog(@"Could not load application specifier for '%@'", _appPath);
78
+ return EXIT_FAILURE;
79
+ }
80
+
81
+ DTiPhoneSimulatorSystemRoot *sdkRoot = [DTiPhoneSimulatorSystemRoot defaultRoot];
82
+
83
+ DTiPhoneSimulatorSessionConfig *config = [[DTiPhoneSimulatorSessionConfig alloc] init];
84
+ [config setApplicationToSimulateOnStart:appSpec];
85
+ [config setSimulatedSystemRoot:sdkRoot];
86
+ [config setSimulatedDeviceFamily:_family];
87
+ [config setSimulatedApplicationShouldWaitForDebugger:NO];
88
+ [config setSimulatedApplicationLaunchArgs:_args];
89
+ [config setSimulatedApplicationLaunchEnvironment:_env];
90
+ [config setLocalizedClientName:@"iCuke"];
91
+
92
+ // Make the simulator output to the current STDOUT & STDERR
93
+ char path[MAXPATHLEN];
94
+ fcntl(STDOUT_FILENO, F_GETPATH, &path);
95
+ [config setSimulatedApplicationStdOutPath:[NSString stringWithUTF8String:path]];
96
+
97
+ fcntl(STDERR_FILENO, F_GETPATH, &path);
98
+ [config setSimulatedApplicationStdErrPath:[NSString stringWithUTF8String:path]];
99
+
100
+ _session = [[DTiPhoneSimulatorSession alloc] init];
101
+ [_session setDelegate:self];
102
+ [_session setSimulatedApplicationPID:[NSNumber numberWithInt:35]];
103
+
104
+ NSError *error;
105
+ if (![_session requestStartWithConfig:config timeout:30 error:&error]) {
106
+ WaxLog(@"Could not start simulator session: %@", [error localizedDescription]);
107
+ return EXIT_FAILURE;
108
+ }
109
+
110
+ return EXIT_SUCCESS;
111
+ }
112
+
113
+ - (void)end {
114
+ [_session requestEndWithTimeout:0];
115
+ }
116
+
117
+ // DTiPhoneSimulatorSession Delegate
118
+ // ---------------------------------
119
+ - (void)session:(DTiPhoneSimulatorSession *)session didStart:(BOOL)started withError:(NSError *)error {
120
+ if (!started) {
121
+ WaxLog(@"Session failed to start. %@", [error localizedDescription]);
122
+ exit(EXIT_FAILURE);
123
+ }
124
+ }
125
+
126
+ - (void)session:(DTiPhoneSimulatorSession *)session didEndWithError:(NSError *)error {
127
+ WaxLog(@"Session ended with error. %@", [error localizedDescription]);
128
+ if ([error code] != 2) exit(EXIT_FAILURE); // if it is a timeout error, that's cool. We are probably rebooting
129
+ }
130
+
131
+ @end