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/.gitignore +4 -0
- data/Gemfile +1 -0
- data/Guardfile +1 -1
- data/Rakefile +5 -19
- data/ext/jasmine-webkit-specrunner/HeadlessSpecRunner/ConsoleOutput.cpp +0 -0
- data/ext/jasmine-webkit-specrunner/HeadlessSpecRunner/ConsoleOutput.h +0 -0
- data/ext/jasmine-webkit-specrunner/HeadlessSpecRunner/Page.cpp +30 -0
- data/ext/jasmine-webkit-specrunner/HeadlessSpecRunner/Page.h +25 -0
- data/ext/jasmine-webkit-specrunner/HeadlessSpecRunner/Runner.cpp +270 -0
- data/ext/jasmine-webkit-specrunner/HeadlessSpecRunner/Runner.h +61 -0
- data/ext/jasmine-webkit-specrunner/extconf.rb +2 -0
- data/ext/jasmine-webkit-specrunner/specrunner.cpp +49 -410
- data/ext/jasmine-webkit-specrunner/specrunner.pro +2 -1
- data/jasmine/jasmine.headless-reporter.coffee +10 -0
- data/jasmine/jasmine.headless-reporter.js +15 -1
- data/lib/jasmine/files_list.rb +3 -6
- data/lib/jasmine/template_writer.rb +1 -0
- data/lib/jasmine-headless-webkit/version.rb +1 -1
- data/lib/jasmine-headless-webkit.rb +1 -1
- data/lib/qt/qmake.rb +25 -41
- data/spec/bin/jasmine-headless-webkit_spec.rb +0 -2
- data/spec/javascripts/jasmine.headless-reporter_spec.coffee +22 -0
- data/spec/lib/jasmine/files_list_spec.rb +3 -0
- data/spec/lib/qt/qmake_spec.rb +61 -14
- metadata +20 -57
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
|
-
|
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
|
61
|
-
|
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
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
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 =
|
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
|
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
|
|
data/spec/lib/qt/qmake_spec.rb
CHANGED
@@ -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 '.
|
68
|
-
subject { described_class }
|
69
|
-
|
68
|
+
describe '.best_qmake' do
|
70
69
|
before do
|
71
|
-
Qt::Qmake.stubs(:
|
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
|
-
|
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 '
|
81
|
-
let(:
|
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
|
-
|
100
|
+
it { should == path_one }
|
101
|
+
end
|
84
102
|
end
|
85
103
|
|
86
|
-
context '
|
87
|
-
let(:
|
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
|
-
|
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.
|
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-
|
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: &
|
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: *
|
27
|
+
version_requirements: *70920300
|
27
28
|
- !ruby/object:Gem::Dependency
|
28
29
|
name: coffee-script
|
29
|
-
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: *
|
38
|
+
version_requirements: *70920050
|
38
39
|
- !ruby/object:Gem::Dependency
|
39
40
|
name: rainbow
|
40
|
-
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: *
|
49
|
+
version_requirements: *70919860
|
49
50
|
- !ruby/object:Gem::Dependency
|
50
51
|
name: multi_json
|
51
|
-
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: *
|
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.
|
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: []
|