shining 1.1.1 → 1.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -6,6 +6,14 @@ Spec::Rake::SpecTask.new do |t|
6
6
  t.spec_opts = ['--colour', '--format nested']
7
7
  end
8
8
 
9
+ namespace :spec do
10
+ desc 'runs Javascript specs'
11
+ task :javascripts do
12
+ Dir.chdir File.join(File.dirname(__FILE__), 'spec', 'javascripts')
13
+ system "jspec run dom.html"
14
+ end
15
+ end
16
+
9
17
  begin
10
18
  require 'jeweler'
11
19
  Jeweler::Tasks.new do |gem|
@@ -21,12 +29,8 @@ begin
21
29
  gem.add_dependency 'rdiscount', '>= 1.6.3'
22
30
  gem.add_dependency 'term-ansicolor', '>= 1.0.4'
23
31
  gem.add_development_dependency 'rspec', '1.3.0'
24
- gem.add_development_dependency 'stackdeck', '0.2.0'
25
- gem.add_development_dependency 'johnson', '2.0.0.pre2'
26
- gem.add_development_dependency 'rspec', '1.3.0'
27
- gem.add_development_dependency 'rake', '0.8.7'
28
- gem.add_development_dependency 'envjs', '0.1.4'
29
- gem.add_development_dependency 'juliocesar-harmony', '0.5.2'
32
+ gem.add_development_dependency 'jspec', '4.2.0'
33
+ gem.add_development_dependency 'rake', '0.8.7'
30
34
  end
31
35
  rescue LoadError
32
36
  puts 'Jeweler (or a dependency) not available. Install it with: gem install jeweler'
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.1
1
+ 1.1.2
@@ -87,9 +87,6 @@
87
87
  }
88
88
  }
89
89
 
90
- $.shining.slice = slice;
91
- $.shining.unslice = unslice;
92
-
93
90
  String.prototype.markup = function() { return this + '.html' };
94
91
  String.prototype.script = function() { return this + '.js' };
95
92
  String.prototype.style = function() { return this + '.css' };
data/shining.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{shining}
8
- s.version = "1.1.1"
8
+ s.version = "1.1.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Julio Cesar Ody"]
12
- s.date = %q{2010-04-07}
12
+ s.date = %q{2010-04-08}
13
13
  s.description = %q{Webkit + CSS + Javascript = awesome presos}
14
14
  s.email = %q{julio.ody@gmail.com}
15
15
  s.executables = ["console", "shine"]
@@ -44,6 +44,19 @@ Gem::Specification.new do |s|
44
44
  "shining.gemspec",
45
45
  "spec/cli_spec.rb",
46
46
  "spec/generators_spec.rb",
47
+ "spec/javascripts/dom.html",
48
+ "spec/javascripts/rhino.js",
49
+ "spec/javascripts/sample/config.json",
50
+ "spec/javascripts/sample/index.html",
51
+ "spec/javascripts/sample/slides/slide1.css",
52
+ "spec/javascripts/sample/slides/slide1.html",
53
+ "spec/javascripts/sample/slides/slide1.js",
54
+ "spec/javascripts/sample/slides/slide2.css",
55
+ "spec/javascripts/sample/slides/slide2.html",
56
+ "spec/javascripts/sample/slides/slide2.js",
57
+ "spec/javascripts/sample/slides/welcome.html",
58
+ "spec/javascripts/unit/spec.helper.js",
59
+ "spec/javascripts/unit/spec.js",
47
60
  "spec/preso_spec.rb",
48
61
  "spec/sample/base.css",
49
62
  "spec/sample/config.json",
@@ -55,7 +68,6 @@ Gem::Specification.new do |s|
55
68
  "spec/sample/slides/second.js",
56
69
  "spec/sample/slides/third.html",
57
70
  "spec/sample/slides/third.js",
58
- "spec/shining_spec.rb",
59
71
  "spec/spec_helper.rb",
60
72
  "templates/config.json",
61
73
  "templates/index.html",
@@ -72,7 +84,6 @@ Gem::Specification.new do |s|
72
84
  "spec/cli_spec.rb",
73
85
  "spec/generators_spec.rb",
74
86
  "spec/preso_spec.rb",
75
- "spec/shining_spec.rb",
76
87
  "spec/spec_helper.rb"
77
88
  ]
