jasmine-headless-webkit 0.6.1 → 0.6.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/lib/qt/qmake.rb CHANGED
@@ -1,10 +1,13 @@
1
1
  require 'rbconfig'
2
+ require 'rubygems/version'
2
3
 
3
4
  module Qt
4
5
  class NotInstalledError < StandardError; end
5
6
 
6
7
  class Qmake
7
8
  class << self
9
+ QMAKES = %w{qmake-qt4 qmake}
10
+
8
11
  def installed?
9
12
  path != nil
10
13
  end
@@ -29,7 +32,6 @@ module Qt
29
32
 
30
33
  check_make!
31
34
  check_qmake!
32
- check_qmake_version!
33
35
 
34
36
  system command
35
37
  system %{make}
@@ -39,7 +41,7 @@ module Qt
39
41
  # We need integration tests for these!
40
42
  #
41
43
  def path
42
- get_exe_path('qmake-qt4') || get_exe_path('qmake')
44
+ @path ||= best_qmake
43
45
  end
44
46
 
45
47
  def make_path
@@ -57,15 +59,24 @@ module Qt
57
59
  end
58
60
  end
59
61
 
60
- def qt_version
61
- @qt_version ||= %x{#{path} -v}.lines.to_a[1][%r{Using Qt version ([^ ]+) },1]
62
+ def qt_version_of(qmake_path)
63
+ Gem::Version.new(%x{#{qmake_path} -v}.lines.to_a[1][%r{Using Qt version ([^ ]+) },1])
62
64
  end
63
65
 
64
- def qt_47_or_better?
65
- return false if !qt_version
66
- return true if (major = qt_version.split('.')[0].to_i) > 4
67
- return false if major < 4
68
- qt_version.split('.')[1].to_i >= 7
66
+ def best_qmake
67
+ if qmake_path = QMAKES.collect do |path|
68
+ result = nil
69
+ if qmake_path = get_exe_path(path)
70
+ if (qt_version = qt_version_of(qmake_path)) >= Gem::Version.create('4.7')
71
+ result = [ qmake_path, qt_version ]
72
+ end
73
+ end
74
+ result
75
+ end.compact.sort { |a, b| b.last <=> a.last }.first
76
+ qmake_path.first
77
+ else
78
+ nil
79
+ end
69
80
  end
70
81
 
71
82
  private
@@ -98,7 +109,7 @@ MSG
98
109
 
99
110
  def check_qmake!
100
111
  if !installed?
101
- install_method = strip(
112
+ install_method = (
102
113
  case platform
103
114
  when :linux
104
115
  <<-MSG
@@ -107,7 +118,7 @@ Nokia's prebuilt binary at http://qt.nokia.com/downloads/
107
118
  MSG
108
119
  when :freebsd
109
120
  <<-MSG
110
- Install /usr/ports/devel/qmake4.
121
+ Install /usr/ports/www/qt4-webkit and /usr/ports/devel/qmake4.
111
122
  MSG
112
123
  when :darwin
113
124
  <<-MSG
@@ -115,39 +126,12 @@ sudo port install qt4-mac (for the patient) or downloading Nokia's pre-built bin
115
126
  at http://qt.nokia.com/downloads/
116
127
  MSG
117
128
  end
118
- )
129
+ ).strip
119
130
 
120
131
  $stderr.puts <<-MSG
121
- qmake is not installed. You'll need to install it to build #{@name}.
132
+ qmake is not installed or is not the right version (#{@name} needs Qt 4.7 or above).
133
+ You'll need to install it to build #{@name}.
122
134
  #{install_method} should do it for you.
123
- MSG
124
- end
125
- end
126
-
127
- def check_qmake_version!
128
- if !qt_47_or_better?
129
- install_method = strip(
130
- case platform
131
- when :linux
132
- <<-MSG
133
- sudo apt-get install libqt4-dev qt4-qmake on Debian-based systems, or downloading
134
- Nokia's prebuilt binary at http://qt.nokia.com/downloads/
135
- MSG
136
- when :freebsd
137
- <<-MSG
138
- Install /usr/ports/www/qt4-webkit.
139
- MSG
140
- when :darwin
141
- <<-MSG
142
- sudo port install qt4-mac (for the patient) or downloading Nokia's pre-built binary
143
- at http://qt.nokia.com/downloads/
144
- MSG
145
- end
146
- )
147
-
148
- $stderr.puts <<-MSG
149
- qmake is not version 4.7 or above (currently version #{qt_version}. You'll need to install version 4.7 or higher
150
- to build #{@name}. #{install_method} should do it for you.
151
135
  MSG
152
136
  end
153
137
  end
@@ -64,8 +64,6 @@ describe "jasmine-headless-webkit" do
64
64
  it "should not leave the page nor loop" do
65
65
  system %{bin/jasmine-headless-webkit -j spec/jasmine/leave_page/leave_page.yml --report #{report}}
66
66
  $?.exitstatus.should == 1
67
-
68
- report.should be_a_report_containing(2, 0, false)
69
67
  end
70
68
  end
71
69
 
@@ -14,3 +14,25 @@ describe 'HeadlessReporterResult', ->
14
14
 
15
15
  result = new HeadlessReporterResult('test', [ 'other', 'of', 'test' ])
16
16
  expect(result._findSpecLine().lineNumber).toEqual(10)
17
+
18
+ describe 'jasmine.HeadlessReporter', ->
19
+ reporter = null
20
+
21
+ beforeEach ->
22
+ reporter = new jasmine.HeadlessReporter()
23
+
24
+ it 'should stop running specs if there are errors reported', ->
25
+ # otherwise it gets really confusing!
26
+
27
+ suite = { finish: -> null }
28
+ spec = new jasmine.Spec("env", suite, "test")
29
+
30
+ spyOn(reporter, 'hasError').andReturn(true)
31
+ spyOn(spec, 'finish')
32
+ spyOn(suite, 'finish')
33
+
34
+ reporter.reportSpecStarting(spec)
35
+
36
+ expect(spec.finish).toHaveBeenCalled()
37
+ expect(suite.finish).toHaveBeenCalled()
38
+
@@ -1,3 +1,5 @@
1
+ # encoding: UTF-8
2
+
1
3
  require 'spec_helper'
2
4
  require 'jasmine/files_list'
3
5
  require 'fakefs/spec_helpers'
@@ -219,6 +221,7 @@ describe 'test', ->
219
221
  context 'yes', ->
220
222
  it 'should do something', ->
221
223
  "yes"
224
+ "PR.registerLangHandler(PR.createSimpleLexer([[\"com\",/^#[^\\n\\r]*/,null,\"#\"],[\"pln\",/^[\\t\\n\\r \\xa0]+/,null,\"\\t\\n\\r \xC2\\xa0\"],[\"str\",/^\"(?:[^\"\\\\]|\\\\[\\S\\s])*(?:\"|$)/,null,'\"']],[[\"kwd\",/^(?:ADS|AD|AUG|BZF|BZMF|CAE|CAF|CA|CCS|COM|CS|DAS|DCA|DCOM|DCS|DDOUBL|DIM|DOUBLE|DTCB|DTCF|DV|DXCH|EDRUPT|EXTEND|INCR|INDEX|NDX|INHINT|LXCH|MASK|MSK|MP|MSU|NOOP|OVSK|QXCH|RAND|READ|RELINT|RESUME|RETURN|ROR|RXOR|SQUARE|SU|TCR|TCAA|OVSK|TCF|TC|TS|WAND|WOR|WRITE|XCH|XLQ|XXALQ|ZL|ZQ|ADD|ADZ|SUB|SUZ|MPY|MPR|MPZ|DVP|COM|ABS|CLA|CLZ|LDQ|STO|STQ|ALS|LLS|LRS|TRA|TSQ|TMI|TOV|AXT|TIX|DLY|INP|OUT)\\s/,\n"
222
225
  SPEC
223
226
  end
224
227
 
@@ -1,6 +1,7 @@
1
1
  require 'spec_helper'
2
2
  require 'qt/qmake'
3
3
  require 'rbconfig'
4
+ require 'rubygems/version'
4
5
 
5
6
  describe Qt::Qmake do
6
7
  describe '.make_installed?' do
@@ -64,29 +65,75 @@ describe Qt::Qmake do
64
65
  end
65
66
  end
66
67
 
67
- describe '.qt_47_or_better?' do
68
- subject { described_class }
69
-
68
+ describe '.best_qmake' do
70
69
  before do
71
- Qt::Qmake.stubs(:qt_version).returns(version)
70
+ Qt::Qmake.stubs(:get_exe_path).with('qmake-qt4').returns(path_one)
71
+ Qt::Qmake.stubs(:get_exe_path).with('qmake').returns(path_two)
72
+
73
+ Qt::Qmake.stubs(:qt_version_of).with(path_one).returns(Gem::Version.create(version_one))
74
+ Qt::Qmake.stubs(:qt_version_of).with(path_two).returns(Gem::Version.create(version_two))
72
75
  end
73
-
74
- context 'no version' do
75
- let(:version) { nil }
76
76
 
77
- it { should_not be_qt_47_or_better }
77
+ subject { described_class.best_qmake }
78
+
79
+ let(:path_one) { nil }
80
+ let(:path_two) { nil }
81
+ let(:version_one) { nil }
82
+ let(:version_two) { nil }
83
+
84
+ context 'nothing found' do
85
+ it { should be_nil }
78
86
  end
79
87
 
80
- context 'not better' do
81
- let(:version) { '4.6.0' }
88
+ context 'one found' do
89
+ let(:path_one) { 'one' }
90
+
91
+ context 'not good' do
92
+ let(:version_one) { '4.5' }
93
+
94
+ it { should be_nil }
95
+ end
96
+
97
+ context 'good' do
98
+ let(:version_one) { '4.7' }
82
99
 
83
- it { should_not be_qt_47_or_better }
100
+ it { should == path_one }
101
+ end
84
102
  end
85
103
 
86
- context 'better' do
87
- let(:version) { '4.7.0' }
104
+ context 'two found' do
105
+ let(:path_one) { 'one' }
106
+ let(:path_two) { 'two' }
107
+
108
+ context 'neither good' do
109
+ let(:version_one) { '4.5' }
110
+ let(:version_two) { '4.5' }
111
+
112
+ it { should be_nil }
113
+ end
114
+
115
+ context 'one good' do
116
+ let(:version_one) { '4.7' }
117
+ let(:version_two) { '4.5' }
118
+
119
+ it { should == path_one }
120
+ end
121
+
122
+ context 'both good' do
123
+ context 'one better' do
124
+ let(:version_one) { '4.7' }
125
+ let(:version_two) { '4.8' }
126
+
127
+ it { should == path_two }
128
+ end
129
+
130
+ context 'both same' do
131
+ let(:version_one) { '4.7' }
132
+ let(:version_two) { '4.7' }
88
133
 
89
- it { should be_qt_47_or_better }
134
+ it { should == path_one }
135
+ end
136
+ end
90
137
  end
91
138
  end
92
139
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jasmine-headless-webkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.6.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,11 +11,12 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2011-07-26 00:00:00.000000000Z
14
+ date: 2011-08-10 00:00:00.000000000 -04:00
15
+ default_executable:
15
16
  dependencies:
16
17
  - !ruby/object:Gem::Dependency
17
18
  name: jasmine-core
18
- requirement: &2156835500 !ruby/object:Gem::Requirement
19
+ requirement: &70920300 !ruby/object:Gem::Requirement
19
20
  none: false
20
21
  requirements:
21
22
  - - ~>
@@ -23,10 +24,10 @@ dependencies:
23
24
  version: 1.1.beta
24
25
  type: :runtime
25
26
  prerelease: false
26
- version_requirements: *2156835500
27
+ version_requirements: *70920300
27
28
  - !ruby/object:Gem::Dependency
28
29
  name: coffee-script
29
- requirement: &2156835000 !ruby/object:Gem::Requirement
30
+ requirement: &70920050 !ruby/object:Gem::Requirement
30
31
  none: false
31
32
  requirements:
32
33
  - - ! '>='
@@ -34,10 +35,10 @@ dependencies:
34
35
  version: '2.2'
35
36
  type: :runtime
36
37
  prerelease: false
37
- version_requirements: *2156835000
38
+ version_requirements: *70920050
38
39
  - !ruby/object:Gem::Dependency
39
40
  name: rainbow
40
- requirement: &2156834620 !ruby/object:Gem::Requirement
41
+ requirement: &70919860 !ruby/object:Gem::Requirement
41
42
  none: false
42
43
  requirements:
43
44
  - - ! '>='
@@ -45,10 +46,10 @@ dependencies:
45
46
  version: '0'
46
47
  type: :runtime
47
48
  prerelease: false
48
- version_requirements: *2156834620
49
+ version_requirements: *70919860
49
50
  - !ruby/object:Gem::Dependency
50
51
  name: multi_json
51
- requirement: &2156834160 !ruby/object:Gem::Requirement
52
+ requirement: &70919630 !ruby/object:Gem::Requirement
52
53
  none: false
53
54
  requirements:
54
55
  - - ! '>='
@@ -56,7 +57,7 @@ dependencies:
56
57
  version: '0'
57
58
  type: :runtime
58
59
  prerelease: false
59
- version_requirements: *2156834160
60
+ version_requirements: *70919630
60
61
  description: Run Jasmine specs headlessly
61
62
  email:
62
63
  - john@coswellproductions.com
@@ -76,6 +77,12 @@ files:
76
77
  - bin/jasmine-headless-webkit
77
78
  - dev-bin/hooks/pre-commit
78
79
  - dev-bin/install-hooks
80
+ - ext/jasmine-webkit-specrunner/HeadlessSpecRunner/ConsoleOutput.cpp
81
+ - ext/jasmine-webkit-specrunner/HeadlessSpecRunner/ConsoleOutput.h
82
+ - ext/jasmine-webkit-specrunner/HeadlessSpecRunner/Page.cpp
83
+ - ext/jasmine-webkit-specrunner/HeadlessSpecRunner/Page.h
84
+ - ext/jasmine-webkit-specrunner/HeadlessSpecRunner/Runner.cpp
85
+ - ext/jasmine-webkit-specrunner/HeadlessSpecRunner/Runner.h
79
86
  - ext/jasmine-webkit-specrunner/Info.plist
80
87
  - ext/jasmine-webkit-specrunner/extconf.rb
81
88
  - ext/jasmine-webkit-specrunner/specrunner.cpp
@@ -142,6 +149,7 @@ files:
142
149
  - spec/lib/jasmine/template_writer_spec.rb
143
150
  - spec/lib/qt/qmake_spec.rb
144
151
  - spec/spec_helper.rb
152
+ has_rdoc: true
145
153
  homepage: ''
146
154
  licenses: []
147
155
  post_install_message:
@@ -162,53 +170,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
162
170
  version: '0'
163
171
  requirements: []
164
172
  rubyforge_project: jasmine-headless-webkit
165
- rubygems_version: 1.8.6
173
+ rubygems_version: 1.6.2
166
174
  signing_key:
167
175
  specification_version: 3
168
176
  summary: Run Jasmine specs headlessly in a WebKit browser
169
- test_files:
170
- - spec/bin/jasmine-headless-webkit_spec.rb
171
- - spec/jasmine/click_button/click_button.js
172
- - spec/jasmine/click_button/click_button.yml
173
- - spec/jasmine/click_button/click_button_spec.js
174
- - spec/jasmine/coffeescript_error/coffeescript_error.yml
175
- - spec/jasmine/coffeescript_error/spec.coffee
176
- - spec/jasmine/coffeescript_error/src.coffee
177
- - spec/jasmine/console_log/console_log.js
178
- - spec/jasmine/console_log/console_log.yml
179
- - spec/jasmine/console_log/console_log_spec.js
180
- - spec/jasmine/failure/failure.js
181
- - spec/jasmine/failure/failure.yml
182
- - spec/jasmine/failure/failure_spec.js
183
- - spec/jasmine/filtered_failure/failure_spec.js
184
- - spec/jasmine/filtered_failure/filtered_failure.yml
185
- - spec/jasmine/filtered_failure/src.js
186
- - spec/jasmine/filtered_failure/success_spec.js
187
- - spec/jasmine/filtered_success/filtered_success.yml
188
- - spec/jasmine/filtered_success/src.js
189
- - spec/jasmine/filtered_success/success_one_spec.js
190
- - spec/jasmine/filtered_success/success_other_file.js
191
- - spec/jasmine/filtered_success/success_two_spec.js
192
- - spec/jasmine/filtered_success_with_console/filtered_success.yml
193
- - spec/jasmine/filtered_success_with_console/src.js
194
- - spec/jasmine/filtered_success_with_console/success_one_spec.js
195
- - spec/jasmine/filtered_success_with_console/success_two_spec.js
196
- - spec/jasmine/leave_page/leave_page.js
197
- - spec/jasmine/leave_page/leave_page.yml
198
- - spec/jasmine/leave_page/leave_page_spec.js
199
- - spec/jasmine/success/success.js
200
- - spec/jasmine/success/success.yml
201
- - spec/jasmine/success/success_spec.js
202
- - spec/jasmine/success_with_error/success_with_error.js
203
- - spec/jasmine/success_with_error/success_with_error.yml
204
- - spec/jasmine/success_with_error/success_with_error_spec.js
205
- - spec/javascripts/jasmine.headless-reporter_spec.coffee
206
- - spec/javascripts/support/jasmine.yml
207
- - spec/javascripts/support/jquery-1.6.2.min.js
208
- - spec/lib/jasmine/files_list_spec.rb
209
- - spec/lib/jasmine/headless/options_spec.rb
210
- - spec/lib/jasmine/headless/runner_spec.rb
211
- - spec/lib/jasmine/headless/task_spec.rb
212
- - spec/lib/jasmine/template_writer_spec.rb
213
- - spec/lib/qt/qmake_spec.rb
214
- - spec/spec_helper.rb
177
+ test_files: []