confetti 0.2.10 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +1 -1
- data/lib/confetti/config.rb +19 -2
- data/lib/confetti/templates/android_manifest.mustache +11 -1
- data/lib/confetti/templates/android_manifest.rb +10 -0
- data/lib/confetti/templates/blackberry_widgets_config.mustache +3 -2
- data/lib/confetti/templates/blackberry_widgets_config.rb +21 -3
- data/lib/confetti/templates/ios_info.mustache +43 -42
- data/lib/confetti/templates/ios_info.rb +21 -0
- data/lib/confetti/version.rb +1 -1
- data/spec/config_spec.rb +34 -0
- data/spec/fixtures/{AndroidManifest_expected.xml → android/AndroidManifest_expected.xml} +11 -1
- data/spec/fixtures/{android_manifest_spec.xml → android/android_manifest_spec.xml} +11 -1
- data/spec/fixtures/android/android_manifest_spec_with_expected_orientation.xml +30 -0
- data/spec/fixtures/{android_strings_expected.xml → android/android_strings_expected.xml} +0 -0
- data/spec/fixtures/{android_strings_spec.xml → android/android_strings_spec.xml} +0 -0
- data/spec/fixtures/{blackberry_widget_config_expected.xml → blackberry/blackberry_widget_config_expected.xml} +3 -2
- data/spec/fixtures/blackberry/blackberry_widget_config_no_version_or_id.xml +25 -0
- data/spec/fixtures/{blackberry_widget_config_spec.xml → blackberry/blackberry_widget_config_spec.xml} +3 -2
- data/spec/fixtures/blackberry/blackberry_widget_config_spec_with_expected_orientation.xml +31 -0
- data/spec/fixtures/config-icons.xml +2 -2
- data/spec/fixtures/config_with_orientation.xml +25 -0
- data/spec/fixtures/config_with_version_code.xml +23 -0
- data/spec/fixtures/ios/ios_info_expected.plist +50 -0
- data/spec/fixtures/ios/ios_info_spec.plist +50 -0
- data/spec/fixtures/ios/ios_info_spec_expected_orientation.plist +46 -0
- data/spec/fixtures/{symbian_wrt_info_expected.plist → symbian/symbian_wrt_info_expected.plist} +0 -0
- data/spec/fixtures/{symbian_wrt_info_spec.plist → symbian/symbian_wrt_info_spec.plist} +0 -0
- data/spec/fixtures/{appinfo_expected.json → webos/appinfo_expected.json} +0 -0
- data/spec/fixtures/{webos_appinfo_spec.json → webos/webos_appinfo_spec.json} +0 -0
- data/spec/integration_spec.rb +12 -12
- data/spec/templates/android_manifest_spec.rb +36 -1
- data/spec/templates/android_strings_spec.rb +1 -1
- data/spec/templates/blackberry_widget_config_spec.rb +69 -1
- data/spec/templates/ios_info_spec.rb +37 -1
- data/spec/templates/symbian_wrt_info_spec.rb +1 -1
- data/spec/templates/webos_appinfo_spec.rb +1 -1
- metadata +41 -29
- data/spec/fixtures/ios_info_expected.plist +0 -47
- data/spec/fixtures/ios_info_spec.plist +0 -47
data/Gemfile.lock
CHANGED
data/lib/confetti/config.rb
CHANGED
@@ -4,8 +4,9 @@ module Confetti
|
|
4
4
|
include PhoneGap
|
5
5
|
self.extend TemplateHelper
|
6
6
|
|
7
|
-
attr_accessor :package, :version_string, :version_code, :description,
|
8
|
-
|
7
|
+
attr_accessor :package, :version_string, :version_code, :description,
|
8
|
+
:height, :width
|
9
|
+
attr_reader :author, :viewmodes, :name, :license, :content,
|
9
10
|
:icon_set, :feature_set, :preference_set, :xml_doc,
|
10
11
|
:splash_set
|
11
12
|
|
@@ -51,6 +52,7 @@ module Confetti
|
|
51
52
|
|
52
53
|
@package = config_doc.attributes["id"]
|
53
54
|
@version_string = config_doc.attributes["version"]
|
55
|
+
@version_code = config_doc.attributes["versionCode"]
|
54
56
|
|
55
57
|
config_doc.elements.each do |ele|
|
56
58
|
attr = ele.attributes
|
@@ -70,6 +72,8 @@ module Confetti
|
|
70
72
|
@splash_set << Image.new(attr["src"], attr["height"], attr["width"], extras)
|
71
73
|
when "feature"
|
72
74
|
@feature_set << Feature.new(attr["name"], attr["required"])
|
75
|
+
when "preference"
|
76
|
+
@preference_set << Preference.new(attr["name"], attr["value"], attr["readonly"])
|
73
77
|
when "license"
|
74
78
|
@license = License.new(ele.text.nil? ? "" : ele.text.strip, attr["href"])
|
75
79
|
end
|
@@ -88,6 +92,19 @@ module Confetti
|
|
88
92
|
@splash_set.first
|
89
93
|
end
|
90
94
|
|
95
|
+
# simple helper for grabbing chosen orientation, or the default
|
96
|
+
# returns one of :portrait, :landscape, or :default
|
97
|
+
def orientation
|
98
|
+
values = %w{portrait landscape default}
|
99
|
+
pref = @preference_set.detect { |pref| pref.name == "orientation" }
|
100
|
+
|
101
|
+
unless pref && pref.value
|
102
|
+
:default
|
103
|
+
else
|
104
|
+
values.include?(pref.value) ? pref.value.to_sym : :default
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
91
108
|
def grab_extras(attributes)
|
92
109
|
extras = attributes.keys.inject({}) do |hash, key|
|
93
110
|
hash[key] = attributes[key] unless Image.public_instance_methods.include? key
|
@@ -3,6 +3,15 @@
|
|
3
3
|
package="{{ package_name }}"
|
4
4
|
android:versionName="{{ version }}"
|
5
5
|
android:versionCode="{{ version_code }}">
|
6
|
+
|
7
|
+
<supports-screens
|
8
|
+
android:largeScreens="true"
|
9
|
+
android:normalScreens="true"
|
10
|
+
android:smallScreens="true"
|
11
|
+
android:resizeable="true"
|
12
|
+
android:anyDensity="true"
|
13
|
+
/>
|
14
|
+
|
6
15
|
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
7
16
|
<uses-permission android:name="android.permission.INTERNET" />
|
8
17
|
{{# permissions }}
|
@@ -12,6 +21,7 @@
|
|
12
21
|
<application android:icon="@drawable/icon" android:label="@string/app_name"
|
13
22
|
android:debuggable="true">
|
14
23
|
<activity android:name=".{{ class_name }}"
|
24
|
+
android:screenOrientation="{{ app_orientation }}"
|
15
25
|
android:label="@string/app_name" android:configChanges="orientation|keyboardHidden">
|
16
26
|
<intent-filter>
|
17
27
|
<action android:name="android.intent.action.MAIN" />
|
@@ -21,4 +31,4 @@
|
|
21
31
|
</application>
|
22
32
|
<uses-sdk android:minSdkVersion="2" />
|
23
33
|
|
24
|
-
</manifest>
|
34
|
+
</manifest>
|
@@ -14,6 +14,12 @@ module Confetti
|
|
14
14
|
"network" => ["ACCESS_NETWORK_STATE"]
|
15
15
|
}
|
16
16
|
|
17
|
+
ORIENTATIONS_MAP = {
|
18
|
+
:default => "unspecified",
|
19
|
+
:landscape => "landscape",
|
20
|
+
:portrait => "portrait"
|
21
|
+
}
|
22
|
+
|
17
23
|
def package_name
|
18
24
|
convert_to_java_package_id(@config.package)
|
19
25
|
end
|
@@ -34,6 +40,10 @@ module Confetti
|
|
34
40
|
@config.version_code || '1'
|
35
41
|
end
|
36
42
|
|
43
|
+
def app_orientation
|
44
|
+
ORIENTATIONS_MAP[@config.orientation]
|
45
|
+
end
|
46
|
+
|
37
47
|
def permissions
|
38
48
|
permissions = []
|
39
49
|
phonegap_api = /http\:\/\/api.phonegap.com\/1[.]0\/(\w+)/
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
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="{{ version }}"
|
3
|
+
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:rim="http://www.blackberry.com/ns/widgets"
|
4
|
+
version="{{ version }}"
|
5
5
|
id="{{ widget_id }}">
|
6
6
|
<name>{{ widget_name }}</name>
|
7
7
|
<author href="{{ author_href }}" email="{{ author_email }}">{{ author_name }}</author>
|
@@ -27,4 +27,5 @@
|
|
27
27
|
<rim:loadingScreen backgroundColor="#000000" foregroundImage="resources/loading_foreground.png" onFirstLaunch="true">
|
28
28
|
<rim:transitionEffect type="fadeOut"/>
|
29
29
|
</rim:loadingScreen>
|
30
|
+
<rim:orientation mode="{{app_orientation}}" />
|
30
31
|
</widget>
|
@@ -1,14 +1,28 @@
|
|
1
1
|
module Confetti
|
2
2
|
module Template
|
3
3
|
class BlackberryWidgetsConfig < Base
|
4
|
+
ORIENTATIONS_MAP = {
|
5
|
+
:default => "auto",
|
6
|
+
:landscape => "landscape",
|
7
|
+
:portrait => "portrait"
|
8
|
+
}
|
9
|
+
|
4
10
|
def widget_id
|
5
|
-
@config.package
|
11
|
+
if @config.package.nil? or @config.package.empty?
|
12
|
+
"com.default.noname"
|
13
|
+
else
|
14
|
+
@config.package
|
15
|
+
end
|
6
16
|
end
|
7
17
|
|
8
18
|
def version
|
9
|
-
@config.version_string
|
19
|
+
if @config.version_string.nil? or @config.version_string.empty?
|
20
|
+
"0.0.1"
|
21
|
+
else
|
22
|
+
@config.version_string
|
23
|
+
end
|
10
24
|
end
|
11
|
-
|
25
|
+
|
12
26
|
def widget_name
|
13
27
|
@config.name.name
|
14
28
|
end
|
@@ -44,6 +58,10 @@ module Confetti
|
|
44
58
|
def output_filename
|
45
59
|
"config.xml"
|
46
60
|
end
|
61
|
+
|
62
|
+
def app_orientation
|
63
|
+
ORIENTATIONS_MAP[@config.orientation]
|
64
|
+
end
|
47
65
|
end
|
48
66
|
end
|
49
67
|
end
|
@@ -2,46 +2,47 @@
|
|
2
2
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
3
3
|
<plist version="1.0">
|
4
4
|
<dict>
|
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
|
-
|
5
|
+
<key>CFBundleIconFiles</key>
|
6
|
+
<array>
|
7
|
+
<string>icon.png</string>
|
8
|
+
</array>
|
9
|
+
<key>UISupportedInterfaceOrientations~ipad</key>
|
10
|
+
<array>
|
11
|
+
{{# app_orientations }}
|
12
|
+
<string>{{ to_s }}</string>
|
13
|
+
{{/ app_orientations }}
|
14
|
+
</array>
|
15
|
+
<key>UISupportedInterfaceOrientations</key>
|
16
|
+
<array>
|
17
|
+
{{# app_orientations }}
|
18
|
+
<string>{{ to_s }}</string>
|
19
|
+
{{/ app_orientations }}
|
20
|
+
</array>
|
21
|
+
<key>CFBundleDevelopmentRegion</key>
|
22
|
+
<string>English</string>
|
23
|
+
<key>CFBundleDisplayName</key>
|
24
|
+
<string>{{ product_name }}</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>{{ bundle_identifier }}</string>
|
31
|
+
<key>CFBundleInfoDictionaryVersion</key>
|
32
|
+
<string>6.0</string>
|
33
|
+
<key>CFBundleName</key>
|
34
|
+
<string>{{ product_name }}</string>
|
35
|
+
<key>CFBundlePackageType</key>
|
36
|
+
<string>APPL</string>
|
37
|
+
<key>CFBundleSignature</key>
|
38
|
+
<string>????</string>
|
39
|
+
<key>CFBundleVersion</key>
|
40
|
+
<string>{{ bundle_version }}</string>
|
41
|
+
<key>LSRequiresIPhoneOS</key>
|
42
|
+
<true/>
|
43
|
+
<key>NSMainNibFile</key>
|
44
|
+
<string></string>
|
45
|
+
<key>NSMainNibFile~ipad</key>
|
46
|
+
<string>-iPad</string>
|
46
47
|
</dict>
|
47
|
-
</plist>
|
48
|
+
</plist>
|
@@ -1,6 +1,23 @@
|
|
1
1
|
module Confetti
|
2
2
|
module Template
|
3
3
|
class IosInfo < Base
|
4
|
+
ORIENTATIONS_MAP = {
|
5
|
+
:landscape => [
|
6
|
+
"UIInterfaceOrientationLandscapeLeft",
|
7
|
+
"UIInterfaceOrientationLandscapeRight"
|
8
|
+
],
|
9
|
+
:portrait => [
|
10
|
+
"UIInterfaceOrientationPortrait",
|
11
|
+
"UIInterfaceOrientationPortraitUpsideDown"
|
12
|
+
],
|
13
|
+
:default => [
|
14
|
+
"UIInterfaceOrientationLandscapeLeft",
|
15
|
+
"UIInterfaceOrientationLandscapeRight",
|
16
|
+
"UIInterfaceOrientationPortrait",
|
17
|
+
"UIInterfaceOrientationPortraitUpsideDown"
|
18
|
+
]
|
19
|
+
}
|
20
|
+
|
4
21
|
def bundle_identifier
|
5
22
|
@config.package
|
6
23
|
end
|
@@ -16,6 +33,10 @@ module Confetti
|
|
16
33
|
def output_filename
|
17
34
|
"Info.plist"
|
18
35
|
end
|
36
|
+
|
37
|
+
def app_orientations
|
38
|
+
ORIENTATIONS_MAP[@config.orientation]
|
39
|
+
end
|
19
40
|
end
|
20
41
|
end
|
21
42
|
end
|
data/lib/confetti/version.rb
CHANGED
data/spec/config_spec.rb
CHANGED
@@ -400,4 +400,38 @@ describe Confetti::Config do
|
|
400
400
|
end
|
401
401
|
end
|
402
402
|
end
|
403
|
+
|
404
|
+
describe "orientation helper" do
|
405
|
+
it "should be :default with none set" do
|
406
|
+
c = Confetti::Config.new
|
407
|
+
c.orientation.should be :default
|
408
|
+
end
|
409
|
+
|
410
|
+
describe "with an orientation preference" do
|
411
|
+
before do
|
412
|
+
@config = Confetti::Config.new
|
413
|
+
@orientation_pref = Confetti::Config::Preference.new "orientation"
|
414
|
+
@config.preference_set << @orientation_pref
|
415
|
+
end
|
416
|
+
|
417
|
+
it "should be :default when no value is set" do
|
418
|
+
@config.orientation.should be :default
|
419
|
+
end
|
420
|
+
|
421
|
+
it "should be :landscape when the value is 'landscape'" do
|
422
|
+
@orientation_pref.value = "landscape"
|
423
|
+
@config.orientation.should be :landscape
|
424
|
+
end
|
425
|
+
|
426
|
+
it "should be :portrait when the value is 'portrait'" do
|
427
|
+
@orientation_pref.value = "portrait"
|
428
|
+
@config.orientation.should be :portrait
|
429
|
+
end
|
430
|
+
|
431
|
+
it "should be :default when the value is unexpected" do
|
432
|
+
@orientation_pref.value = "topwise"
|
433
|
+
@config.orientation.should be :default
|
434
|
+
end
|
435
|
+
end
|
436
|
+
end
|
403
437
|
end
|
@@ -3,6 +3,15 @@
|
|
3
3
|
package="com.alunny.confetti"
|
4
4
|
android:versionName="1.0.0"
|
5
5
|
android:versionCode="1">
|
6
|
+
|
7
|
+
<supports-screens
|
8
|
+
android:largeScreens="true"
|
9
|
+
android:normalScreens="true"
|
10
|
+
android:smallScreens="true"
|
11
|
+
android:resizeable="true"
|
12
|
+
android:anyDensity="true"
|
13
|
+
/>
|
14
|
+
|
6
15
|
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
7
16
|
<uses-permission android:name="android.permission.INTERNET" />
|
8
17
|
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
@@ -13,6 +22,7 @@
|
|
13
22
|
<application android:icon="@drawable/icon" android:label="@string/app_name"
|
14
23
|
android:debuggable="true">
|
15
24
|
<activity android:name=".ConfettiSampleApp"
|
25
|
+
android:screenOrientation="unspecified"
|
16
26
|
android:label="@string/app_name" android:configChanges="orientation|keyboardHidden">
|
17
27
|
<intent-filter>
|
18
28
|
<action android:name="android.intent.action.MAIN" />
|
@@ -22,4 +32,4 @@
|
|
22
32
|
</application>
|
23
33
|
<uses-sdk android:minSdkVersion="2" />
|
24
34
|
|
25
|
-
</manifest>
|
35
|
+
</manifest>
|
@@ -3,6 +3,15 @@
|
|
3
3
|
package="com.whoever.awesome.app"
|
4
4
|
android:versionName="0.0.1"
|
5
5
|
android:versionCode="1">
|
6
|
+
|
7
|
+
<supports-screens
|
8
|
+
android:largeScreens="true"
|
9
|
+
android:normalScreens="true"
|
10
|
+
android:smallScreens="true"
|
11
|
+
android:resizeable="true"
|
12
|
+
android:anyDensity="true"
|
13
|
+
/>
|
14
|
+
|
6
15
|
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
7
16
|
<uses-permission android:name="android.permission.INTERNET" />
|
8
17
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
@@ -11,6 +20,7 @@
|
|
11
20
|
<application android:icon="@drawable/icon" android:label="@string/app_name"
|
12
21
|
android:debuggable="true">
|
13
22
|
<activity android:name=".AwesomeApp"
|
23
|
+
android:screenOrientation="unspecified"
|
14
24
|
android:label="@string/app_name" android:configChanges="orientation|keyboardHidden">
|
15
25
|
<intent-filter>
|
16
26
|
<action android:name="android.intent.action.MAIN" />
|
@@ -20,4 +30,4 @@
|
|
20
30
|
</application>
|
21
31
|
<uses-sdk android:minSdkVersion="2" />
|
22
32
|
|
23
|
-
</manifest>
|
33
|
+
</manifest>
|
@@ -0,0 +1,30 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
3
|
+
package="com.nitobi.johngarrett"
|
4
|
+
android:versionName="1.0"
|
5
|
+
android:versionCode="5">
|
6
|
+
|
7
|
+
<supports-screens
|
8
|
+
android:largeScreens="true"
|
9
|
+
android:normalScreens="true"
|
10
|
+
android:smallScreens="true"
|
11
|
+
android:resizeable="true"
|
12
|
+
android:anyDensity="true"
|
13
|
+
/>
|
14
|
+
|
15
|
+
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
16
|
+
<uses-permission android:name="android.permission.INTERNET" />
|
17
|
+
<application android:icon="@drawable/icon" android:label="@string/app_name"
|
18
|
+
android:debuggable="true">
|
19
|
+
<activity android:name=".JohnGarrettDrinkingGame"
|
20
|
+
android:screenOrientation="landscape"
|
21
|
+
android:label="@string/app_name" android:configChanges="orientation|keyboardHidden">
|
22
|
+
<intent-filter>
|
23
|
+
<action android:name="android.intent.action.MAIN" />
|
24
|
+
<category android:name="android.intent.category.LAUNCHER" />
|
25
|
+
</intent-filter>
|
26
|
+
</activity>
|
27
|
+
</application>
|
28
|
+
<uses-sdk android:minSdkVersion="2" />
|
29
|
+
|
30
|
+
</manifest>
|
File without changes
|
File without changes
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
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"
|
3
|
+
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:rim="http://www.blackberry.com/ns/widgets"
|
4
|
+
version="1.0.0"
|
5
5
|
id="com.alunny.confetti">
|
6
6
|
<name>Confetti Sample App</name>
|
7
7
|
<author href="http://alunny.github.com" email="alunny@gmail.com">Andrew Lunny</author>
|
@@ -47,4 +47,5 @@ THE SOFTWARE.</license>
|
|
47
47
|
<rim:loadingScreen backgroundColor="#000000" foregroundImage="resources/loading_foreground.png" onFirstLaunch="true">
|
48
48
|
<rim:transitionEffect type="fadeOut"/>
|
49
49
|
</rim:loadingScreen>
|
50
|
+
<rim:orientation mode="auto" />
|
50
51
|
</widget>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<widget xmlns = "http://www.w3.org/ns/widgets"
|
3
|
+
xmlns:gap = "http://phonegap.com/ns/1.0"
|
4
|
+
version=""
|
5
|
+
id="">
|
6
|
+
|
7
|
+
<name>Regression Test</name>
|
8
|
+
|
9
|
+
<description>
|
10
|
+
This is part of a regression test for blackberry
|
11
|
+
</description>
|
12
|
+
|
13
|
+
<author href="http://alunny.github.com"
|
14
|
+
email="hardeep.shoker@nitobi.com">
|
15
|
+
Andrew Lunny
|
16
|
+
</author>
|
17
|
+
|
18
|
+
<icon src="icon.png" height="150" width="200" />
|
19
|
+
|
20
|
+
<gap:splash src="mainsplash.png" height="480" width="360" />
|
21
|
+
|
22
|
+
<feature name="http://api.phonegap.com/1.0/geolocation" required="true"/>
|
23
|
+
<feature name="http://api.phonegap.com/1.0/camera" required="true"/>
|
24
|
+
<feature name="http://api.phonegap.com/1.0/notification" required="true"/>
|
25
|
+
</widget>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
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"
|
3
|
+
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:rim="http://www.blackberry.com/ns/widgets"
|
4
|
+
version="1.0.0"
|
5
5
|
id="com.whoever.awesome.app">
|
6
6
|
<name>Awesome App</name>
|
7
7
|
<author href="http://brucelee.cn" email="blee@hotmail.com">Bruce Lee</author>
|
@@ -27,4 +27,5 @@
|
|
27
27
|
<rim:loadingScreen backgroundColor="#000000" foregroundImage="resources/loading_foreground.png" onFirstLaunch="true">
|
28
28
|
<rim:transitionEffect type="fadeOut"/>
|
29
29
|
</rim:loadingScreen>
|
30
|
+
<rim:orientation mode="auto" />
|
30
31
|
</widget>
|
@@ -0,0 +1,31 @@
|
|
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"
|
5
|
+
id="com.nitobi.johngarrett">
|
6
|
+
<name>John Garrett Drinking Game</name>
|
7
|
+
<author href="http://www.nitobi.com" email="support@nitobi.com">Tim Kim, Ryan Betts, Fil Maj</author>
|
8
|
+
<description>If you're watching a Canucks game, you need play this.</description>
|
9
|
+
<license href=""></license>
|
10
|
+
<feature id="blackberry.system" required="true" version="1.0.0.0" />
|
11
|
+
<feature id="phonegap" required="true" version="0.9.5.1" />
|
12
|
+
<feature id="blackberry.find" required="true" version="1.0.0.0" />
|
13
|
+
<feature id="blackberry.identity" required="true" version="1.0.0.0" />
|
14
|
+
<feature id="blackberry.pim.Address" required="true" version="1.0.0.0" />
|
15
|
+
<feature id="blackberry.pim.Contact" required="true" version="1.0.0.0" />
|
16
|
+
<feature id="blackberry.io.file" required="true" version="1.0.0.0" />
|
17
|
+
<feature id="blackberry.utils" required="true" version="1.0.0.0" />
|
18
|
+
<feature id="blackberry.io.dir" required="true" version="1.0.0.0" />
|
19
|
+
<feature id="blackberry.app" required="true" version="1.0.0.0" />
|
20
|
+
<feature id="blackberry.app.event" required="true" version="1.0.0.0" />
|
21
|
+
<access subdomains="true" uri="file:///store/home"/>
|
22
|
+
<access subdomains="true" uri="file:///SDCard"/>
|
23
|
+
<access subdomains="true" uri="*" />
|
24
|
+
<icon rim:hover="false" src="resources/icon.png"/>
|
25
|
+
<icon rim:hover="true" src="resources/icon_hover.png"/>
|
26
|
+
<content src="index.html"/>
|
27
|
+
<rim:loadingScreen backgroundColor="#000000" foregroundImage="resources/loading_foreground.png" onFirstLaunch="true">
|
28
|
+
<rim:transitionEffect type="fadeOut"/>
|
29
|
+
</rim:loadingScreen>
|
30
|
+
<rim:orientation mode="landscape" />
|
31
|
+
</widget>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<widget xmlns = "http://www.w3.org/ns/widgets"
|
3
|
+
xmlns:gap = "http://phonegap.com/ns/1.0"
|
4
|
+
id = "com.nitobi.johngarrett"
|
5
|
+
version = "1.0"
|
6
|
+
versionCode = "5">
|
7
|
+
|
8
|
+
<name>John Garrett Drinking Game</name>
|
9
|
+
|
10
|
+
<description>
|
11
|
+
If you're watching a Canucks game, you need play this.
|
12
|
+
</description>
|
13
|
+
|
14
|
+
<author href="http://www.nitobi.com" email="support@nitobi.com">
|
15
|
+
Tim Kim, Ryan Betts, Fil Maj
|
16
|
+
</author>
|
17
|
+
|
18
|
+
<icon src="img/beer_72.png" width="72" height="72" />
|
19
|
+
<icon src="img/beer_48.png" width="48" height="48" />
|
20
|
+
<icon src="img/beer_36.png" width="36" height="36" />
|
21
|
+
|
22
|
+
<preference name="orientation" value="landscape" />
|
23
|
+
|
24
|
+
<gap:splash src="img/garrett_cropped2.png" />
|
25
|
+
</widget>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<widget xmlns = "http://www.w3.org/ns/widgets"
|
3
|
+
xmlns:gap = "http://phonegap.com/ns/1.0"
|
4
|
+
id = "com.nitobi.johngarrett"
|
5
|
+
version = "1.0"
|
6
|
+
versionCode = "5">
|
7
|
+
|
8
|
+
<name>John Garrett Drinking Game</name>
|
9
|
+
|
10
|
+
<description>
|
11
|
+
If you're watching a Canucks game, you need play this.
|
12
|
+
</description>
|
13
|
+
|
14
|
+
<author href="http://www.nitobi.com" email="support@nitobi.com">
|
15
|
+
Tim Kim, Ryan Betts, Fil Maj
|
16
|
+
</author>
|
17
|
+
|
18
|
+
<icon src="img/beer_72.png" width="72" height="72" />
|
19
|
+
<icon src="img/beer_48.png" width="48" height="48" />
|
20
|
+
<icon src="img/beer_36.png" width="36" height="36" />
|
21
|
+
|
22
|
+
<gap:splash src="img/garrett_cropped2.png" />
|
23
|
+
</widget>
|
@@ -0,0 +1,50 @@
|
|
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
|
+
</array>
|
9
|
+
<key>UISupportedInterfaceOrientations~ipad</key>
|
10
|
+
<array>
|
11
|
+
<string>UIInterfaceOrientationLandscapeLeft</string>
|
12
|
+
<string>UIInterfaceOrientationLandscapeRight</string>
|
13
|
+
<string>UIInterfaceOrientationPortrait</string>
|
14
|
+
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
15
|
+
</array>
|
16
|
+
<key>UISupportedInterfaceOrientations</key>
|
17
|
+
<array>
|
18
|
+
<string>UIInterfaceOrientationLandscapeLeft</string>
|
19
|
+
<string>UIInterfaceOrientationLandscapeRight</string>
|
20
|
+
<string>UIInterfaceOrientationPortrait</string>
|
21
|
+
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
22
|
+
</array>
|
23
|
+
<key>CFBundleDevelopmentRegion</key>
|
24
|
+
<string>English</string>
|
25
|
+
<key>CFBundleDisplayName</key>
|
26
|
+
<string>Confetti Sample App</string>
|
27
|
+
<key>CFBundleExecutable</key>
|
28
|
+
<string>${EXECUTABLE_NAME}</string>
|
29
|
+
<key>CFBundleIconFile</key>
|
30
|
+
<string>icon.png</string>
|
31
|
+
<key>CFBundleIdentifier</key>
|
32
|
+
<string>com.alunny.confetti</string>
|
33
|
+
<key>CFBundleInfoDictionaryVersion</key>
|
34
|
+
<string>6.0</string>
|
35
|
+
<key>CFBundleName</key>
|
36
|
+
<string>Confetti Sample App</string>
|
37
|
+
<key>CFBundlePackageType</key>
|
38
|
+
<string>APPL</string>
|
39
|
+
<key>CFBundleSignature</key>
|
40
|
+
<string>????</string>
|
41
|
+
<key>CFBundleVersion</key>
|
42
|
+
<string>1.0.0</string>
|
43
|
+
<key>LSRequiresIPhoneOS</key>
|
44
|
+
<true/>
|
45
|
+
<key>NSMainNibFile</key>
|
46
|
+
<string></string>
|
47
|
+
<key>NSMainNibFile~ipad</key>
|
48
|
+
<string>-iPad</string>
|
49
|
+
</dict>
|
50
|
+
</plist>
|
@@ -0,0 +1,50 @@
|
|
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
|
+
</array>
|
9
|
+
<key>UISupportedInterfaceOrientations~ipad</key>
|
10
|
+
<array>
|
11
|
+
<string>UIInterfaceOrientationLandscapeLeft</string>
|
12
|
+
<string>UIInterfaceOrientationLandscapeRight</string>
|
13
|
+
<string>UIInterfaceOrientationPortrait</string>
|
14
|
+
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
15
|
+
</array>
|
16
|
+
<key>UISupportedInterfaceOrientations</key>
|
17
|
+
<array>
|
18
|
+
<string>UIInterfaceOrientationLandscapeLeft</string>
|
19
|
+
<string>UIInterfaceOrientationLandscapeRight</string>
|
20
|
+
<string>UIInterfaceOrientationPortrait</string>
|
21
|
+
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
22
|
+
</array>
|
23
|
+
<key>CFBundleDevelopmentRegion</key>
|
24
|
+
<string>English</string>
|
25
|
+
<key>CFBundleDisplayName</key>
|
26
|
+
<string>Awesome App</string>
|
27
|
+
<key>CFBundleExecutable</key>
|
28
|
+
<string>${EXECUTABLE_NAME}</string>
|
29
|
+
<key>CFBundleIconFile</key>
|
30
|
+
<string>icon.png</string>
|
31
|
+
<key>CFBundleIdentifier</key>
|
32
|
+
<string>com.whoever.awesome.app</string>
|
33
|
+
<key>CFBundleInfoDictionaryVersion</key>
|
34
|
+
<string>6.0</string>
|
35
|
+
<key>CFBundleName</key>
|
36
|
+
<string>Awesome App</string>
|
37
|
+
<key>CFBundlePackageType</key>
|
38
|
+
<string>APPL</string>
|
39
|
+
<key>CFBundleSignature</key>
|
40
|
+
<string>????</string>
|
41
|
+
<key>CFBundleVersion</key>
|
42
|
+
<string>1.0.0</string>
|
43
|
+
<key>LSRequiresIPhoneOS</key>
|
44
|
+
<true/>
|
45
|
+
<key>NSMainNibFile</key>
|
46
|
+
<string></string>
|
47
|
+
<key>NSMainNibFile~ipad</key>
|
48
|
+
<string>-iPad</string>
|
49
|
+
</dict>
|
50
|
+
</plist>
|
@@ -0,0 +1,46 @@
|
|
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
|
+
</array>
|
9
|
+
<key>UISupportedInterfaceOrientations~ipad</key>
|
10
|
+
<array>
|
11
|
+
<string>UIInterfaceOrientationLandscapeLeft</string>
|
12
|
+
<string>UIInterfaceOrientationLandscapeRight</string>
|
13
|
+
</array>
|
14
|
+
<key>UISupportedInterfaceOrientations</key>
|
15
|
+
<array>
|
16
|
+
<string>UIInterfaceOrientationLandscapeLeft</string>
|
17
|
+
<string>UIInterfaceOrientationLandscapeRight</string>
|
18
|
+
</array>
|
19
|
+
<key>CFBundleDevelopmentRegion</key>
|
20
|
+
<string>English</string>
|
21
|
+
<key>CFBundleDisplayName</key>
|
22
|
+
<string>John Garrett Drinking Game</string>
|
23
|
+
<key>CFBundleExecutable</key>
|
24
|
+
<string>${EXECUTABLE_NAME}</string>
|
25
|
+
<key>CFBundleIconFile</key>
|
26
|
+
<string>icon.png</string>
|
27
|
+
<key>CFBundleIdentifier</key>
|
28
|
+
<string>com.nitobi.johngarrett</string>
|
29
|
+
<key>CFBundleInfoDictionaryVersion</key>
|
30
|
+
<string>6.0</string>
|
31
|
+
<key>CFBundleName</key>
|
32
|
+
<string>John Garrett Drinking Game</string>
|
33
|
+
<key>CFBundlePackageType</key>
|
34
|
+
<string>APPL</string>
|
35
|
+
<key>CFBundleSignature</key>
|
36
|
+
<string>????</string>
|
37
|
+
<key>CFBundleVersion</key>
|
38
|
+
<string>1.0</string>
|
39
|
+
<key>LSRequiresIPhoneOS</key>
|
40
|
+
<true/>
|
41
|
+
<key>NSMainNibFile</key>
|
42
|
+
<string></string>
|
43
|
+
<key>NSMainNibFile~ipad</key>
|
44
|
+
<string>-iPad</string>
|
45
|
+
</dict>
|
46
|
+
</plist>
|
data/spec/fixtures/{symbian_wrt_info_expected.plist → symbian/symbian_wrt_info_expected.plist}
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/spec/integration_spec.rb
CHANGED
@@ -10,54 +10,54 @@ describe 'Writing Output' do
|
|
10
10
|
|
11
11
|
context "Android" do
|
12
12
|
it "should read config.xml and spit out AndroidManifest.xml" do
|
13
|
-
@output_file = "#{ fixture_dir }/AndroidManifest_output.xml"
|
13
|
+
@output_file = "#{ fixture_dir }/android/AndroidManifest_output.xml"
|
14
14
|
@config.write_android_manifest @output_file
|
15
15
|
|
16
|
-
files_should_match @output_file, "#{ fixture_dir }/AndroidManifest_expected.xml"
|
16
|
+
files_should_match @output_file, "#{ fixture_dir }/android/AndroidManifest_expected.xml"
|
17
17
|
end
|
18
18
|
|
19
19
|
it "should read config.xml and spit out strings.xml" do
|
20
|
-
@output_file = "#{ fixture_dir }/android_strings_output.xml"
|
20
|
+
@output_file = "#{ fixture_dir }/android/android_strings_output.xml"
|
21
21
|
@config.write_android_strings @output_file
|
22
22
|
|
23
|
-
files_should_match @output_file, "#{ fixture_dir }/android_strings_expected.xml"
|
23
|
+
files_should_match @output_file, "#{ fixture_dir }/android/android_strings_expected.xml"
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
27
|
context "webOS" do
|
28
28
|
it "should read config.xml and spit out appinfo.json" do
|
29
|
-
@output_file = "#{ fixture_dir }/appinfo_output.json"
|
29
|
+
@output_file = "#{ fixture_dir }/webos/appinfo_output.json"
|
30
30
|
@config.write_webos_appinfo @output_file
|
31
31
|
|
32
|
-
files_should_match @output_file, "#{ fixture_dir }/appinfo_expected.json"
|
32
|
+
files_should_match @output_file, "#{ fixture_dir }/webos/appinfo_expected.json"
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
36
36
|
context "iOS" do
|
37
37
|
it "should read config.xml and spit out Info.plist" do
|
38
|
-
@output_file = "#{ fixture_dir }/ios_info_output.plist"
|
38
|
+
@output_file = "#{ fixture_dir }/ios/ios_info_output.plist"
|
39
39
|
@config.write_ios_info @output_file
|
40
40
|
|
41
|
-
files_should_match @output_file, "#{ fixture_dir }/ios_info_expected.plist"
|
41
|
+
files_should_match @output_file, "#{ fixture_dir }/ios/ios_info_expected.plist"
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
45
45
|
context "Symbian.wrt" do
|
46
46
|
it "should read config.xml and spit out info.plist" do
|
47
|
-
@output_file = "#{ fixture_dir }/symbian_wrt_info_output.plist"
|
47
|
+
@output_file = "#{ fixture_dir }/symbian/symbian_wrt_info_output.plist"
|
48
48
|
@config.write_symbian_wrt_info @output_file
|
49
49
|
|
50
|
-
files_should_match @output_file, "#{ fixture_dir }/symbian_wrt_info_expected.plist"
|
50
|
+
files_should_match @output_file, "#{ fixture_dir }/symbian/symbian_wrt_info_expected.plist"
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
54
54
|
context "Blackberry Widgets" do
|
55
55
|
it "should read config.xml and spit out config.xml" do
|
56
|
-
@output_file = "#{ fixture_dir }/blackberry_widget_config_output.xml"
|
56
|
+
@output_file = "#{ fixture_dir }/blackberry/blackberry_widget_config_output.xml"
|
57
57
|
@config.phonegap_version = "0.9.5.1"
|
58
58
|
@config.write_blackberry_widgets_config @output_file
|
59
59
|
|
60
|
-
files_should_match @output_file, "#{ fixture_dir }/blackberry_widget_config_expected.xml"
|
60
|
+
files_should_match @output_file, "#{ fixture_dir }/blackberry/blackberry_widget_config_expected.xml"
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
@@ -65,7 +65,7 @@ describe Confetti::Template::AndroidManifest do
|
|
65
65
|
end
|
66
66
|
|
67
67
|
it "should render the correct AndroidManifest" do
|
68
|
-
@template.render.should == File.read("#{ fixture_dir }/android_manifest_spec.xml")
|
68
|
+
@template.render.should == File.read("#{ fixture_dir }/android/android_manifest_spec.xml")
|
69
69
|
end
|
70
70
|
end
|
71
71
|
end
|
@@ -98,4 +98,39 @@ describe Confetti::Template::AndroidManifest do
|
|
98
98
|
permission_names.should == expected
|
99
99
|
end
|
100
100
|
end
|
101
|
+
|
102
|
+
describe "version code should be set" do
|
103
|
+
before do
|
104
|
+
@config = Confetti::Config.new
|
105
|
+
@config.populate_from_xml("#{fixture_dir}/config_with_version_code.xml")
|
106
|
+
end
|
107
|
+
|
108
|
+
it "should have set @config.version_code correctly" do
|
109
|
+
@config.version_code.should == "5"
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
describe "#app_orientation" do
|
114
|
+
before do
|
115
|
+
@config = Confetti::Config.new
|
116
|
+
@orientation_pref = Confetti::Config::Preference.new "orientation"
|
117
|
+
@config.preference_set << @orientation_pref
|
118
|
+
@template = @template_class.new(@config)
|
119
|
+
end
|
120
|
+
|
121
|
+
it "should return the right array for portrait orientation" do
|
122
|
+
@orientation_pref.value = "portrait"
|
123
|
+
@template.app_orientation.should == "portrait"
|
124
|
+
end
|
125
|
+
|
126
|
+
it "should return the right array for landscape orientation" do
|
127
|
+
@orientation_pref.value = "landscape"
|
128
|
+
@template.app_orientation.should == "landscape"
|
129
|
+
end
|
130
|
+
|
131
|
+
it "should return the right array for default orientation" do
|
132
|
+
@orientation_pref.value = "default"
|
133
|
+
@template.app_orientation.should == "unspecified"
|
134
|
+
end
|
135
|
+
end
|
101
136
|
end
|
@@ -49,7 +49,7 @@ describe Confetti::Template::AndroidStrings do
|
|
49
49
|
end
|
50
50
|
|
51
51
|
it "should render the correct AndroidManifest" do
|
52
|
-
@template.render.should == File.read("#{ fixture_dir }/android_strings_spec.xml")
|
52
|
+
@template.render.should == File.read("#{ fixture_dir }/android/android_strings_spec.xml")
|
53
53
|
end
|
54
54
|
end
|
55
55
|
end
|
@@ -85,8 +85,76 @@ describe Confetti::Template::BlackberryWidgetsConfig do
|
|
85
85
|
end
|
86
86
|
|
87
87
|
it "should render the correct config.xml" do
|
88
|
-
@template.render.should == File.read("#{ fixture_dir }/blackberry_widget_config_spec.xml")
|
88
|
+
@template.render.should == File.read("#{ fixture_dir }/blackberry/blackberry_widget_config_spec.xml")
|
89
89
|
end
|
90
90
|
end
|
91
91
|
end
|
92
|
+
|
93
|
+
describe "#app_orientation" do
|
94
|
+
before do
|
95
|
+
@config = Confetti::Config.new
|
96
|
+
@orientation_pref = Confetti::Config::Preference.new "orientation"
|
97
|
+
@config.preference_set << @orientation_pref
|
98
|
+
@template = @template_class.new(@config)
|
99
|
+
end
|
100
|
+
|
101
|
+
it "should return the right array for portrait orientation" do
|
102
|
+
@orientation_pref.value = "portrait"
|
103
|
+
@template.app_orientation.should == "portrait"
|
104
|
+
end
|
105
|
+
|
106
|
+
it "should return the right array for landscape orientation" do
|
107
|
+
@orientation_pref.value = "landscape"
|
108
|
+
@template.app_orientation.should == "landscape"
|
109
|
+
end
|
110
|
+
|
111
|
+
it "should return the right array for default orientation" do
|
112
|
+
@orientation_pref.value = "default"
|
113
|
+
@template.app_orientation.should == "auto"
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
describe "#widget_id" do
|
118
|
+
before do
|
119
|
+
@config = Confetti::Config.new
|
120
|
+
@template = @template_class.new(@config)
|
121
|
+
end
|
122
|
+
|
123
|
+
it "should be the default when @config.package is nil" do
|
124
|
+
@config.package = nil
|
125
|
+
@template.widget_id.should == "com.default.noname"
|
126
|
+
end
|
127
|
+
|
128
|
+
it "should be the default when @config.package is an empty string" do
|
129
|
+
@config.package = ""
|
130
|
+
@template.widget_id.should == "com.default.noname"
|
131
|
+
end
|
132
|
+
|
133
|
+
it "should be @config.package when that's set" do
|
134
|
+
@config.package = "com.what.not"
|
135
|
+
@template.widget_id.should == "com.what.not"
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
describe "#version" do
|
140
|
+
before do
|
141
|
+
@config = Confetti::Config.new
|
142
|
+
@template = @template_class.new(@config)
|
143
|
+
end
|
144
|
+
|
145
|
+
it "should be the default when @config.version_string is nil" do
|
146
|
+
@config.version_string = nil
|
147
|
+
@template.version.should == "0.0.1"
|
148
|
+
end
|
149
|
+
|
150
|
+
it "should be the default when @config.version_string is an empty string" do
|
151
|
+
@config.version_string = ""
|
152
|
+
@template.version.should == "0.0.1"
|
153
|
+
end
|
154
|
+
|
155
|
+
it "should be @config.version_string when that's set" do
|
156
|
+
@config.version_string = "1.0.0"
|
157
|
+
@template.version.should == "1.0.0"
|
158
|
+
end
|
159
|
+
end
|
92
160
|
end
|
@@ -61,8 +61,44 @@ describe Confetti::Template::IosInfo do
|
|
61
61
|
end
|
62
62
|
|
63
63
|
it "should render the correct Info.plist" do
|
64
|
-
@template.render.should == File.read("#{ fixture_dir }/ios_info_spec.plist")
|
64
|
+
@template.render.should == File.read("#{ fixture_dir }/ios/ios_info_spec.plist")
|
65
65
|
end
|
66
66
|
end
|
67
67
|
end
|
68
|
+
|
69
|
+
describe "#app_orientations" do
|
70
|
+
before do
|
71
|
+
@config = Confetti::Config.new
|
72
|
+
@orientation_pref = Confetti::Config::Preference.new "orientation"
|
73
|
+
@config.preference_set << @orientation_pref
|
74
|
+
@template = @template_class.new(@config)
|
75
|
+
|
76
|
+
@portrait = %w{UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown}
|
77
|
+
@landscape = %w{UIInterfaceOrientationLandscapeRight UIInterfaceOrientationLandscapeLeft}
|
78
|
+
@default = @portrait + @landscape
|
79
|
+
end
|
80
|
+
|
81
|
+
it "should return the right array for portrait orientation" do
|
82
|
+
@orientation_pref.value = "portrait"
|
83
|
+
|
84
|
+
# check that contents are matching
|
85
|
+
# a little longwinded
|
86
|
+
difference = @portrait - @template.app_orientations
|
87
|
+
difference.should be_empty
|
88
|
+
end
|
89
|
+
|
90
|
+
it "should return the right array for landscape orientation" do
|
91
|
+
@orientation_pref.value = "landscape"
|
92
|
+
|
93
|
+
difference = @landscape - @template.app_orientations
|
94
|
+
difference.should be_empty
|
95
|
+
end
|
96
|
+
|
97
|
+
it "should return the right array for default orientation" do
|
98
|
+
@orientation_pref.value = "default"
|
99
|
+
|
100
|
+
difference = @default - @template.app_orientations
|
101
|
+
difference.should be_empty
|
102
|
+
end
|
103
|
+
end
|
68
104
|
end
|
@@ -61,7 +61,7 @@ describe Confetti::Template::SymbianWrtInfo do
|
|
61
61
|
end
|
62
62
|
|
63
63
|
it "should render the correct info.plist" do
|
64
|
-
@template.render.should == File.read("#{ fixture_dir }/symbian_wrt_info_spec.plist")
|
64
|
+
@template.render.should == File.read("#{ fixture_dir }/symbian/symbian_wrt_info_spec.plist")
|
65
65
|
end
|
66
66
|
end
|
67
67
|
end
|
@@ -62,7 +62,7 @@ describe Confetti::Template::WebosAppinfo do
|
|
62
62
|
end
|
63
63
|
|
64
64
|
it "should render the correct appinfo.json" do
|
65
|
-
@template.render.should == File.read("#{ fixture_dir }/webos_appinfo_spec.json")
|
65
|
+
@template.render.should == File.read("#{ fixture_dir }/webos/webos_appinfo_spec.json")
|
66
66
|
end
|
67
67
|
|
68
68
|
describe "#version method" do
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: confetti
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 3
|
9
|
+
- 0
|
10
|
+
version: 0.3.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Andrew Lunny
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-06-
|
18
|
+
date: 2011-06-28 00:00:00 -07:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -152,23 +152,29 @@ files:
|
|
152
152
|
- spec/config/config_name_spec.rb
|
153
153
|
- spec/config/config_preference_spec.rb
|
154
154
|
- spec/config_spec.rb
|
155
|
-
- spec/fixtures/AndroidManifest_expected.xml
|
156
|
-
- spec/fixtures/android_manifest_spec.xml
|
157
|
-
- spec/fixtures/
|
158
|
-
- spec/fixtures/
|
159
|
-
- spec/fixtures/
|
155
|
+
- spec/fixtures/android/AndroidManifest_expected.xml
|
156
|
+
- spec/fixtures/android/android_manifest_spec.xml
|
157
|
+
- spec/fixtures/android/android_manifest_spec_with_expected_orientation.xml
|
158
|
+
- spec/fixtures/android/android_strings_expected.xml
|
159
|
+
- spec/fixtures/android/android_strings_spec.xml
|
160
160
|
- spec/fixtures/bad_config.xml
|
161
|
-
- spec/fixtures/blackberry_widget_config_expected.xml
|
162
|
-
- spec/fixtures/
|
161
|
+
- spec/fixtures/blackberry/blackberry_widget_config_expected.xml
|
162
|
+
- spec/fixtures/blackberry/blackberry_widget_config_no_version_or_id.xml
|
163
|
+
- spec/fixtures/blackberry/blackberry_widget_config_spec.xml
|
164
|
+
- spec/fixtures/blackberry/blackberry_widget_config_spec_with_expected_orientation.xml
|
163
165
|
- spec/fixtures/config-icons-custom-attribs.xml
|
164
166
|
- spec/fixtures/config-icons.xml
|
165
167
|
- spec/fixtures/config.xml
|
168
|
+
- spec/fixtures/config_with_orientation.xml
|
169
|
+
- spec/fixtures/config_with_version_code.xml
|
166
170
|
- spec/fixtures/empty_elements.xml
|
167
|
-
- spec/fixtures/ios_info_expected.plist
|
168
|
-
- spec/fixtures/ios_info_spec.plist
|
169
|
-
- spec/fixtures/
|
170
|
-
- spec/fixtures/
|
171
|
-
- spec/fixtures/
|
171
|
+
- spec/fixtures/ios/ios_info_expected.plist
|
172
|
+
- spec/fixtures/ios/ios_info_spec.plist
|
173
|
+
- spec/fixtures/ios/ios_info_spec_expected_orientation.plist
|
174
|
+
- spec/fixtures/symbian/symbian_wrt_info_expected.plist
|
175
|
+
- spec/fixtures/symbian/symbian_wrt_info_spec.plist
|
176
|
+
- spec/fixtures/webos/appinfo_expected.json
|
177
|
+
- spec/fixtures/webos/webos_appinfo_spec.json
|
172
178
|
- spec/helpers_spec.rb
|
173
179
|
- spec/integration_spec.rb
|
174
180
|
- spec/phonegap_spec.rb
|
@@ -234,23 +240,29 @@ test_files:
|
|
234
240
|
- spec/config/config_name_spec.rb
|
235
241
|
- spec/config/config_preference_spec.rb
|
236
242
|
- spec/config_spec.rb
|
237
|
-
- spec/fixtures/AndroidManifest_expected.xml
|
238
|
-
- spec/fixtures/android_manifest_spec.xml
|
239
|
-
- spec/fixtures/
|
240
|
-
- spec/fixtures/
|
241
|
-
- spec/fixtures/
|
243
|
+
- spec/fixtures/android/AndroidManifest_expected.xml
|
244
|
+
- spec/fixtures/android/android_manifest_spec.xml
|
245
|
+
- spec/fixtures/android/android_manifest_spec_with_expected_orientation.xml
|
246
|
+
- spec/fixtures/android/android_strings_expected.xml
|
247
|
+
- spec/fixtures/android/android_strings_spec.xml
|
242
248
|
- spec/fixtures/bad_config.xml
|
243
|
-
- spec/fixtures/blackberry_widget_config_expected.xml
|
244
|
-
- spec/fixtures/
|
249
|
+
- spec/fixtures/blackberry/blackberry_widget_config_expected.xml
|
250
|
+
- spec/fixtures/blackberry/blackberry_widget_config_no_version_or_id.xml
|
251
|
+
- spec/fixtures/blackberry/blackberry_widget_config_spec.xml
|
252
|
+
- spec/fixtures/blackberry/blackberry_widget_config_spec_with_expected_orientation.xml
|
245
253
|
- spec/fixtures/config-icons-custom-attribs.xml
|
246
254
|
- spec/fixtures/config-icons.xml
|
247
255
|
- spec/fixtures/config.xml
|
256
|
+
- spec/fixtures/config_with_orientation.xml
|
257
|
+
- spec/fixtures/config_with_version_code.xml
|
248
258
|
- spec/fixtures/empty_elements.xml
|
249
|
-
- spec/fixtures/ios_info_expected.plist
|
250
|
-
- spec/fixtures/ios_info_spec.plist
|
251
|
-
- spec/fixtures/
|
252
|
-
- spec/fixtures/
|
253
|
-
- spec/fixtures/
|
259
|
+
- spec/fixtures/ios/ios_info_expected.plist
|
260
|
+
- spec/fixtures/ios/ios_info_spec.plist
|
261
|
+
- spec/fixtures/ios/ios_info_spec_expected_orientation.plist
|
262
|
+
- spec/fixtures/symbian/symbian_wrt_info_expected.plist
|
263
|
+
- spec/fixtures/symbian/symbian_wrt_info_spec.plist
|
264
|
+
- spec/fixtures/webos/appinfo_expected.json
|
265
|
+
- spec/fixtures/webos/webos_appinfo_spec.json
|
254
266
|
- spec/helpers_spec.rb
|
255
267
|
- spec/integration_spec.rb
|
256
268
|
- spec/phonegap_spec.rb
|
@@ -1,47 +0,0 @@
|
|
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
|
-
</array>
|
9
|
-
<key>UISupportedInterfaceOrientations~ipad</key>
|
10
|
-
<array>
|
11
|
-
<string>UIInterfaceOrientationPortrait</string>
|
12
|
-
<string>UIInterfaceOrientationLandscapeLeft</string>
|
13
|
-
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
14
|
-
<string>UIInterfaceOrientationLandscapeRight</string>
|
15
|
-
</array>
|
16
|
-
<key>UISupportedInterfaceOrientations</key>
|
17
|
-
<array>
|
18
|
-
<string>UIInterfaceOrientationPortrait</string>
|
19
|
-
</array>
|
20
|
-
<key>CFBundleDevelopmentRegion</key>
|
21
|
-
<string>English</string>
|
22
|
-
<key>CFBundleDisplayName</key>
|
23
|
-
<string>Confetti Sample App</string>
|
24
|
-
<key>CFBundleExecutable</key>
|
25
|
-
<string>${EXECUTABLE_NAME}</string>
|
26
|
-
<key>CFBundleIconFile</key>
|
27
|
-
<string>icon.png</string>
|
28
|
-
<key>CFBundleIdentifier</key>
|
29
|
-
<string>com.alunny.confetti</string>
|
30
|
-
<key>CFBundleInfoDictionaryVersion</key>
|
31
|
-
<string>6.0</string>
|
32
|
-
<key>CFBundleName</key>
|
33
|
-
<string>Confetti Sample App</string>
|
34
|
-
<key>CFBundlePackageType</key>
|
35
|
-
<string>APPL</string>
|
36
|
-
<key>CFBundleSignature</key>
|
37
|
-
<string>????</string>
|
38
|
-
<key>CFBundleVersion</key>
|
39
|
-
<string>1.0.0</string>
|
40
|
-
<key>LSRequiresIPhoneOS</key>
|
41
|
-
<true/>
|
42
|
-
<key>NSMainNibFile</key>
|
43
|
-
<string></string>
|
44
|
-
<key>NSMainNibFile~ipad</key>
|
45
|
-
<string>-iPad</string>
|
46
|
-
</dict>
|
47
|
-
</plist>
|
@@ -1,47 +0,0 @@
|
|
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
|
-
</array>
|
9
|
-
<key>UISupportedInterfaceOrientations~ipad</key>
|
10
|
-
<array>
|
11
|
-
<string>UIInterfaceOrientationPortrait</string>
|
12
|
-
<string>UIInterfaceOrientationLandscapeLeft</string>
|
13
|
-
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
14
|
-
<string>UIInterfaceOrientationLandscapeRight</string>
|
15
|
-
</array>
|
16
|
-
<key>UISupportedInterfaceOrientations</key>
|
17
|
-
<array>
|
18
|
-
<string>UIInterfaceOrientationPortrait</string>
|
19
|
-
</array>
|
20
|
-
<key>CFBundleDevelopmentRegion</key>
|
21
|
-
<string>English</string>
|
22
|
-
<key>CFBundleDisplayName</key>
|
23
|
-
<string>Awesome App</string>
|
24
|
-
<key>CFBundleExecutable</key>
|
25
|
-
<string>${EXECUTABLE_NAME}</string>
|
26
|
-
<key>CFBundleIconFile</key>
|
27
|
-
<string>icon.png</string>
|
28
|
-
<key>CFBundleIdentifier</key>
|
29
|
-
<string>com.whoever.awesome.app</string>
|
30
|
-
<key>CFBundleInfoDictionaryVersion</key>
|
31
|
-
<string>6.0</string>
|
32
|
-
<key>CFBundleName</key>
|
33
|
-
<string>Awesome App</string>
|
34
|
-
<key>CFBundlePackageType</key>
|
35
|
-
<string>APPL</string>
|
36
|
-
<key>CFBundleSignature</key>
|
37
|
-
<string>????</string>
|
38
|
-
<key>CFBundleVersion</key>
|
39
|
-
<string>1.0.0</string>
|
40
|
-
<key>LSRequiresIPhoneOS</key>
|
41
|
-
<true/>
|
42
|
-
<key>NSMainNibFile</key>
|
43
|
-
<string></string>
|
44
|
-
<key>NSMainNibFile~ipad</key>
|
45
|
-
<string>-iPad</string>
|
46
|
-
</dict>
|
47
|
-
</plist>
|