78
89
 
@@ -87,12 +98,8 @@ Gem::Specification.new do |s|
87
98
  s.add_runtime_dependency(%q<rdiscount>, [">= 1.6.3"])
88
99
  s.add_runtime_dependency(%q<term-ansicolor>, [">= 1.0.4"])
89
100
  s.add_development_dependency(%q<rspec>, ["= 1.3.0"])
90
- s.add_development_dependency(%q<stackdeck>, ["= 0.2.0"])
91
- s.add_development_dependency(%q<johnson>, ["= 2.0.0.pre2"])
92
- s.add_development_dependency(%q<rspec>, ["= 1.3.0"])
101
+ s.add_development_dependency(%q<jspec>, ["= 4.2.0"])
93
102
  s.add_development_dependency(%q<rake>, ["= 0.8.7"])
94
- s.add_development_dependency(%q<envjs>, ["= 0.1.4"])
95
- s.add_development_dependency(%q<juliocesar-harmony>, ["= 0.5.2"])
96
103
  else
97
104
  s.add_dependency(%q<haml>, [">= 2.2.17"])
98
105
  s.add_dependency(%q<json_pure>, [">= 1.1.9"])
@@ -100,12 +107,8 @@ Gem::Specification.new do |s|
100
107
  s.add_dependency(%q<rdiscount>, [">= 1.6.3"])
101
108
  s.add_dependency(%q<term-ansicolor>, [">= 1.0.4"])
102
109
  s.add_dependency(%q<rspec>, ["= 1.3.0"])
103
- s.add_dependency(%q<stackdeck>, ["= 0.2.0"])
104
- s.add_dependency(%q<johnson>, ["= 2.0.0.pre2"])
105
- s.add_dependency(%q<rspec>, ["= 1.3.0"])
110
+ s.add_dependency(%q<jspec>, ["= 4.2.0"])
106
111
  s.add_dependency(%q<rake>, ["= 0.8.7"])
107
- s.add_dependency(%q<envjs>, ["= 0.1.4"])
108
- s.add_dependency(%q<juliocesar-harmony>, ["= 0.5.2"])
109
112
  end
110
113
  else
111
114
  s.add_dependency(%q<haml>, [">= 2.2.17"])
@@ -114,12 +117,8 @@ Gem::Specification.new do |s|
114
117
  s.add_dependency(%q<rdiscount>, [">= 1.6.3"])
115
118
  s.add_dependency(%q<term-ansicolor>, [">= 1.0.4"])
116
119
  s.add_dependency(%q<rspec>, ["= 1.3.0"])
117
- s.add_dependency(%q<stackdeck>, ["= 0.2.0"])
118
- s.add_dependency(%q<johnson>, ["= 2.0.0.pre2"])
119
- s.add_dependency(%q<rspec>, ["= 1.3.0"])
120
+ s.add_dependency(%q<jspec>, ["= 4.2.0"])
120
121
  s.add_dependency(%q<rake>, ["= 0.8.7"])
121
- s.add_dependency(%q<envjs>, ["= 0.1.4"])
122
- s.add_dependency(%q<juliocesar-harmony>, ["= 0.5.2"])
123
122
  end
124
123
  end
125
124
 
data/spec/cli_spec.rb CHANGED
@@ -77,7 +77,7 @@ describe 'shine' do
77
77
 
78
78
  describe 'go' do
79
79
  it "for now it only works on Mac OSX" do
80
- player = Shining::Player.new
80
+ player = Shining::Player.new Shining::Preso.open(PRESO)
81
81
  player.should_receive(:osx?).and_return(false)
82
82
  lambda { player.go! }.should raise_error
83
83
  end
