/
javascript_spec.rb
65 lines (50 loc) · 1.87 KB
/
javascript_spec.rb
1
2
3
4
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
require "buildtasks/manifest/spec_helper"
describe "manifest:prepare_build_tasks:javascript" do
include SC::SpecHelpers
include SC::ManifestSpecHelpers
before do
std_before
end
def run_task
@manifest.prepare!
super('manifest:prepare_build_tasks:javascript')
end
it "should run manifest:prepare_build_tasks:setup as prereq" do
should_run('manifest:prepare_build_tasks:setup') { run_task }
end
# This rewriting is done to make sure source entries are disambiguated from
# the generated javascript.js that will live at the root level
it "rewrites all javascript entries to begin with 'source/...'" do
run_task
entries = @manifest.entries.select { |e| e.entry_type == :javascript }
entries.each do |entry|
%w(filename url build_path).each do |key|
entry[key.to_sym].should =~ /source\//
end
end
end
describe "supports require() and sc_require() statements" do
it "adds a entry.required property to entrys with empty array of no requires are specified in file" do
run_task
entry = entry_for('source/no_require.js')
entry.required.should == []
end
it "searches files for require() & sc_requires() statements and adds them to entry.required array -- (also should ignore any ext)" do
run_task
entry = entry_for('source/has_require.js')
entry.required.sort.should == ['demo2', 'no_require']
end
end
describe "supports sc_resource() statement" do
it "sets entry.resource = 'javascript' if no sc_resource statement is found in files" do
run_task
entry = entry_for('source/no_require.js')
entry.resource.should == 'javascript'
end
it "searches files for sc_resource() statement and stores last value in entry.resource property" do
run_task
entry =entry_for 'source/sc_resource.js'
entry.resource.should == 'bar'
end
end
end