shining 1.1.1 → 1.1.2

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/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