@@ -0,0 +1,25 @@
1
+ <html>
2
+ <head>
3
+ <link type="text/css" rel="stylesheet" href="/opt/local/lib/ruby/gems/1.8/gems/jspec-4.2.0/lib/jspec.css" />
4
+ <script src="/opt/local/lib/ruby/gems/1.8/gems/jspec-4.2.0/lib/jspec.js"></script>
5
+ <script src="/opt/local/lib/ruby/gems/1.8/gems/jspec-4.2.0/lib/jspec.xhr.js"></script>
6
+ <script src="unit/spec.helper.js"></script>
7
+ <script src="../../lib/jquery-1.4.1.min.js"></script>
8
+ <script src="../../lib/shCore.js"></script>
9
+ <script src="../../lib/shBrushAll.js"></script>
10
+ <script src="../../lib/jquery.shining.js"></script>
11
+ <script>
12
+ function runSuites() {
13
+ JSpec
14
+ .exec('unit/spec.js')
15
+ .run({ fixturePath: 'sample' })
16
+ .report()
17
+ }
18
+ </script>
19
+ </head>
20
+ <body class="jspec" onLoad="runSuites();">
21
+ <div id="jspec-top"><h2 id="jspec-title">JSpec <em><script>document.write(JSpec.version)</script></em></h2></div>
22
+ <div id="jspec"></div>
23
+ <div id="jspec-bottom"></div>
24
+ </body>
25
+ </html>
@@ -0,0 +1,10 @@
1
+
2
+ load('/opt/local/lib/ruby/gems/1.8/gems/jspec-4.2.0/lib/jspec.js')
3
+ load('/opt/local/lib/ruby/gems/1.8/gems/jspec-4.2.0/lib/jspec.xhr.js')
4
+ load('lib/yourlib.js')
5
+ load('spec/unit/spec.helper.js')
6
+
7
+ JSpec
8
+ .exec('spec/unit/spec.js')
9
+ .run({ reporter: JSpec.reporters.Terminal, fixturePath: 'spec/fixtures' })
10
+ .report()
@@ -0,0 +1,8 @@
1
+ {
2
+ "transitions": "fade",
3
+ "slides": [
4
+ "welcome",
5
+ "slide1",
6
+ "slide2"
7
+ ]
8
+ }
@@ -0,0 +1,9 @@
1
+ <section id="stage">
2
+ <div class="contents"></div>
3
+ </section>
4
+ <nav id="controls" class="transparent">
5
+ <a id="first"><<</a>
6
+ <a id="previous"><</a>
7
+ <a id="next">></a>
8
+ <a id="last">>></a>
9
+ </nav>
File without changes
@@ -0,0 +1,2 @@
1
+ <h1 class="centered">Shining</h1>
2
+ <p class="centered">This is a new slide. It needs some lovin'!</p>
File without changes
File without changes
@@ -0,0 +1,2 @@
1
+ <h1 class="centered">Shining</h1>
2
+ <p class="centered">This is a new slide. It needs some lovin'!</p>
File without changes
@@ -0,0 +1,4 @@
1
+ <h1 class="centered">Welcome to your preso!</h1>
2
+ <p class="centered">
3
+ Lorem Ipsum is hard to understand.
4
+ </p>
@@ -0,0 +1,2 @@
1
+ JSpec.modules[0].utilities.mockRequest('config.json').and_return('{"transitions": false, "slides": ["welcome", "slide1", "slide2"]}');
2
+
@@ -0,0 +1,58 @@
1
+ describe 'Shining'
2
+ before_each
3
+ window.$ = jQuery;
4
+ $.fn.offset = function() { return 0 };
5
+ if (!$('#hidden').length) {
6
+ var hidden = $('<div id="hidden"></div>').css({height: 0, width: 0, opacity: 0, marginLeft: -10000}).appendTo('body');
7
+ var stage = $($(fixture('index.html')).get(0)),
8
+ controls = $($(fixture('index.html')).get(2));
9
+ hidden.append(stage).append(controls);
10
+ }
11
+ end
12
+
13
+ describe "structurally speaking"
14
+ it 'should have a stage'
15
+ $('#stage').length.should.be 1
16
+ end
17
+
18
+ it 'should have navigation controls'
19
+ $('#controls').length.should.be 1
20
+ end
21
+ end
22
+
23
+ describe "config file"
24
+ it 'gets read when shining gets loaded'
25
+ $.shining.config.constructor.should.be Object
26
+ end
27
+ end
28
+
29
+ describe "slides"
30
+ it '#current() returns the first slide by default'
31
+ $.shining.slides.current().should.be 'welcome'
32
+ end
33
+
34
+ it '#current("slide1") sets the current slide to "slide1"'
35
+ $.shining.slides.current('slide1')
36
+ $.shining.slides.current().should.be 'slide1'
37
+ end
38
+
39
+ it "#last() returns the last slide in the slides array"
40
+ $.shining.slides.last().should.be 'slide2'
41
+ end
42
+ end
43
+
44
+ describe 'navigating slides'
45
+ it 'navigates to slide1 on $.shining.nextSlide()'
46
+ $.shining.slides.current('welcome')
47
+ mockRequest().and_return('<h1>Slide1</h1>');
48
+ $.shining.nextSlide();
49
+ $('#stage .contents h1').text().should.be 'Slide1'
50
+ end
51
+
52
+ it 'navigates to slide2 on $.shining.nextSlide()'
53
+ mockRequest().and_return('<h1>Slide2</h1>');
54
+ $.shining.nextSlide();
55
+ $('#stage .contents h1').text().should.be 'Slide2'
56
+ end
57
+ end
58
+ end
@@ -1,21 +1,7 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta http-equiv="Content-type" content="text/html; charset=utf-8">
5
- <title>Genesis</title>
6
- <link rel="stylesheet" type="text/css" href="base.css" />
7
- <link rel="stylesheet" type="text/css" href="effects.css" />
8
- <link rel="stylesheet" type="text/css" href="themes/default.css" />
9
- <script type="text/javascript" charset="utf-8" src="../../lib/jquery-1.4.1.min.js"></script>
10
- <script type="text/javascript" charset="utf-8" src="../../lib/jquery.shining.js"></script>
11
- </head>
12
- <body>
13
- <section id="stage"></section>
14
- <nav id="controls" class="transparent">
15
- <a id="first"><<</a>
16
- <a id="previous"><</a>
17
- <a id="next">></a>
18
- <a id="last">>></a>
19
- </nav>
20
- </body>
21
- </html>
1
+ <section id="stage"></section>
2
+ <nav id="controls" class="transparent">
3
+ <a id="first"><<</a>
4
+ <a id="previous"><</a>
5
+ <a id="next">></a>
6
+ <a id="last">>></a>
7
+ </nav>
data/spec/spec_helper.rb CHANGED
@@ -2,11 +2,7 @@ require 'rubygems'
2
2
  require 'tmpdir'
