confetti 0.2.10 → 0.3.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/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>
|