sproutcore 1.6.0.1-java → 1.7.1.beta-java
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/CHANGELOG +21 -0
- data/Gemfile +5 -0
- data/Rakefile +26 -13
- data/VERSION.yml +2 -2
- data/lib/Buildfile +43 -4
- data/lib/buildtasks/build.rake +10 -0
- data/lib/buildtasks/helpers/file_rule.rb +22 -0
- data/lib/buildtasks/helpers/file_rule_list.rb +137 -0
- data/lib/buildtasks/manifest.rake +133 -122
- data/lib/frameworks/sproutcore/CHANGELOG.md +69 -2
- data/lib/frameworks/sproutcore/apps/tests/english.lproj/strings.js +1 -0
- data/lib/frameworks/sproutcore/frameworks/bootstrap/system/browser.js +28 -22
- data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/array.js +9 -5
- data/lib/frameworks/sproutcore/frameworks/core_foundation/controllers/controller.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/controls/button.js +18 -13
- data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/handlebars/bind.js +5 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/ext/handlebars/collection.js +2 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/action_support.js +80 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/mixins/template_helpers/text_field_support.js +84 -116
- data/lib/frameworks/sproutcore/frameworks/core_foundation/panes/pane.js +8 -5
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/event.js +157 -157
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/platform.js +5 -3
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/root_responder.js +6 -6
- data/lib/frameworks/sproutcore/frameworks/core_foundation/system/sparse_array.js +10 -7
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/mixins/action_support.js +106 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/template/collection.js +18 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/template/handlebars.js +71 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/attribute_bindings_test.js +38 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/class_name_bindings_test.js +47 -0
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/layoutChildViews.js +18 -18
- data/lib/frameworks/sproutcore/frameworks/core_foundation/tests/views/view/layoutStyle.js +42 -10
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view.js +158 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/keyboard.js +26 -1
- data/lib/frameworks/sproutcore/frameworks/core_foundation/views/view/layout_style.js +14 -8
- data/lib/frameworks/sproutcore/frameworks/datastore/models/record.js +15 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/models/record_attribute.js +108 -108
- data/lib/frameworks/sproutcore/frameworks/datastore/system/query.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datastore/system/record_array.js +2 -4
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/error_methods.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/models/single_attribute.js +26 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/query/builders.js +7 -0
- data/lib/frameworks/sproutcore/frameworks/datastore/tests/system/record_array/error_methods.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/system/datetime.js +4 -1
- data/lib/frameworks/sproutcore/frameworks/datetime/frameworks/core/tests/system/datetime.js +6 -0
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/menu.js +26 -5
- data/lib/frameworks/sproutcore/frameworks/desktop/panes/picker.js +97 -96
- data/lib/frameworks/sproutcore/frameworks/desktop/system/drag.js +4 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/tests/panes/menu/ui.js +17 -4
- data/lib/frameworks/sproutcore/frameworks/desktop/views/collection.js +7 -7
- data/lib/frameworks/sproutcore/frameworks/desktop/views/menu_item.js +7 -5
- data/lib/frameworks/sproutcore/frameworks/desktop/views/scroll.js +12 -3
- data/lib/frameworks/sproutcore/frameworks/desktop/views/web.js +23 -14
- data/lib/frameworks/sproutcore/frameworks/experimental/Buildfile +5 -1
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/menu/render_delegates/menu_scroller.js +28 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/menu/tests/menu/scroll.js +235 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/menu/views/menu/scroll.js +363 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/menu/views/menu/scroller.js +250 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/render_delegates/desktop_scroller.js +92 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/render_delegates/native_scroll.js +25 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/render_delegates/scroll.js +33 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/render_delegates/touch_scroller.js +76 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/tests/scroll/integration.js +50 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/tests/scroll/methods.js +143 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/tests/scroll/ui.js +258 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/core_scroll.js +1164 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/core_scroller.js +332 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/desktop/scroll.js +236 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/desktop/scroller.js +347 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/scroll.js +15 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/scroller.js +10 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/touch/scroll.js +804 -0
- data/lib/frameworks/sproutcore/frameworks/experimental/frameworks/scroll_view/views/touch/scroller.js +133 -0
- data/lib/frameworks/sproutcore/frameworks/foundation/resources/text_field.css +3 -3
- data/lib/frameworks/sproutcore/frameworks/foundation/validators/number.js +3 -1
- data/lib/frameworks/sproutcore/frameworks/foundation/views/text_field.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/media/views/audio.js +2 -1
- data/lib/frameworks/sproutcore/frameworks/media/views/controls.js +2 -1
- data/lib/frameworks/sproutcore/frameworks/media/views/media_slider.js +2 -4
- data/lib/frameworks/sproutcore/frameworks/media/views/mini_controls.js +2 -4
- data/lib/frameworks/sproutcore/frameworks/media/views/simple_controls.js +2 -4
- data/lib/frameworks/sproutcore/frameworks/media/views/video.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/routing/system/routes.js +29 -3
- data/lib/frameworks/sproutcore/frameworks/runtime/core.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/debug/test_suites/array/replace.js +1 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/private/property_chain.js +2 -1
- data/lib/frameworks/sproutcore/frameworks/runtime/system/binding.js +3 -3
- data/lib/frameworks/sproutcore/frameworks/runtime/system/index_set.js +2 -2
- data/lib/frameworks/sproutcore/frameworks/runtime/system/object.js +1 -1
- data/lib/frameworks/sproutcore/themes/ace/resources/collection/normal/list_item.css +2 -2
- data/lib/frameworks/sproutcore/themes/legacy_theme/english.lproj/segmented.css +1 -1
- data/lib/gen/app/templates/apps/@target_name@/Buildfile +3 -5
- data/lib/gen/app/templates/apps/@target_name@/resources/_theme.css +18 -0
- data/lib/gen/project/templates/@filename@/Buildfile +2 -2
- data/lib/sproutcore.rb +30 -5
- data/lib/sproutcore/builders.rb +1 -0
- data/lib/sproutcore/builders/chance_file.rb +9 -16
- data/lib/sproutcore/builders/html.rb +2 -1
- data/lib/sproutcore/builders/minify.rb +4 -35
- data/lib/sproutcore/builders/module.rb +38 -1
- data/lib/sproutcore/builders/split.rb +63 -0
- data/lib/sproutcore/builders/strings.rb +7 -1
- data/lib/sproutcore/helpers.rb +1 -1
- data/lib/sproutcore/helpers/css_split.rb +190 -0
- data/lib/sproutcore/helpers/entry_sorter.rb +2 -0
- data/lib/sproutcore/helpers/minifier.rb +40 -16
- data/lib/sproutcore/helpers/static_helper.rb +35 -17
- data/lib/sproutcore/models/manifest.rb +26 -0
- data/lib/sproutcore/models/target.rb +12 -1
- data/lib/sproutcore/rack.rb +1 -0
- data/lib/sproutcore/rack/proxy.rb +244 -225
- data/lib/sproutcore/rack/restrict_ip.rb +67 -0
- data/lib/sproutcore/rack/service.rb +8 -2
- data/lib/sproutcore/tools.rb +102 -46
- data/lib/sproutcore/tools/build.rb +91 -43
- data/lib/sproutcore/tools/gen.rb +2 -3
- data/lib/sproutcore/tools/manifest.rb +22 -16
- data/lib/sproutcore/tools/server.rb +21 -0
- data/spec/buildtasks/helpers/accept_list +22 -0
- data/spec/buildtasks/helpers/accept_list.rb +128 -0
- data/spec/buildtasks/helpers/list.json +11 -0
- data/spec/buildtasks/manifest/prepare_build_tasks/chance_2x_spec.rb +1 -39
- data/spec/buildtasks/manifest/prepare_build_tasks/chance_spec.rb +0 -38
- data/spec/buildtasks/manifest/prepare_build_tasks/combine_spec.rb +4 -4
- data/spec/buildtasks/manifest/prepare_build_tasks/module_spec.rb +2 -2
- data/spec/buildtasks/manifest/prepare_build_tasks/packed_2x_indirect_spec.rb +7 -16
- data/spec/buildtasks/manifest/prepare_build_tasks/packed_2x_spec.rb +7 -17
- data/spec/buildtasks/manifest/prepare_build_tasks/packed_spec.rb +11 -6
- data/spec/fixtures/builder_tests/Buildfile +2 -1
- data/spec/fixtures/builder_tests/apps/module_test/modules/required_module/core.js +0 -0
- data/spec/lib/builders/module_spec.rb +1 -1
- data/spec/spec_helper.rb +1 -0
- data/sproutcore.gemspec +4 -9
- data/vendor/chance/lib/chance.rb +25 -6
- data/vendor/chance/lib/chance/factory.rb +45 -0
- data/vendor/chance/lib/chance/instance.rb +173 -28
- data/vendor/chance/lib/chance/instance/data_url.rb +0 -29
- data/vendor/chance/lib/chance/instance/slicing.rb +57 -4
- data/vendor/chance/lib/chance/instance/spriting.rb +112 -21
- data/vendor/chance/lib/chance/parser.rb +80 -52
- data/vendor/sproutcore/SCCompiler.jar +0 -0
- data/vendor/sproutcore/lib/args4j-2.0.12.jar +0 -0
- data/vendor/sproutcore/lib/yuicompressor-2.4.2.jar +0 -0
- metadata +84 -25
data/lib/sproutcore/tools/gen.rb
CHANGED
@@ -50,12 +50,11 @@ module SC
|
|
50
50
|
desc "gen generator Namespace[.ClassName] [--target=TARGET_NAME] [--filename=FILE_NAME]",
|
51
51
|
"Generates SproutCore components"
|
52
52
|
|
53
|
-
method_options(
|
54
|
-
MANIFEST_OPTIONS.merge(:help => :string,
|
53
|
+
method_options(:help => :string,
|
55
54
|
:filename => :string,
|
56
55
|
:target => :string,
|
57
56
|
'--dry-run' => false,
|
58
|
-
:force => false)
|
57
|
+
:force => false)
|
59
58
|
|
60
59
|
def gen(*arguments)
|
61
60
|
return show_help if arguments.empty?
|
@@ -8,23 +8,29 @@
|
|
8
8
|
module SC
|
9
9
|
class Tools
|
10
10
|
|
11
|
-
# Standard manifest options. Used by build tool as well.
|
12
|
-
MANIFEST_OPTIONS = { :symlink => false,
|
13
|
-
:stageroot => :string,
|
14
|
-
:format => :string,
|
15
|
-
:output => :string,
|
16
|
-
:all => false,
|
17
|
-
:buildroot => :string,
|
18
|
-
['--languages', '-L'] => :string,
|
19
|
-
['--build-numbers', '-B'] => :string,
|
20
|
-
['--include-required', '-r'] => false }
|
21
|
-
|
22
11
|
desc "manifest [TARGET..]", "Generates a manifest for the specified targets"
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
:
|
27
|
-
|
12
|
+
|
13
|
+
# Standard manifest options. Used by build tool as well.
|
14
|
+
method_option :languages, :type => :string,
|
15
|
+
:desc => "The languages to build."
|
16
|
+
method_option :symlink, :default => false
|
17
|
+
method_option :buildroot, :type => :string,
|
18
|
+
:desc => "The path to build to."
|
19
|
+
method_option :stageroot, :type => :string,
|
20
|
+
:desc => "The path to stage to."
|
21
|
+
method_option :format, :type => :string
|
22
|
+
method_option :output, :type => :string
|
23
|
+
method_option :all, :type => false
|
24
|
+
|
25
|
+
method_option :build_numbers, :type => :string, :aliases => ['-B'],
|
26
|
+
:desc => "The identifier(s) for the build."
|
27
|
+
method_option :include_required, :default => false, :aliases => '-r',
|
28
|
+
:desc => "Deprecated. All builds build dependencies."
|
29
|
+
|
30
|
+
method_option :format => :string
|
31
|
+
method_option :only => :string
|
32
|
+
method_option :except => :string
|
33
|
+
method_option :hidden => false
|
28
34
|
def manifest(*targets)
|
29
35
|
|
30
36
|
# Copy some key props to the env
|
@@ -16,11 +16,32 @@ module SC
|
|
16
16
|
:host => :string,
|
17
17
|
:irb => false,
|
18
18
|
:filesystem => true
|
19
|
+
|
20
|
+
method_option :whitelist, :type => :string,
|
21
|
+
:desc => "The whitelist to use when building. By default, Whitelist (if present)"
|
22
|
+
method_option :blacklist, :type => :string,
|
23
|
+
:desc => "The blacklist to use when building. By default, Blacklist (if present)"
|
24
|
+
method_option :accept, :type => :string,
|
25
|
+
:desc => "The SproutCore Accept file to determine which files to include. By default, Accept (if present)"
|
26
|
+
|
27
|
+
|
28
|
+
method_option :allow_from_ips,
|
29
|
+
:default => "127.0.0.1",
|
30
|
+
:desc => "One or more (comma-separated) masks to accept requests from. " +
|
31
|
+
"For example: 10.*.*.*,127.0.0.1"
|
19
32
|
def server
|
33
|
+
if options.help
|
34
|
+
help('server')
|
35
|
+
return
|
36
|
+
end
|
37
|
+
|
20
38
|
prepare_mode!('debug') # set mode again, using debug as default
|
21
39
|
|
22
40
|
SC.env[:build_prefix] = options[:buildroot] if options[:buildroot]
|
23
41
|
SC.env[:staging_prefix] = options[:stageroot] if options[:stageroot]
|
42
|
+
SC.env[:whitelist_name] = options.whitelist
|
43
|
+
SC.env[:blacklist_name] = options.blacklist
|
44
|
+
SC.env[:accept_name] = options.accept
|
24
45
|
|
25
46
|
# get project and start service.
|
26
47
|
project = requires_project!
|
@@ -0,0 +1,22 @@
|
|
1
|
+
TARGET /target1/abc
|
2
|
+
file[0-9].js
|
3
|
+
|
4
|
+
DENY
|
5
|
+
# This will deny the files we don't want, and one we do
|
6
|
+
file[2-9].js
|
7
|
+
|
8
|
+
# This will add one back
|
9
|
+
allow file4.js
|
10
|
+
|
11
|
+
# this will remove it again
|
12
|
+
file4.js
|
13
|
+
|
14
|
+
# And finally, add back the one we want.
|
15
|
+
ALLOW
|
16
|
+
file2.js
|
17
|
+
|
18
|
+
|
19
|
+
TARGET /target1/def
|
20
|
+
allow all
|
21
|
+
|
22
|
+
deny file2.js
|
@@ -0,0 +1,128 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
WHITELIST_PATH = File.dirname(__FILE__) + '/list.json'
|
4
|
+
ACCEPT_LIST_PATH = File.dirname(__FILE__) + '/accept_list'
|
5
|
+
|
6
|
+
|
7
|
+
module FileRuleListSpec
|
8
|
+
class YesRule
|
9
|
+
def include?(f)
|
10
|
+
true
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class NoRule
|
15
|
+
def include?(f)
|
16
|
+
false
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
describe "FileRuleList" do
|
22
|
+
it "includes if ignore_list has not been unset" do
|
23
|
+
list = SproutCore::FileRuleList.new
|
24
|
+
list.include?("target1", "some_file.js").should be_true
|
25
|
+
end
|
26
|
+
|
27
|
+
it "does not include when there are no rules" do
|
28
|
+
list = SproutCore::FileRuleList.new
|
29
|
+
list.ignore_list = false
|
30
|
+
list.include?("target1", "some_file.js").should be_false
|
31
|
+
end
|
32
|
+
|
33
|
+
it "includes when there is an allow rule" do
|
34
|
+
list = SproutCore::FileRuleList.new
|
35
|
+
list.add_rule("target1", FileRuleListSpec::YesRule.new)
|
36
|
+
list.include?("target1", "some_file.js").should be_true
|
37
|
+
end
|
38
|
+
|
39
|
+
it "does not include when there is both a yes and a no rule" do
|
40
|
+
list = SproutCore::FileRuleList.new
|
41
|
+
list.add_rule("target1", FileRuleListSpec::YesRule.new)
|
42
|
+
list.add_rule("target1", FileRuleListSpec::NoRule.new)
|
43
|
+
list.include?("target1", "some_file.js").should be_false
|
44
|
+
end
|
45
|
+
|
46
|
+
it "includes when there is a yes rule, followed by a no, followed by a yes" do
|
47
|
+
list = SproutCore::FileRuleList.new
|
48
|
+
list.add_rule("target1", FileRuleListSpec::YesRule.new)
|
49
|
+
list.add_rule("target1", FileRuleListSpec::NoRule.new)
|
50
|
+
list.add_rule("target1", FileRuleListSpec::YesRule.new)
|
51
|
+
list.include?("target1", "some_file.js").should be_true
|
52
|
+
end
|
53
|
+
|
54
|
+
it "maintains separate lists for each target" do
|
55
|
+
list = SproutCore::FileRuleList.new
|
56
|
+
list.add_rule("target1", FileRuleListSpec::YesRule.new)
|
57
|
+
list.add_rule("target2", FileRuleListSpec::NoRule.new)
|
58
|
+
list.include?("target1", "some_file.js").should be_true
|
59
|
+
list.include?("target2", "some_file.js").should be_false
|
60
|
+
end
|
61
|
+
|
62
|
+
it "obeys allow_by_default" do
|
63
|
+
list = SproutCore::FileRuleList.new
|
64
|
+
list.allow_by_default = true
|
65
|
+
list.include?("target1", "some_file.js").should be_true
|
66
|
+
end
|
67
|
+
|
68
|
+
it "always allows the ALWAYS_ACCEPTED_FILE_TYPES, no matter what" do
|
69
|
+
list = SproutCore::FileRuleList.new
|
70
|
+
list.add_rule("target1", FileRuleListSpec::NoRule.new)
|
71
|
+
|
72
|
+
[
|
73
|
+
'.manifest',
|
74
|
+
'.htm',
|
75
|
+
'.html',
|
76
|
+
'.rhtml',
|
77
|
+
'.png',
|
78
|
+
'.jpg',
|
79
|
+
'.jpeg',
|
80
|
+
'.gif'
|
81
|
+
].each {|name|
|
82
|
+
list.include?("target1", "a_file#{name}").should be_true
|
83
|
+
}
|
84
|
+
|
85
|
+
list.include?("target1", "some_file.js").should be_false
|
86
|
+
end
|
87
|
+
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
describe "#read_json" do
|
92
|
+
it "reads in allow mode properly" do
|
93
|
+
list = SproutCore::FileRuleList.new
|
94
|
+
list.read_json(WHITELIST_PATH, :allow)
|
95
|
+
|
96
|
+
list.include?("/target1/abc", "file1.js").should be_true
|
97
|
+
list.include?("/target1/abc", "file3.js").should be_false
|
98
|
+
list.include?("/target1/def", "file2.js").should be_false
|
99
|
+
list.include?("/target1/def", "file4.js").should be_true
|
100
|
+
end
|
101
|
+
|
102
|
+
it "reads in deny mode properly" do
|
103
|
+
list = SproutCore::FileRuleList.new
|
104
|
+
list.allow_by_default = true
|
105
|
+
list.read_json(WHITELIST_PATH, :deny)
|
106
|
+
|
107
|
+
list.include?("/target1/abc", "file1.js").should be_false
|
108
|
+
list.include?("/target1/abc", "file3.js").should be_true
|
109
|
+
list.include?("/target1/def", "file2.js").should be_true
|
110
|
+
list.include?("/target1/def", "file4.js").should be_false
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
describe "#read" do
|
115
|
+
it "reads the list properly" do
|
116
|
+
list = SproutCore::FileRuleList.new
|
117
|
+
list.read(ACCEPT_LIST_PATH)
|
118
|
+
|
119
|
+
list.include?("/target1/abc", "file1.js").should be_true
|
120
|
+
list.include?("/target1/abc", "file3.js").should be_false
|
121
|
+
|
122
|
+
# Target1/def denies exactly one file: file2.js. Everything else is allowed.
|
123
|
+
list.include?("/target1/def", "file2.js").should be_false
|
124
|
+
list.include?("/target1/def", "fadjfhakljdf.js").should be_true
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
@@ -53,48 +53,10 @@ describe "manifest:prepare_build_tasks:chance" do
|
|
53
53
|
}
|
54
54
|
|
55
55
|
x2_entry = entry_for(name + "@2x.css")
|
56
|
-
x2_entry[:chance_file].should == "chance@2x.css"
|
56
|
+
x2_entry[:chance_file].should == "chance-sprited@2x.css"
|
57
57
|
end
|
58
58
|
originals.size.should == 0
|
59
59
|
end
|
60
60
|
|
61
|
-
it "generates js, and mhtml entries" do
|
62
|
-
run_task
|
63
|
-
|
64
|
-
have_entry('stylesheet.css')
|
65
|
-
have_entry('stylesheet@2x.css')
|
66
|
-
have_entry('__sc_chance.js')
|
67
|
-
have_entry('__sc_chance_mhtml.txt')
|
68
|
-
|
69
|
-
stylesheet = entry_for('stylesheet.css')
|
70
|
-
end
|
71
|
-
|
72
|
-
it "provides all chance instances to the mhtml and js entries" do
|
73
|
-
run_task
|
74
|
-
|
75
|
-
js_entry = entry_for('__sc_chance.js')
|
76
|
-
mhtml_entry = entry_for('__sc_chance_mhtml.txt')
|
77
|
-
|
78
|
-
resources = {}
|
79
|
-
|
80
|
-
originals = @manifest.entries(:hidden=>true).select {|entry|
|
81
|
-
entry.entry_type == :css and not entry.combined and not entry[:resource].nil?
|
82
|
-
}
|
83
|
-
originals.size.should > 0
|
84
|
-
|
85
|
-
originals.each do |entry|
|
86
|
-
next if entry[:resource].nil?
|
87
|
-
|
88
|
-
resources[entry[:resource]] ||= []
|
89
|
-
resources[entry[:resource]] << entry
|
90
|
-
end
|
91
|
-
|
92
|
-
resources.each do |name, entries|
|
93
|
-
chance_instance = entry_for(name + ".css")[:chance_instance]
|
94
|
-
js_entry.chance_instances.should include(chance_instance)
|
95
|
-
mhtml_entry.chance_instances.should include(chance_instance)
|
96
|
-
end
|
97
|
-
|
98
|
-
end
|
99
61
|
end
|
100
62
|
|
@@ -62,43 +62,5 @@ describe "manifest:prepare_build_tasks:chance" do
|
|
62
62
|
originals.size.should == 0
|
63
63
|
end
|
64
64
|
|
65
|
-
it "generates js, and mhtml entries" do
|
66
|
-
run_task
|
67
|
-
|
68
|
-
have_entry('stylesheet.css')
|
69
|
-
have_entry('stylesheet@2x.css', false)
|
70
|
-
have_entry('__sc_chance.js')
|
71
|
-
have_entry('__sc_chance_mhtml.txt')
|
72
|
-
|
73
|
-
stylesheet = entry_for('stylesheet.css')
|
74
|
-
end
|
75
|
-
|
76
|
-
it "provides all chance instances to the mhtml and js entries" do
|
77
|
-
run_task
|
78
|
-
|
79
|
-
js_entry = entry_for('__sc_chance.js')
|
80
|
-
mhtml_entry = entry_for('__sc_chance_mhtml.txt')
|
81
|
-
|
82
|
-
resources = {}
|
83
|
-
|
84
|
-
originals = @manifest.entries(:hidden=>true).select {|entry|
|
85
|
-
entry.entry_type == :css and not entry.combined and not entry[:resource].nil?
|
86
|
-
}
|
87
|
-
originals.size.should > 0
|
88
|
-
|
89
|
-
originals.each do |entry|
|
90
|
-
next if entry[:resource].nil?
|
91
|
-
|
92
|
-
resources[entry[:resource]] ||= []
|
93
|
-
resources[entry[:resource]] << entry
|
94
|
-
end
|
95
|
-
|
96
|
-
resources.each do |name, entries|
|
97
|
-
chance_instance = entry_for(name + ".css")[:chance_instance]
|
98
|
-
js_entry.chance_instances.should include(chance_instance)
|
99
|
-
mhtml_entry.chance_instances.should include(chance_instance)
|
100
|
-
end
|
101
|
-
|
102
|
-
end
|
103
65
|
end
|
104
66
|
|
@@ -201,7 +201,7 @@ describe "manifest:prepare_build_tasks:combine" do
|
|
201
201
|
|
202
202
|
# get the expected set of ordered entries...based on contents of
|
203
203
|
# project...
|
204
|
-
expected = %w(source/lproj/strings.js source/core.js source/utils.js
|
204
|
+
expected = %w(source/lproj/strings.js source/core.js source/utils.js source/1.js source/a.js source/a/a.js source/a/b.js source/B.js source/b/a.js source/c.js source/t.js source/resources/main_page.js source/main.js)
|
205
205
|
|
206
206
|
entry.ordered_entries.should_not be_nil
|
207
207
|
filenames = entry.ordered_entries.map { |e| e.filename }
|
@@ -241,7 +241,7 @@ describe "manifest:prepare_build_tasks:combine" do
|
|
241
241
|
|
242
242
|
# get the expected set of ordered entries...based on contents of
|
243
243
|
# project... note that we require 'd', which should match 'lproj/d'
|
244
|
-
expected = %w(
|
244
|
+
expected = %w(source/c.js source/a.js source/lproj/d.js source/b.js)
|
245
245
|
|
246
246
|
entry.ordered_entries.should_not be_nil
|
247
247
|
filenames = entry.ordered_entries.map { |e| e.filename }
|
@@ -337,14 +337,14 @@ describe "manifest:prepare_build_tasks:combine" do
|
|
337
337
|
run_task
|
338
338
|
end
|
339
339
|
|
340
|
-
it " should be included in the requirements" do
|
340
|
+
it " should not be included in the requirements" do
|
341
341
|
target = target_for('photos')
|
342
342
|
target_requirements = target.required_targets
|
343
343
|
|
344
344
|
preferences_module = target.target_for('photos/preferences')
|
345
345
|
email_module = target.target_for('photos/email')
|
346
346
|
|
347
|
-
target_requirements.
|
347
|
+
target_requirements.should_not include(preferences_module)
|
348
348
|
target_requirements.should_not include(email_module)
|
349
349
|
end
|
350
350
|
end
|
@@ -69,14 +69,14 @@ describe "Target#modules" do
|
|
69
69
|
run_task
|
70
70
|
end
|
71
71
|
|
72
|
-
it "it should be included in the requirements" do
|
72
|
+
it "it should not be included in the requirements" do
|
73
73
|
target = target_for('photos')
|
74
74
|
target_requirements = target.required_targets
|
75
75
|
|
76
76
|
preferences_module = target.target_for('photos/preferences')
|
77
77
|
email_module = target.target_for('photos/email')
|
78
78
|
|
79
|
-
target_requirements.
|
79
|
+
target_requirements.should_not include(preferences_module)
|
80
80
|
target_requirements.should_not include(email_module)
|
81
81
|
end
|
82
82
|
end
|
@@ -115,7 +115,13 @@ describe "manifest:prepare_build_tasks:packed" do
|
|
115
115
|
|
116
116
|
before do
|
117
117
|
run_task
|
118
|
-
|
118
|
+
|
119
|
+
# for 1x (but not 2x) there should be an intermediary entry for a transform
|
120
|
+
# (split_css) that... splits the CSS. See its documentation.
|
121
|
+
#
|
122
|
+
# we are looking for the stylesheet-packed.css that is set on its source entry.
|
123
|
+
@entry = entry_for('stylesheet-packed.css')[:source_entry]
|
124
|
+
|
119
125
|
@entry_2x = entry_for('stylesheet@2x-packed.css')
|
120
126
|
end
|
121
127
|
|
@@ -129,11 +135,6 @@ describe "manifest:prepare_build_tasks:packed" do
|
|
129
135
|
@entry.source_entries.each do |entry|
|
130
136
|
entry.filename.should == 'stylesheet.css'
|
131
137
|
end
|
132
|
-
|
133
|
-
@entry_2x.source_entries.size.should > 0
|
134
|
-
@entry_2x.source_entries.each do |entry|
|
135
|
-
entry.filename.should == 'stylesheet@2x.css'
|
136
|
-
end
|
137
138
|
end
|
138
139
|
|
139
140
|
it "should include ordered_entries ordered by required target order" do
|
@@ -151,16 +152,6 @@ describe "manifest:prepare_build_tasks:packed" do
|
|
151
152
|
entry.target.should == targets.shift
|
152
153
|
end
|
153
154
|
|
154
|
-
targets = @target.expand_required_targets(:theme => true) + [@target]
|
155
|
-
variation = @entry.manifest.variation
|
156
|
-
targets.reject! do |t|
|
157
|
-
t.manifest_for(variation).build!.entry_for('stylesheet@2x.css').nil?
|
158
|
-
end
|
159
|
-
|
160
|
-
@entry_2x.ordered_entries.each do |entry|
|
161
|
-
entry.target.should == targets.shift
|
162
|
-
end
|
163
|
-
|
164
155
|
end
|
165
156
|
|
166
157
|
it "should include the actual targets this packed version covers in the targets property (even those w no stylesheet.css)" do
|