3
3
  require File.join(File.dirname(__FILE__), *%w(.. lib shining))
4
4
 
5
- gem 'stackdeck', '0.2.0'; require 'stackdeck'
6
- gem 'johnson', '2.0.0.pre2'; require 'johnson'
7
- gem 'rspec', '>= 1.3.0'; require 'spec'
8
- gem 'rake', '>= 0.8.7'; require 'rake'
9
- gem 'envjs', '0.1.4'; require 'envjs'
10
- gem 'juliocesar-harmony', '0.5.2'; require 'harmony'
11
- gem 'json_pure', '>= 1.1.9'; require 'json/pure'
12
- gem 'haml', '>= 2.2.17'; require 'haml'
5
+ gem 'rspec', '>= 1.3.0'; require 'spec'
6
+ gem 'rake', '>= 0.8.7'; require 'rake'
7
+ gem 'json_pure', '>= 1.1.9'; require 'json/pure'
8
+ gem 'haml', '>= 2.2.17'; require 'haml'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shining
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julio Cesar Ody
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-04-07 00:00:00 +10:00
12
+ date: 2010-04-08 00:00:00 +10:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -73,34 +73,14 @@ dependencies:
73
73
  version: 1.3.0
74
74
  version:
75
75
  - !ruby/object:Gem::Dependency
76
- name: stackdeck
76
+ name: jspec
77
77
  type: :development
78
78
  version_requirement:
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - "="
82
82
  - !ruby/object:Gem::Version
83
- version: 0.2.0
84
- version:
85
- - !ruby/object:Gem::Dependency
86
- name: johnson
87
- type: :development
88
- version_requirement:
89
- version_requirements: !ruby/object:Gem::Requirement
90
- requirements:
91
- - - "="
92
- - !ruby/object:Gem::Version
93
- version: 2.0.0.pre2
94
- version:
95
- - !ruby/object:Gem::Dependency
96
- name: rspec
97
- type: :development
98
- version_requirement:
99
- version_requirements: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "="
102
- - !ruby/object:Gem::Version
103
- version: 1.3.0
83
+ version: 4.2.0
104
84
  version:
105
85
  - !ruby/object:Gem::Dependency
106
86
  name: rake
@@ -112,26 +92,6 @@ dependencies:
112
92
  - !ruby/object:Gem::Version
