confetti 0.7.6 → 0.7.7
Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock
CHANGED
@@ -22,7 +22,9 @@ module Confetti
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def guid
|
25
|
-
|
25
|
+
package = @config.package
|
26
|
+
package ||= 'com.example.app'
|
27
|
+
guid = Digest::MD5.hexdigest package
|
26
28
|
res = "{#{ guid[0..7] }-#{ guid[8..11] }-"
|
27
29
|
res << "#{ guid[12..15] }-#{ guid[16..19] }-"
|
28
30
|
res << "#{ guid[20,guid.length-1]}}"
|
@@ -38,20 +40,32 @@ module Confetti
|
|
38
40
|
end
|
39
41
|
|
40
42
|
def capabilities
|
43
|
+
default_permissions = %w{camera contacts device geolocation
|
44
|
+
networking media}
|
41
45
|
permissions = []
|
46
|
+
capabilities = []
|
42
47
|
phonegap_api = /http\:\/\/api.phonegap.com\/1[.]0\/(\w+)/
|
48
|
+
filtered_features = @config.feature_set.clone
|
43
49
|
|
44
|
-
|
45
|
-
|
50
|
+
filtered_features.each { |f|
|
51
|
+
next if f.name.nil?
|
52
|
+
matches = f.name.match(phonegap_api)
|
53
|
+
next unless matches.length > 1
|
54
|
+
next unless GAP_PERMISSIONS_MAP.has_key?(matches[1])
|
55
|
+
permissions << matches[1]
|
56
|
+
}
|
46
57
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
permissions.concat(associated_permissions) if associated_permissions
|
58
|
+
if @config.feature_set.empty? and
|
59
|
+
@config.preference(:permissions) != :none
|
60
|
+
permissions = default_permissions
|
51
61
|
end
|
62
|
+
|
63
|
+
permissions.each { |p|
|
64
|
+
capabilities.concat(GAP_PERMISSIONS_MAP[p])
|
65
|
+
}
|
52
66
|
|
53
|
-
|
54
|
-
|
67
|
+
capabilities.sort!
|
68
|
+
capabilities.map { |f| { :name => f } }
|
55
69
|
end
|
56
70
|
|
57
71
|
def output_filename
|
data/lib/confetti/version.rb
CHANGED
@@ -8,9 +8,9 @@
|
|
8
8
|
|
9
9
|
<IconPath IsRelative="true" IsResource="false">ApplicationIcon.png</IconPath>
|
10
10
|
<Capabilities>
|
11
|
-
<Capability Name="D_HW_FRONTCAMERA" />
|
12
11
|
<Capability Name="ID_CAP_ISV_CAMERA" />
|
13
12
|
<Capability Name="ID_CAP_LOCATION" />
|
13
|
+
<Capability Name="ID_HW_FRONTCAMERA" />
|
14
14
|
<Capability Name="ID_CAP_WEBBROWSERCOMPONENT" />
|
15
15
|
</Capabilities>
|
16
16
|
|
@@ -33,17 +33,79 @@ describe Confetti::Template::WindowsPhone7Manifest do
|
|
33
33
|
@template.guid.should == "{1005a3fc-23ab-99bd-bdd1-9e83f3d7b989}"
|
34
34
|
end
|
35
35
|
|
36
|
-
describe "with a config object" do
|
36
|
+
describe "with a bad config object" do
|
37
37
|
|
38
|
-
|
39
|
-
|
38
|
+
describe "on rendering" do
|
39
|
+
|
40
|
+
it "should generate a dummy uuid if non provided" do
|
41
|
+
@config = Confetti::Config.new
|
42
|
+
@config.package = "com.example.app"
|
43
|
+
@template = @template_class.new @config
|
44
|
+
@template.guid.should == "{a163ec9b-9996-caee-009d-cdac1b7e0722}"
|
45
|
+
end
|
46
|
+
|
47
|
+
it "should not fail when a bad feature is found" do
|
48
|
+
@config = Confetti::Config.new
|
49
|
+
bad_feature = Confetti::Config::Feature.new(
|
50
|
+
"http://api.phonegap.com/1.0/badfeature",
|
51
|
+
"true"
|
52
|
+
)
|
53
|
+
good_feature = Confetti::Config::Feature.new(
|
54
|
+
"http://api.phonegap.com/1.0/networking",
|
55
|
+
"true"
|
56
|
+
)
|
57
|
+
@config.feature_set << bad_feature
|
58
|
+
@config.feature_set << good_feature
|
59
|
+
@template = @template_class.new @config
|
60
|
+
@template.capabilities.should == [{:name => "ID_CAP_NETWORKING"}]
|
61
|
+
end
|
40
62
|
end
|
63
|
+
end
|
64
|
+
|
65
|
+
describe "with a good config object" do
|
66
|
+
|
67
|
+
describe "on rendering" do
|
68
|
+
|
69
|
+
it "should render a valid wp7 manifest" do
|
70
|
+
@config = Confetti::Config.new "#{fixture_dir}/config.xml"
|
71
|
+
@template = @template_class.new @config
|
72
|
+
@template.render.should == File.read(
|
73
|
+
"#{fixture_dir}/windowsphone7/WMAppManifest.xml"
|
74
|
+
)
|
75
|
+
end
|
76
|
+
|
77
|
+
it "should add a feature when a valid on is found" do
|
78
|
+
@config = Confetti::Config.new
|
79
|
+
feature = Confetti::Config::Feature.new(
|
80
|
+
"http://api.phonegap.com/1.0/geolocation",
|
81
|
+
"true"
|
82
|
+
)
|
83
|
+
@config.feature_set << feature
|
84
|
+
@template = @template_class.new @config
|
85
|
+
@template.capabilities.should == [{:name=>"ID_CAP_LOCATION"}]
|
86
|
+
end
|
87
|
+
|
88
|
+
it "should add default capabilities when none are specified" do
|
89
|
+
@config = Confetti::Config.new
|
90
|
+
@template = @template_class.new @config
|
91
|
+
@template.capabilities.should == [
|
92
|
+
{:name => "ID_CAP_CONTACTS"},
|
93
|
+
{:name => "ID_CAP_IDENTITY_DEVICE"},
|
94
|
+
{:name => "ID_CAP_ISV_CAMERA"},
|
95
|
+
{:name => "ID_CAP_LOCATION"},
|
96
|
+
{:name => "ID_CAP_MICROPHONE"},
|
97
|
+
{:name => "ID_CAP_NETWORKING"},
|
98
|
+
{:name => "ID_HW_FRONTCAMERA"},
|
99
|
+
]
|
100
|
+
end
|
41
101
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
102
|
+
it "should no add any capabilities when preference permissions is none" do
|
103
|
+
@config = Confetti::Config.new
|
104
|
+
@template = @template_class.new @config
|
105
|
+
@config.preference_set <<
|
106
|
+
Confetti::Config::Preference.new("permissions", "none")
|
107
|
+
@template.capabilities.should == []
|
108
|
+
end
|
47
109
|
end
|
48
110
|
end
|
49
111
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 7
|
8
|
-
-
|
9
|
-
version: 0.7.
|
8
|
+
- 7
|
9
|
+
version: 0.7.7
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Andrew Lunny
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2012-04-
|
19
|
+
date: 2012-04-25 00:00:00 -07:00
|
20
20
|
default_executable:
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|