confetti 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +4 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +48 -0
- data/README.md +46 -0
- data/Rakefile +19 -0
- data/bin/confetti +4 -0
- data/confetti.gemspec +29 -0
- data/features/android.feature +14 -0
- data/features/blackberry.feature +9 -0
- data/features/command_line.feature +12 -0
- data/features/ios.feature +9 -0
- data/features/step_definitions/aruba_ext_steps.rb +7 -0
- data/features/support/setup.rb +1 -0
- data/features/symbian.wrt.feature +9 -0
- data/features/webos.feature +9 -0
- data/lib/confetti.rb +31 -0
- data/lib/confetti/cli.rb +19 -0
- data/lib/confetti/config.rb +57 -0
- data/lib/confetti/config/feature.rb +13 -0
- data/lib/confetti/helpers.rb +7 -0
- data/lib/confetti/template.rb +4 -0
- data/lib/confetti/template_helper.rb +28 -0
- data/lib/confetti/templates/android_manifest.mustache +33 -0
- data/lib/confetti/templates/android_manifest.rb +27 -0
- data/lib/confetti/templates/android_strings.mustache +5 -0
- data/lib/confetti/templates/android_strings.rb +13 -0
- data/lib/confetti/templates/base.mustache +0 -0
- data/lib/confetti/templates/base.rb +13 -0
- data/lib/confetti/templates/blackberry_widgets_config.mustache +20 -0
- data/lib/confetti/templates/blackberry_widgets_config.rb +37 -0
- data/lib/confetti/templates/ios_info.mustache +48 -0
- data/lib/confetti/templates/ios_info.rb +21 -0
- data/lib/confetti/templates/java_checks.rb +18 -0
- data/lib/confetti/templates/symbian_wrt_info.mustache +17 -0
- data/lib/confetti/templates/symbian_wrt_info.rb +21 -0
- data/lib/confetti/templates/webos_appinfo.mustache +9 -0
- data/lib/confetti/templates/webos_appinfo.rb +49 -0
- data/lib/confetti/version.rb +3 -0
- data/lib/typedset.rb +23 -0
- data/spec/config/config_author_spec.rb +22 -0
- data/spec/config/config_content_spec.rb +22 -0
- data/spec/config/config_feature_spec.rb +33 -0
- data/spec/config/config_icon_spec.rb +22 -0
- data/spec/config/config_license_spec.rb +17 -0
- data/spec/config/config_name_spec.rb +17 -0
- data/spec/config/config_preference_spec.rb +22 -0
- data/spec/config_spec.rb +217 -0
- data/spec/fixtures/AndroidManifest_expected.xml +33 -0
- data/spec/fixtures/android_manifest_spec.xml +33 -0
- data/spec/fixtures/android_strings_expected.xml +5 -0
- data/spec/fixtures/android_strings_spec.xml +5 -0
- data/spec/fixtures/appinfo_expected.json +9 -0
- data/spec/fixtures/blackberry_widget_config_expected.xml +20 -0
- data/spec/fixtures/blackberry_widget_config_spec.xml +20 -0
- data/spec/fixtures/config.xml +21 -0
- data/spec/fixtures/ios_info_expected.plist +48 -0
- data/spec/fixtures/ios_info_spec.plist +48 -0
- data/spec/fixtures/symbian_wrt_info_expected.plist +17 -0
- data/spec/fixtures/symbian_wrt_info_spec.plist +17 -0
- data/spec/fixtures/webos_appinfo_spec.json +9 -0
- data/spec/helpers_spec.rb +21 -0
- data/spec/integration_spec.rb +66 -0
- data/spec/spec_helper.rb +83 -0
- data/spec/template_spec.rb +4 -0
- data/spec/templates/android_manifest_spec.rb +66 -0
- data/spec/templates/android_strings_spec.rb +56 -0
- data/spec/templates/base_spec.rb +25 -0
- data/spec/templates/blackberry_widget_config_spec.rb +94 -0
- data/spec/templates/ios_info_spec.rb +68 -0
- data/spec/templates/java_checks_spec.rb +59 -0
- data/spec/templates/symbian_wrt_info_spec.rb +68 -0
- data/spec/templates/webos_appinfo_spec.rb +101 -0
- data/spec/typedset_spec.rb +72 -0
- metadata +256 -0
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Confetti::Config::License do
|
4
|
+
before do
|
5
|
+
@license = Confetti::Config::License.new
|
6
|
+
end
|
7
|
+
|
8
|
+
it "should have a readable and writable text field" do
|
9
|
+
lambda { @license.text = "You can do WTF you want" }.should_not raise_error
|
10
|
+
@license.text.should == "You can do WTF you want"
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should have a readable and writable href field" do
|
14
|
+
lambda { @license.href = "http://apache.org/license" }.should_not raise_error
|
15
|
+
@license.href.should == "http://apache.org/license"
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Confetti::Config::Name do
|
4
|
+
before do
|
5
|
+
@name = Confetti::Config::Name.new
|
6
|
+
end
|
7
|
+
|
8
|
+
it "should have a readable and writable name field" do
|
9
|
+
lambda { @name.name = "Microsoft Windows 7 Ultimate Edition" }.should_not raise_error
|
10
|
+
@name.name.should == "Microsoft Windows 7 Ultimate Edition"
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should have a readable and writable shortname field" do
|
14
|
+
lambda { @name.shortname = "Windows7" }.should_not raise_error
|
15
|
+
@name.shortname.should == "Windows7"
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Confetti::Config::Preference do
|
4
|
+
before do
|
5
|
+
@pref = Confetti::Config::Preference.new
|
6
|
+
end
|
7
|
+
|
8
|
+
it "should have a readable and writable name field" do
|
9
|
+
lambda { @pref.name = "Auto-Rotation" }.should_not raise_error
|
10
|
+
@pref.name.should == "Auto-Rotation"
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should have a readable and writable value field" do
|
14
|
+
lambda { @pref.value = "disabled" }.should_not raise_error
|
15
|
+
@pref.value.should == "disabled"
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should have a readable and writable readonly field" do
|
19
|
+
lambda { @pref.readonly = true }.should_not raise_error
|
20
|
+
@pref.readonly.should be_true
|
21
|
+
end
|
22
|
+
end
|
data/spec/config_spec.rb
ADDED
@@ -0,0 +1,217 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Confetti::Config do
|
4
|
+
include ConfigHelpers
|
5
|
+
include HelpfulPaths
|
6
|
+
|
7
|
+
before do
|
8
|
+
@config = Confetti::Config.new
|
9
|
+
end
|
10
|
+
|
11
|
+
describe "fields on the widget element" do
|
12
|
+
it "has a writable and readable package field" do
|
13
|
+
lambda { @config.package = "com.alunny.greatapp" }.should_not raise_error
|
14
|
+
@config.package.should == "com.alunny.greatapp"
|
15
|
+
end
|
16
|
+
|
17
|
+
it "has a writable and readable version field" do
|
18
|
+
lambda { @config.version = "0.1.0" }.should_not raise_error
|
19
|
+
@config.version.should == "0.1.0"
|
20
|
+
end
|
21
|
+
|
22
|
+
it "has a writable and readable height field" do
|
23
|
+
lambda { @config.height = 500 }.should_not raise_error
|
24
|
+
@config.height.should == 500
|
25
|
+
end
|
26
|
+
|
27
|
+
it "has a writable and readable width field" do
|
28
|
+
lambda { @config.width = 500 }.should_not raise_error
|
29
|
+
@config.width.should == 500
|
30
|
+
end
|
31
|
+
|
32
|
+
it "has a list of viewmodes" do
|
33
|
+
@config.viewmodes.should be_an Array
|
34
|
+
end
|
35
|
+
|
36
|
+
it "should let viewmodes be appended" do
|
37
|
+
@config.viewmodes << "windowed"
|
38
|
+
@config.viewmodes << "floating"
|
39
|
+
@config.viewmodes.should == ["windowed","floating"]
|
40
|
+
end
|
41
|
+
|
42
|
+
it "has a writable and readable description field" do
|
43
|
+
lambda { @config.description = "A Great App That Lets You Do Things" }.should_not raise_error
|
44
|
+
@config.description.should == "A Great App That Lets You Do Things"
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
describe "widget child elements (zero or one, per locale)" do
|
49
|
+
it "has a name field, that is a name object" do
|
50
|
+
@config.name.should be_a Confetti::Config::Name
|
51
|
+
end
|
52
|
+
|
53
|
+
it "doesn't allow name to be clobbered" do
|
54
|
+
lambda { @config.name = "Stellar Game" }.should raise_error
|
55
|
+
end
|
56
|
+
|
57
|
+
it "has an author field, that is an author object" do
|
58
|
+
@config.author.should be_a Confetti::Config::Author
|
59
|
+
end
|
60
|
+
|
61
|
+
it "doesn't allow author to be clobbered" do
|
62
|
+
lambda { @config.author = "Andrew Lunny" }.should raise_error
|
63
|
+
end
|
64
|
+
|
65
|
+
it "has a license field, that is a license object" do
|
66
|
+
@config.license.should be_a Confetti::Config::License
|
67
|
+
end
|
68
|
+
|
69
|
+
it "doesn't allow license to be clobbered" do
|
70
|
+
lambda { @config.license = "MIT" }.should raise_error
|
71
|
+
end
|
72
|
+
|
73
|
+
it "has a content field, that is a content object" do
|
74
|
+
@config.content.should be_a Confetti::Config::Content
|
75
|
+
end
|
76
|
+
|
77
|
+
it "doesn't allow content to be clobbered" do
|
78
|
+
lambda { @config.content = "foo.html" }.should raise_error
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
describe "widget child elements (zero or more)" do
|
83
|
+
it "has an icon_set field, that is a TypedSet" do
|
84
|
+
@config.icon_set.should be_a TypedSet
|
85
|
+
end
|
86
|
+
|
87
|
+
it "icon_set should be typed to icon objects" do
|
88
|
+
@config.icon_set.set_class.should be Confetti::Config::Icon
|
89
|
+
end
|
90
|
+
|
91
|
+
it "should not allow icon_set to be clobbered" do
|
92
|
+
lambda {
|
93
|
+
@config.icon_set = ['icon.png', 'icon-hires.png']
|
94
|
+
}.should raise_error
|
95
|
+
end
|
96
|
+
|
97
|
+
it "has an feature_set field, that is a TypedSet" do
|
98
|
+
@config.feature_set.should be_a TypedSet
|
99
|
+
end
|
100
|
+
|
101
|
+
it "feature_set should be typed to feature objects" do
|
102
|
+
@config.feature_set.set_class.should be Confetti::Config::Feature
|
103
|
+
end
|
104
|
+
|
105
|
+
it "should not allow feature_set to be clobbered" do
|
106
|
+
lambda {
|
107
|
+
@config.feature_set = ['Geolocation', 'Acceleration']
|
108
|
+
}.should raise_error
|
109
|
+
end
|
110
|
+
|
111
|
+
it "has an preference_set field, that is a TypedSet" do
|
112
|
+
@config.preference_set.should be_a TypedSet
|
113
|
+
end
|
114
|
+
|
115
|
+
it "preference_set should be typed to preference objects" do
|
116
|
+
@config.preference_set.set_class.should be Confetti::Config::Preference
|
117
|
+
end
|
118
|
+
|
119
|
+
it "should not allow preference_set to be clobbered" do
|
120
|
+
lambda {
|
121
|
+
@config.preference_set = {
|
122
|
+
'Autorotate' => false,
|
123
|
+
'Notification' => 'silent'
|
124
|
+
}
|
125
|
+
}.should raise_error
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
describe "#initialize with file" do
|
130
|
+
before do
|
131
|
+
# pretty gross rspec
|
132
|
+
@blank_config = Confetti::Config.new
|
133
|
+
end
|
134
|
+
|
135
|
+
it "should not call #is_file? if no arguments are passed" do
|
136
|
+
@blank_config.should_not_receive(:is_file?)
|
137
|
+
@blank_config.send :initialize
|
138
|
+
end
|
139
|
+
|
140
|
+
it "should call #is_file? with an argument passed" do
|
141
|
+
@blank_config.should_receive(:is_file?)
|
142
|
+
@blank_config.send :initialize, "config.xml"
|
143
|
+
end
|
144
|
+
|
145
|
+
it "should call #populate_from_xml with a file passed" do
|
146
|
+
@blank_config.stub(:is_file?).and_return(true)
|
147
|
+
@blank_config.should_receive(:populate_from_xml).with("config.xml")
|
148
|
+
@blank_config.send :initialize, "config.xml"
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
152
|
+
describe "#populate_from_xml" do
|
153
|
+
it "should try to read the passed filename" do
|
154
|
+
File.should_receive(:read).with("config.xml")
|
155
|
+
lambda {
|
156
|
+
@config.populate_from_xml "config.xml"
|
157
|
+
}.should raise_error
|
158
|
+
end
|
159
|
+
|
160
|
+
it "should raise an error if can't parse" do
|
161
|
+
lambda {
|
162
|
+
@config.populate_from_xml("foo.goo")
|
163
|
+
}.should raise_error
|
164
|
+
end
|
165
|
+
|
166
|
+
describe "when setting attributes from config.xml" do
|
167
|
+
before do
|
168
|
+
@config.populate_from_xml(fixture_dir + "/config.xml")
|
169
|
+
end
|
170
|
+
|
171
|
+
it "should populate the app's package when present" do
|
172
|
+
@config.package.should == "com.alunny.confetti"
|
173
|
+
end
|
174
|
+
|
175
|
+
it "should populate the app's name when present" do
|
176
|
+
@config.name.name.should == "Confetti Sample App"
|
177
|
+
end
|
178
|
+
|
179
|
+
it "should populate the app's version when present" do
|
180
|
+
@config.version.should == "1.0.0"
|
181
|
+
end
|
182
|
+
|
183
|
+
it "should populate the app's description when present" do
|
184
|
+
desc = "This is a sample config.xml for integration testing with Confetti"
|
185
|
+
@config.description.should == desc
|
186
|
+
end
|
187
|
+
|
188
|
+
describe "widget Author" do
|
189
|
+
it "should populate the author's name" do
|
190
|
+
@config.author.name.should == "Andrew Lunny"
|
191
|
+
end
|
192
|
+
|
193
|
+
it "should populate the author's href (url)" do
|
194
|
+
@config.author.href.should == "http://alunny.github.com"
|
195
|
+
end
|
196
|
+
|
197
|
+
it "should populate the author's email" do
|
198
|
+
@config.author.email.should == "alunny@gmail.com"
|
199
|
+
end
|
200
|
+
end
|
201
|
+
end
|
202
|
+
end
|
203
|
+
|
204
|
+
describe "config generation" do
|
205
|
+
it_should_have_generate_and_write_methods_for :android_manifest
|
206
|
+
|
207
|
+
it_should_have_generate_and_write_methods_for :android_strings
|
208
|
+
|
209
|
+
it_should_have_generate_and_write_methods_for :webos_appinfo
|
210
|
+
|
211
|
+
it_should_have_generate_and_write_methods_for :ios_info
|
212
|
+
|
213
|
+
it_should_have_generate_and_write_methods_for :symbian_wrt_info
|
214
|
+
|
215
|
+
it_should_have_generate_and_write_methods_for :blackberry_widgets_config
|
216
|
+
end
|
217
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
3
|
+
package="com.alunny.confetti"
|
4
|
+
android:versionName="1.0.0"
|
5
|
+
android:versionCode="1">
|
6
|
+
<uses-permission android:name="android.permission.CAMERA" />
|
7
|
+
<uses-permission android:name="android.permission.VIBRATE" />
|
8
|
+
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
9
|
+
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
10
|
+
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
|
11
|
+
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
12
|
+
<uses-permission android:name="android.permission.INTERNET" />
|
13
|
+
<uses-permission android:name="android.permission.RECEIVE_SMS" />
|
14
|
+
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
15
|
+
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
|
16
|
+
<uses-permission android:name="android.permission.READ_CONTACTS" />
|
17
|
+
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
|
18
|
+
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
19
|
+
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
20
|
+
|
21
|
+
<application android:icon="@drawable/icon" android:label="@string/app_name"
|
22
|
+
android:debuggable="true">
|
23
|
+
<activity android:name=".ConfettiSampleApp"
|
24
|
+
android:label="@string/app_name" android:configChanges="orientation|keyboardHidden">
|
25
|
+
<intent-filter>
|
26
|
+
<action android:name="android.intent.action.MAIN" />
|
27
|
+
<category android:name="android.intent.category.LAUNCHER" />
|
28
|
+
</intent-filter>
|
29
|
+
</activity>
|
30
|
+
</application>
|
31
|
+
<uses-sdk android:minSdkVersion="2" />
|
32
|
+
|
33
|
+
</manifest>
|
@@ -0,0 +1,33 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
3
|
+
package="com.whoever.awesome.app"
|
4
|
+
android:versionName="0.0.1"
|
5
|
+
android:versionCode="1">
|
6
|
+
<uses-permission android:name="android.permission.CAMERA" />
|
7
|
+
<uses-permission android:name="android.permission.VIBRATE" />
|
8
|
+
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
9
|
+
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
10
|
+
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
|
11
|
+
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
12
|
+
<uses-permission android:name="android.permission.INTERNET" />
|
13
|
+
<uses-permission android:name="android.permission.RECEIVE_SMS" />
|
14
|
+
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
15
|
+
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
|
16
|
+
<uses-permission android:name="android.permission.READ_CONTACTS" />
|
17
|
+
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
|
18
|
+
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
19
|
+
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
20
|
+
|
21
|
+
<application android:icon="@drawable/icon" android:label="@string/app_name"
|
22
|
+
android:debuggable="true">
|
23
|
+
<activity android:name=".AwesomeApp"
|
24
|
+
android:label="@string/app_name" android:configChanges="orientation|keyboardHidden">
|
25
|
+
<intent-filter>
|
26
|
+
<action android:name="android.intent.action.MAIN" />
|
27
|
+
<category android:name="android.intent.category.LAUNCHER" />
|
28
|
+
</intent-filter>
|
29
|
+
</activity>
|
30
|
+
</application>
|
31
|
+
<uses-sdk android:minSdkVersion="2" />
|
32
|
+
|
33
|
+
</manifest>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!-- Widget Configuration Reference: http://docs.blackberry.com/en/developers/deliverables/15274/ -->
|
3
|
+
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:rim="http://www.blackberry.com/ns/widgets"
|
4
|
+
version="1.0.0"
|
5
|
+
id="com.alunny.confetti">
|
6
|
+
<name>Confetti Sample App</name>
|
7
|
+
<author href="http://alunny.github.com" email="alunny@gmail.com">Andrew Lunny</author>
|
8
|
+
<description>This is a sample config.xml for integration testing with Confetti</description>
|
9
|
+
<license></license>
|
10
|
+
<feature id="blackberry.system" required="true" version="1.0.0.0"/>
|
11
|
+
<feature id="phonegap" required="false" version="1.0.0"/>
|
12
|
+
<access subdomains="true" uri="file:///store/home"/>
|
13
|
+
<access subdomains="true" uri="file:///SDCard"/>
|
14
|
+
<icon rim:hover="false" src="resources/icon.png"/>
|
15
|
+
<icon rim:hover="true" src="resources/icon_hover.png"/>
|
16
|
+
<content src="index.html"/>
|
17
|
+
<rim:loadingScreen backgroundColor="#000000" foregroundImage="resources/loading_foreground.png" onFirstLaunch="true">
|
18
|
+
<rim:transitionEffect type="fadeOut"/>
|
19
|
+
</rim:loadingScreen>
|
20
|
+
</widget>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!-- Widget Configuration Reference: http://docs.blackberry.com/en/developers/deliverables/15274/ -->
|
3
|
+
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:rim="http://www.blackberry.com/ns/widgets"
|
4
|
+
version="1.0.0"
|
5
|
+
id="com.whoever.awesome.app">
|
6
|
+
<name>Awesome App</name>
|
7
|
+
<author href="http://brucelee.cn" email="blee@hotmail.com">Bruce Lee</author>
|
8
|
+
<description>My New App, by Bruce Lee</description>
|
9
|
+
<license></license>
|
10
|
+
<feature id="blackberry.system" required="true" version="1.0.0.0"/>
|
11
|
+
<feature id="phonegap" required="false" version="1.0.0"/>
|
12
|
+
<access subdomains="true" uri="file:///store/home"/>
|
13
|
+
<access subdomains="true" uri="file:///SDCard"/>
|
14
|
+
<icon rim:hover="false" src="resources/icon.png"/>
|
15
|
+
<icon rim:hover="true" src="resources/icon_hover.png"/>
|
16
|
+
<content src="index.html"/>
|
17
|
+
<rim:loadingScreen backgroundColor="#000000" foregroundImage="resources/loading_foreground.png" onFirstLaunch="true">
|
18
|
+
<rim:transitionEffect type="fadeOut"/>
|
19
|
+
</rim:loadingScreen>
|
20
|
+
</widget>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<widget xmlns = "http://www.w3.org/ns/widgets"
|
3
|
+
id = "com.alunny.confetti"
|
4
|
+
version = "1.0.0">
|
5
|
+
|
6
|
+
<name>Confetti Sample App</name>
|
7
|
+
|
8
|
+
<description>
|
9
|
+
This is a sample config.xml for integration testing with Confetti
|
10
|
+
</description>
|
11
|
+
|
12
|
+
<author href="http://alunny.github.com"
|
13
|
+
email="alunny@gmail.com">
|
14
|
+
Andrew Lunny
|
15
|
+
</author>
|
16
|
+
|
17
|
+
<icon src="icon.png" />
|
18
|
+
|
19
|
+
<feature name="http://api.phonegap.com/1.0/geolocation"/>
|
20
|
+
<feature name="http://api.phonegap.com/1.0/network"/>
|
21
|
+
</widget>
|
@@ -0,0 +1,48 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
3
|
+
<plist version="1.0">
|
4
|
+
<dict>
|
5
|
+
<key>CFBundleIconFiles</key>
|
6
|
+
<array>
|
7
|
+
<string>icon.png</string>
|
8
|
+
<string>icon-72.png</string>
|
9
|
+
</array>
|
10
|
+
<key>UISupportedInterfaceOrientations~ipad</key>
|
11
|
+
<array>
|
12
|
+
<string>UIInterfaceOrientationPortrait</string>
|
13
|
+
<string>UIInterfaceOrientationLandscapeLeft</string>
|
14
|
+
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
15
|
+
<string>UIInterfaceOrientationLandscapeRight</string>
|
16
|
+
</array>
|
17
|
+
<key>UISupportedInterfaceOrientations</key>
|
18
|
+
<array>
|
19
|
+
<string>UIInterfaceOrientationPortrait</string>
|
20
|
+
</array>
|
21
|
+
<key>CFBundleDevelopmentRegion</key>
|
22
|
+
<string>English</string>
|
23
|
+
<key>CFBundleDisplayName</key>
|
24
|
+
<string>Confetti Sample App</string>
|
25
|
+
<key>CFBundleExecutable</key>
|
26
|
+
<string>${EXECUTABLE_NAME}</string>
|
27
|
+
<key>CFBundleIconFile</key>
|
28
|
+
<string>icon.png</string>
|
29
|
+
<key>CFBundleIdentifier</key>
|
30
|
+
<string>com.alunny.confetti</string>
|
31
|
+
<key>CFBundleInfoDictionaryVersion</key>
|
32
|
+
<string>6.0</string>
|
33
|
+
<key>CFBundleName</key>
|
34
|
+
<string>Confetti Sample App</string>
|
35
|
+
<key>CFBundlePackageType</key>
|
36
|
+
<string>APPL</string>
|
37
|
+
<key>CFBundleSignature</key>
|
38
|
+
<string>????</string>
|
39
|
+
<key>CFBundleVersion</key>
|
40
|
+
<string>1.0.0</string>
|
41
|
+
<key>LSRequiresIPhoneOS</key>
|
42
|
+
<true/>
|
43
|
+
<key>NSMainNibFile</key>
|
44
|
+
<string></string>
|
45
|
+
<key>NSMainNibFile~ipad</key>
|
46
|
+
<string>-iPad</string>
|
47
|
+
</dict>
|
48
|
+
</plist>
|