113
93
  version: 0.8.7
114
94
  version:
115
- - !ruby/object:Gem::Dependency
116
- name: envjs
117
- type: :development
118
- version_requirement:
119
- version_requirements: !ruby/object:Gem::Requirement
120
- requirements:
121
- - - "="
122
- - !ruby/object:Gem::Version
123
- version: 0.1.4
124
- version:
125
- - !ruby/object:Gem::Dependency
126
- name: juliocesar-harmony
127
- type: :development
128
- version_requirement:
129
- version_requirements: !ruby/object:Gem::Requirement
130
- requirements:
131
- - - "="
132
- - !ruby/object:Gem::Version
133
- version: 0.5.2
134
- version:
135
95
  description: Webkit + CSS + Javascript = awesome presos
136
96
  email: julio.ody@gmail.com
137
97
  executables:
@@ -169,6 +129,19 @@ files:
169
129
  - shining.gemspec
170
130
  - spec/cli_spec.rb
171
131
  - spec/generators_spec.rb
132
+ - spec/javascripts/dom.html
133
+ - spec/javascripts/rhino.js
134
+ - spec/javascripts/sample/config.json
135
+ - spec/javascripts/sample/index.html
136
+ - spec/javascripts/sample/slides/slide1.css
137
+ - spec/javascripts/sample/slides/slide1.html
138
+ - spec/javascripts/sample/slides/slide1.js
139
+ - spec/javascripts/sample/slides/slide2.css
140
+ - spec/javascripts/sample/slides/slide2.html
141
+ - spec/javascripts/sample/slides/slide2.js
142
+ - spec/javascripts/sample/slides/welcome.html
143
+ - spec/javascripts/unit/spec.helper.js
144
+ - spec/javascripts/unit/spec.js
172
145
  - spec/preso_spec.rb
173
146
  - spec/sample/base.css
174
147
  - spec/sample/config.json
@@ -180,7 +153,6 @@ files:
180
153
  - spec/sample/slides/second.js
181
154
  - spec/sample/slides/third.html
182
155
  - spec/sample/slides/third.js
183
- - spec/shining_spec.rb
184
156
  - spec/spec_helper.rb
185
157
  - templates/config.json
186
158
  - templates/index.html
@@ -219,5 +191,4 @@ test_files:
219
191
  - spec/cli_spec.rb
220
192
  - spec/generators_spec.rb
221
193
  - spec/preso_spec.rb
222
- - spec/shining_spec.rb
223
194
  - spec/spec_helper.rb
data/spec/shining_spec.rb DELETED
@@ -1,43 +0,0 @@
1
- require File.join(File.dirname(__FILE__), 'spec_helper')
2
-
3
- describe 'Shining' do
4
- before do
5
- Dir.chdir File.join(Shining.root, *%w(spec sample))
6
- @page = Harmony::Page.fetch("file:////#{Shining.root}/spec/sample/index.html")
7
- end
8
-
9
- it "has a stage" do
10
- @page.execute_js("$('#stage').is(':visible')").should == true
11
- end
12
-
13
- it "has navigation controls" do
14
- @page.execute_js("$('#controls').length").should == 1
15
- end
16
-
17
- describe ".slides" do
18
- it ".current should return the first slide by default" do
19
- @page.execute_js("$.shining.slides.current").should == 'first'
20
- end
21
-
22
- it ".length returns 3 for when there's 3 slides" do
23
- @page.execute_js("$.shining.slides.length").should == 3
24
- end
25
-
26
- it ".current= sets the current slide, returning it's name" do
27
- @page.execute_js("$.shining.slides.current = 'second'").should == 'second'
28
- @page.execute_js("$.shining.slides._current").should == 1
29
- end
30
-
31
- it ".current returns undefined if set to an unexisting slide" do
32
- @page.execute_js("$.shining.slides.current = 'omg'; $.shining.slides.current").should == nil
33
- end
34
-
35
- it "returns the next slide in the list on .next" do
36
- @page.execute_js("$.shining.slides.current = 'second'; $.shining.slides.next").should == 'third'
37
- end
38
-
39
- it "returns the previous slide in the list on .previous" do
40
- @page.execute_js("$.shining.slides.current = 'second'; $.shining.slides.previous").should == 'first'
41
- end
42
- end
43
- end