loris 0.0.12
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 +2 -0
- data/README.rdoc +9 -0
- data/Rakefile +41 -0
- data/TODO +21 -0
- data/VERSION +1 -0
- data/bin/loris +15 -0
- data/cucumber.yml +1 -0
- data/examples/self_test/jsl.conf +1 -0
- data/examples/self_test/spec/spec.rhino.js +6 -0
- data/features/javascript_lint.feature +34 -0
- data/features/run.feature +36 -0
- data/features/step_definitons/all.rb +69 -0
- data/features/support/env.rb +145 -0
- data/lib/always_continuer.rb +7 -0
- data/lib/browser_finder.rb +23 -0
- data/lib/file_actioner.rb +16 -0
- data/lib/file_finder.rb +31 -0
- data/lib/filters/ends_with_filter.rb +17 -0
- data/lib/filters/extension_filter.rb +20 -0
- data/lib/filters/file_filter.rb +14 -0
- data/lib/filters/modified_filter.rb +21 -0
- data/lib/icons/error.png +0 -0
- data/lib/icons/failure.png +0 -0
- data/lib/icons/info.png +0 -0
- data/lib/icons/success.png +0 -0
- data/lib/icons/warning.png +0 -0
- data/lib/js-test-driver/JsTestDriver-1.1.jar +0 -0
- data/lib/js-test-driver/plugins/coverage-1.1.jar +0 -0
- data/lib/loris.rb +170 -0
- data/lib/outputs/growl_output.rb +26 -0
- data/lib/outputs/output_collection.rb +23 -0
- data/lib/outputs/shell_output.rb +17 -0
- data/lib/outputs/unix_console_clearing_output.rb +13 -0
- data/lib/outputs/windows_console_clearing_output.rb +13 -0
- data/lib/pinger.rb +23 -0
- data/lib/poller.rb +16 -0
- data/lib/sleep_waiter.rb +11 -0
- data/lib/task_manager.rb +45 -0
- data/lib/tasks/command_line_task.rb +28 -0
- data/lib/tasks/javascript_lint/javascript_lint_parser.rb +45 -0
- data/lib/tasks/javascript_lint/javascript_lint_runner.rb +25 -0
- data/lib/tasks/js_test_driver/js_test_driver_config.rb +22 -0
- data/lib/tasks/js_test_driver/js_test_driver_parser.rb +28 -0
- data/lib/tasks/js_test_driver/js_test_driver_runner.rb +28 -0
- data/lib/tasks/js_test_driver/js_test_driver_server.rb +38 -0
- data/lib/tasks/jspec/jspec_parser.rb +30 -0
- data/lib/tasks/jspec/jspec_runner.rb +25 -0
- data/lib/tasks/list_task.rb +34 -0
- data/lib/tasks/rspec/rspec_parser.rb +25 -0
- data/lib/tasks/rspec/rspec_runner.rb +25 -0
- data/lib/unix_process.rb +7 -0
- data/lib/windows_process.rb +12 -0
- data/loris.gemspec +133 -0
- data/loris.tmproj +232 -0
- data/spec/file_actioner_spec.rb +41 -0
- data/spec/file_finder_spec.rb +73 -0
- data/spec/filters/ends_with_filter_spec.rb +26 -0
- data/spec/filters/file_filter_spec.rb +28 -0
- data/spec/filters/modified_filter_spec.rb +47 -0
- data/spec/growl_output_spec.rb +33 -0
- data/spec/list_task_spec.rb +58 -0
- data/spec/poller_spec.rb +28 -0
- data/spec/shell_output_spec.rb +25 -0
- data/spec/task_manager_spec.rb +64 -0
- data/spec/tasks/javascript_lint/javascript_lint_runner_spec.rb +90 -0
- data/spec/tasks/js_test_driver/js_test_driver_runner_spec.rb +92 -0
- data/spec/tasks/jspec/jspec_parser_spec.rb +28 -0
- data/spec/tasks/jspec/jspec_runner_spec.rb +78 -0
- metadata +174 -0
@@ -0,0 +1,58 @@
|
|
1
|
+
require 'lib/tasks/list_task.rb'
|
2
|
+
|
3
|
+
describe ListTask do
|
4
|
+
|
5
|
+
before do
|
6
|
+
@files = {
|
7
|
+
:all => ['/path/to.file', '/not/in.filtered'],
|
8
|
+
:filtered => ['/path/to.file']
|
9
|
+
}
|
10
|
+
end
|
11
|
+
|
12
|
+
it "should output the given paths" do
|
13
|
+
oa = ListTask.new
|
14
|
+
result = oa.run(@files)
|
15
|
+
|
16
|
+
result[:detail].should eql "/path/to.file\n"
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should output the given paths using the given format string" do
|
20
|
+
format_string = "the file '%s' has been modified!"
|
21
|
+
|
22
|
+
oa = ListTask.new(format_string)
|
23
|
+
result = oa.run(@files)
|
24
|
+
|
25
|
+
result[:detail].should eql "the file '/path/to.file' has been modified!\n"
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should return a title" do
|
29
|
+
oa = ListTask.new
|
30
|
+
result = oa.run(@files)
|
31
|
+
|
32
|
+
result[:title].should eql "List"
|
33
|
+
end
|
34
|
+
|
35
|
+
it "should return success always" do
|
36
|
+
oa = ListTask.new
|
37
|
+
result = oa.run(@files)
|
38
|
+
|
39
|
+
result[:state].should eql :success
|
40
|
+
end
|
41
|
+
|
42
|
+
it "should return summary for 1 file" do
|
43
|
+
oa = ListTask.new
|
44
|
+
result = oa.run(@files)
|
45
|
+
|
46
|
+
result[:first].should eql @files[:filtered][0]
|
47
|
+
end
|
48
|
+
|
49
|
+
it "should return summary for 3 files" do
|
50
|
+
oa = ListTask.new
|
51
|
+
result = oa.run({ :filtered => ['first.file','second.file','third.file'] })
|
52
|
+
|
53
|
+
result[:first].should eql "3 files."
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
57
|
+
|
58
|
+
|
data/spec/poller_spec.rb
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'lib/poller.rb'
|
2
|
+
|
3
|
+
describe Poller do
|
4
|
+
|
5
|
+
before do
|
6
|
+
continue = true
|
7
|
+
@continuer = mock('continuer')
|
8
|
+
@continuer.should_receive(:continue?).any_number_of_times {
|
9
|
+
continue
|
10
|
+
}
|
11
|
+
|
12
|
+
@waiter = mock('waiter')
|
13
|
+
@waiter.should_receive(:wait).ordered
|
14
|
+
|
15
|
+
@action = mock('actioner')
|
16
|
+
@action.should_receive(:run).ordered {
|
17
|
+
continue = false
|
18
|
+
}
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should wait and call action while contunuer returns true" do
|
22
|
+
p = Poller.new(@waiter, @continuer, @action)
|
23
|
+
p.start
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
|
28
|
+
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'lib/outputs/shell_output.rb'
|
2
|
+
|
3
|
+
describe ShellOutput do
|
4
|
+
|
5
|
+
it "should output title, state, summary, and detail" do
|
6
|
+
result = {
|
7
|
+
:state => :success,
|
8
|
+
:title => 'Example Title',
|
9
|
+
:summary => 'Example Summary',
|
10
|
+
:detail => 'Detail goes here...'
|
11
|
+
}
|
12
|
+
|
13
|
+
output = mock('Output')
|
14
|
+
output.should_receive(:puts).with(:success)
|
15
|
+
output.should_receive(:puts).with('Example Title')
|
16
|
+
output.should_receive(:puts).with('Example Summary')
|
17
|
+
output.should_receive(:puts).with('Detail goes here...')
|
18
|
+
|
19
|
+
shell_output = ShellOutput.new(output)
|
20
|
+
shell_output.add_result(result)
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require 'lib/task_manager.rb'
|
2
|
+
|
3
|
+
describe TaskManager do
|
4
|
+
|
5
|
+
before do
|
6
|
+
@files = ['/path/to.file']
|
7
|
+
@result = {
|
8
|
+
:state => :success,
|
9
|
+
:detail =>'task output'
|
10
|
+
}
|
11
|
+
|
12
|
+
@task1 = mock('Task 1')
|
13
|
+
@task2 = mock('Task 2')
|
14
|
+
@output = mock('Output')
|
15
|
+
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should call start_run and then output a run task" do
|
19
|
+
@task1.should_receive(:run).with(@files).and_return(@result)
|
20
|
+
@output.should_receive(:start_run)
|
21
|
+
@output.should_receive(:add_result).with(@result)
|
22
|
+
|
23
|
+
task_manager = TaskManager.new(@output)
|
24
|
+
task_manager.add(@task1)
|
25
|
+
task_manager.run(@files)
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should run multiple tasks in order added" do
|
29
|
+
@task1.should_receive(:run).ordered.with(@files).and_return(@result)
|
30
|
+
@task2.should_receive(:run).ordered.with(@files).and_return(@result)
|
31
|
+
@output.should_receive(:start_run)
|
32
|
+
@output.should_receive(:add_result).any_number_of_times
|
33
|
+
|
34
|
+
task_manager = TaskManager.new(@output)
|
35
|
+
task_manager.add(@task1)
|
36
|
+
task_manager.add(@task2)
|
37
|
+
task_manager.run(@files)
|
38
|
+
end
|
39
|
+
|
40
|
+
it "should stop running tasks on error state" do
|
41
|
+
@task1.should_receive(:run).ordered.with(@files).and_return({:state => :error})
|
42
|
+
@output.should_receive(:start_run)
|
43
|
+
@output.should_receive(:add_result).any_number_of_times
|
44
|
+
|
45
|
+
task_manager = TaskManager.new(@output)
|
46
|
+
task_manager.add(@task1)
|
47
|
+
task_manager.add(@task2)
|
48
|
+
task_manager.run(@files)
|
49
|
+
end
|
50
|
+
|
51
|
+
it "should stop running tasks on failure state" do
|
52
|
+
@task1.should_receive(:run).ordered.with(@files).and_return({:state => :failure})
|
53
|
+
@output.should_receive(:start_run)
|
54
|
+
@output.should_receive(:add_result).any_number_of_times
|
55
|
+
|
56
|
+
task_manager = TaskManager.new(@output)
|
57
|
+
task_manager.add(@task1)
|
58
|
+
task_manager.add(@task2)
|
59
|
+
task_manager.run(@files)
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
63
|
+
|
64
|
+
|
@@ -0,0 +1,90 @@
|
|
1
|
+
require 'lib/tasks/javascript_lint/javascript_lint_runner.rb'
|
2
|
+
|
3
|
+
describe JavascriptLintRunner do
|
4
|
+
|
5
|
+
before do
|
6
|
+
@filter = mock('JS Extension Filter')
|
7
|
+
end
|
8
|
+
|
9
|
+
describe "is_configured?" do
|
10
|
+
|
11
|
+
it "should return true if jsl.conf exists" do
|
12
|
+
|
13
|
+
dir = '/a/dir/structure'
|
14
|
+
all_files = ['/a/dir/structure/jsl.conf']
|
15
|
+
|
16
|
+
runner = JavascriptLintRunner.new(dir, @filter)
|
17
|
+
|
18
|
+
runner.is_configured?(all_files).should be_true
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should return false if jsl.conf does not exists" do
|
23
|
+
|
24
|
+
dir = '/a/dir/structure'
|
25
|
+
all_files = ['/a/dir/structure/other.conf']
|
26
|
+
|
27
|
+
runner = JavascriptLintRunner.new(dir, @filter)
|
28
|
+
|
29
|
+
runner.is_configured?(all_files).should be_false
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
describe "should_run?" do
|
36
|
+
|
37
|
+
it "should return true if a file ends with a js extension" do
|
38
|
+
|
39
|
+
dir = '/a/dir/structure'
|
40
|
+
modified_files = ['/a/dir/structure/another_dir/example.js']
|
41
|
+
@filter.should_receive(:filter).and_return(true)
|
42
|
+
|
43
|
+
runner = JavascriptLintRunner.new(dir, @filter)
|
44
|
+
|
45
|
+
runner.should_run?(modified_files).should be_true
|
46
|
+
|
47
|
+
end
|
48
|
+
|
49
|
+
it "should return true if any file ends with a js extension" do
|
50
|
+
|
51
|
+
dir = '/a/dir/structure'
|
52
|
+
modified_files = ['/a/dir/structure/nonjs.file', '/a/dir/structure/another_dir/example.js']
|
53
|
+
@filter.should_receive(:filter).ordered.and_return(false)
|
54
|
+
@filter.should_receive(:filter).ordered.and_return(true)
|
55
|
+
|
56
|
+
runner = JavascriptLintRunner.new(dir, @filter)
|
57
|
+
|
58
|
+
runner.should_run?(modified_files).should be_true
|
59
|
+
|
60
|
+
end
|
61
|
+
|
62
|
+
it "should return false if no file ends with a js extension" do
|
63
|
+
|
64
|
+
dir = '/a/dir/structure'
|
65
|
+
modified_files = ['/a/dir/structure/nonjs.file']
|
66
|
+
@filter.should_receive(:filter).ordered.and_return(false)
|
67
|
+
|
68
|
+
runner = JavascriptLintRunner.new(dir, @filter)
|
69
|
+
|
70
|
+
runner.should_run?(modified_files).should be_false
|
71
|
+
|
72
|
+
end
|
73
|
+
|
74
|
+
it "should return true if the jsl.conf file was modified" do
|
75
|
+
|
76
|
+
dir = '/a/dir/structure'
|
77
|
+
modified_files = ['/a/dir/structure/jsl.conf']
|
78
|
+
@filter.should_receive(:filter).ordered.and_return(false)
|
79
|
+
|
80
|
+
runner = JavascriptLintRunner.new(dir, @filter)
|
81
|
+
|
82
|
+
runner.should_run?(modified_files).should be_true
|
83
|
+
|
84
|
+
end
|
85
|
+
|
86
|
+
end
|
87
|
+
|
88
|
+
end
|
89
|
+
|
90
|
+
|
@@ -0,0 +1,92 @@
|
|
1
|
+
require 'lib/tasks/js_test_driver/js_test_driver_runner.rb'
|
2
|
+
|
3
|
+
describe JsTestDriverRunner do
|
4
|
+
|
5
|
+
before do
|
6
|
+
@jar = '/path/to/jsTestDriver.jar'
|
7
|
+
@filter = mock('JS Extension Filter')
|
8
|
+
@server = mock('JS Test Driver Server')
|
9
|
+
end
|
10
|
+
|
11
|
+
describe "is_configured?" do
|
12
|
+
|
13
|
+
it "should return true if jsTestDriver.conf exists" do
|
14
|
+
|
15
|
+
dir = '/a/dir/structure'
|
16
|
+
all_files = ['/a/dir/structure/jsTestDriver.conf']
|
17
|
+
|
18
|
+
runner = JsTestDriverRunner.new(dir, @jar, @filter, @server)
|
19
|
+
|
20
|
+
runner.is_configured?(all_files).should be_true
|
21
|
+
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should return false if jsl.conf does not exists" do
|
25
|
+
|
26
|
+
dir = '/a/dir/structure'
|
27
|
+
all_files = ['/a/dir/structure/other.conf']
|
28
|
+
|
29
|
+
runner = JsTestDriverRunner.new(dir, @jar, @filter, @server)
|
30
|
+
|
31
|
+
runner.is_configured?(all_files).should be_false
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
describe "should_run?" do
|
38
|
+
|
39
|
+
it "should return true if a file ends with a js extension" do
|
40
|
+
|
41
|
+
dir = '/a/dir/structure'
|
42
|
+
modified_files = ['/a/dir/structure/another_dir/example.js']
|
43
|
+
@filter.should_receive(:filter).and_return(true)
|
44
|
+
|
45
|
+
runner = JsTestDriverRunner.new(dir, @jar, @filter, @server)
|
46
|
+
|
47
|
+
runner.should_run?(modified_files).should be_true
|
48
|
+
|
49
|
+
end
|
50
|
+
|
51
|
+
it "should return true if any file ends with a js extension" do
|
52
|
+
|
53
|
+
dir = '/a/dir/structure'
|
54
|
+
modified_files = ['/a/dir/structure/nonjs.file', '/a/dir/structure/another_dir/example.js']
|
55
|
+
@filter.should_receive(:filter).ordered.and_return(false)
|
56
|
+
@filter.should_receive(:filter).ordered.and_return(true)
|
57
|
+
|
58
|
+
runner = JsTestDriverRunner.new(dir, @jar, @filter, @server)
|
59
|
+
|
60
|
+
runner.should_run?(modified_files).should be_true
|
61
|
+
|
62
|
+
end
|
63
|
+
|
64
|
+
it "should return false if no file ends with a js extension" do
|
65
|
+
|
66
|
+
dir = '/a/dir/structure'
|
67
|
+
modified_files = ['/a/dir/structure/nonjs.file']
|
68
|
+
@filter.should_receive(:filter).ordered.and_return(false)
|
69
|
+
|
70
|
+
runner = JsTestDriverRunner.new(dir, @jar, @filter, @server)
|
71
|
+
|
72
|
+
runner.should_run?(modified_files).should be_false
|
73
|
+
|
74
|
+
end
|
75
|
+
|
76
|
+
it "should return true if the jsTestDriver.conf file was modified" do
|
77
|
+
|
78
|
+
dir = '/a/dir/structure'
|
79
|
+
modified_files = ['/a/dir/structure/jsTestDriver.conf']
|
80
|
+
@filter.should_receive(:filter).ordered.and_return(false)
|
81
|
+
|
82
|
+
runner = JsTestDriverRunner.new(dir, @jar, @filter, @server)
|
83
|
+
|
84
|
+
runner.should_run?(modified_files).should be_true
|
85
|
+
|
86
|
+
end
|
87
|
+
|
88
|
+
end
|
89
|
+
|
90
|
+
end
|
91
|
+
|
92
|
+
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'lib/tasks/jspec/jspec_parser.rb'
|
2
|
+
|
3
|
+
describe JSpecParser do
|
4
|
+
|
5
|
+
it "should return error if unable to parse jspec output" do
|
6
|
+
jspec_parser = JSpecParser.new
|
7
|
+
state, summary, first = jspec_parser.parse_result('A JSpec error message here...')
|
8
|
+
|
9
|
+
state.should eql :error
|
10
|
+
end
|
11
|
+
|
12
|
+
it "should return success if all tests pass" do
|
13
|
+
jspec_parser = JSpecParser.new
|
14
|
+
state, summary, first = jspec_parser.parse_result('Passes: 3 Failures: 0')
|
15
|
+
|
16
|
+
state.should eql :success
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should return failure if any test fails" do
|
20
|
+
jspec_parser = JSpecParser.new
|
21
|
+
state, summary, first = jspec_parser.parse_result('Passes: 2 Failures: 1')
|
22
|
+
|
23
|
+
state.should eql :failure
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
|
28
|
+
|
@@ -0,0 +1,78 @@
|
|
1
|
+
require 'lib/tasks/jspec/jspec_runner.rb'
|
2
|
+
|
3
|
+
describe JSpecRunner do
|
4
|
+
|
5
|
+
before do
|
6
|
+
@filter = mock('JS Extension Filter')
|
7
|
+
end
|
8
|
+
|
9
|
+
describe "is_configured?" do
|
10
|
+
|
11
|
+
it "should return true if spec/spec.rhino.js exists" do
|
12
|
+
|
13
|
+
dir = '/a/dir/structure'
|
14
|
+
all_files = ['/a/dir/structure/spec/spec.rhino.js']
|
15
|
+
|
16
|
+
runner = JSpecRunner.new(dir, @filter)
|
17
|
+
|
18
|
+
runner.is_configured?(all_files).should be_true
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should return false if spec/spec.rhino.js does not exists" do
|
23
|
+
|
24
|
+
dir = '/a/dir/structure'
|
25
|
+
all_files = ['/a/dir/structure/spec/other_js_spec_file.js']
|
26
|
+
|
27
|
+
runner = JSpecRunner.new(dir, @filter)
|
28
|
+
|
29
|
+
runner.is_configured?(all_files).should be_false
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
describe "should_run?" do
|
36
|
+
|
37
|
+
it "should return true if a file ends with a js extension" do
|
38
|
+
|
39
|
+
dir = '/a/dir/structure'
|
40
|
+
modified_files = ['/a/dir/structure/another_dir/example.js']
|
41
|
+
@filter.should_receive(:filter).and_return(true)
|
42
|
+
|
43
|
+
runner = JSpecRunner.new(dir, @filter)
|
44
|
+
|
45
|
+
runner.should_run?(modified_files).should be_true
|
46
|
+
|
47
|
+
end
|
48
|
+
|
49
|
+
it "should return true if any file ends with a js extension" do
|
50
|
+
|
51
|
+
dir = '/a/dir/structure'
|
52
|
+
modified_files = ['/a/dir/structure/nonjs.file', '/a/dir/structure/another_dir/example.js']
|
53
|
+
@filter.should_receive(:filter).ordered.and_return(false)
|
54
|
+
@filter.should_receive(:filter).ordered.and_return(true)
|
55
|
+
|
56
|
+
runner = JSpecRunner.new(dir, @filter)
|
57
|
+
|
58
|
+
runner.should_run?(modified_files).should be_true
|
59
|
+
|
60
|
+
end
|
61
|
+
|
62
|
+
it "should return false if no file ends with a js extension" do
|
63
|
+
|
64
|
+
dir = '/a/dir/structure'
|
65
|
+
modified_files = ['/a/dir/structure/nonjs.file']
|
66
|
+
@filter.should_receive(:filter).ordered.and_return(false)
|
67
|
+
|
68
|
+
runner = JSpecRunner.new(dir, @filter)
|
69
|
+
|
70
|
+
runner.should_run?(modified_files).should be_false
|
71
|
+
|
72
|
+
end
|
73
|
+
|
74
|
+
end
|
75
|
+
|
76
|
+
end
|
77
|
+
|
78
|
+
|
metadata
ADDED
@@ -0,0 +1,174 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: loris
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.12
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Karl O'Keeffe
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2009-10-02 00:00:00 +01:00
|
13
|
+
default_executable: loris
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: visionmedia-bind
|
17
|
+
type: :runtime
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 0.2.6
|
24
|
+
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: karl-growl
|
27
|
+
type: :runtime
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.0.3
|
34
|
+
version:
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: extensions
|
37
|
+
type: :runtime
|
38
|
+
version_requirement:
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 0.6.0
|
44
|
+
version:
|
45
|
+
- !ruby/object:Gem::Dependency
|
46
|
+
name: win32-process
|
47
|
+
type: :runtime
|
48
|
+
version_requirement:
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 0.6.1
|
54
|
+
version:
|
55
|
+
description: Automatically run javascript unit tests
|
56
|
+
email: loris@monket.net
|
57
|
+
executables:
|
58
|
+
- loris
|
59
|
+
extensions: []
|
60
|
+
|
61
|
+
extra_rdoc_files:
|
62
|
+
- README.rdoc
|
63
|
+
files:
|
64
|
+
- .gitignore
|
65
|
+
- README.rdoc
|
66
|
+
- Rakefile
|
67
|
+
- TODO
|
68
|
+
- VERSION
|
69
|
+
- bin/loris
|
70
|
+
- cucumber.yml
|
71
|
+
- examples/self_test/jsl.conf
|
72
|
+
- examples/self_test/spec/spec.rhino.js
|
73
|
+
- features/javascript_lint.feature
|
74
|
+
- features/run.feature
|
75
|
+
- features/step_definitons/all.rb
|
76
|
+
- features/support/env.rb
|
77
|
+
- lib/always_continuer.rb
|
78
|
+
- lib/browser_finder.rb
|
79
|
+
- lib/file_actioner.rb
|
80
|
+
- lib/file_finder.rb
|
81
|
+
- lib/filters/ends_with_filter.rb
|
82
|
+
- lib/filters/extension_filter.rb
|
83
|
+
- lib/filters/file_filter.rb
|
84
|
+
- lib/filters/modified_filter.rb
|
85
|
+
- lib/icons/error.png
|
86
|
+
- lib/icons/failure.png
|
87
|
+
- lib/icons/info.png
|
88
|
+
- lib/icons/success.png
|
89
|
+
- lib/icons/warning.png
|
90
|
+
- lib/js-test-driver/JsTestDriver-1.1.jar
|
91
|
+
- lib/js-test-driver/plugins/coverage-1.1.jar
|
92
|
+
- lib/loris.rb
|
93
|
+
- lib/outputs/growl_output.rb
|
94
|
+
- lib/outputs/output_collection.rb
|
95
|
+
- lib/outputs/shell_output.rb
|
96
|
+
- lib/outputs/unix_console_clearing_output.rb
|
97
|
+
- lib/outputs/windows_console_clearing_output.rb
|
98
|
+
- lib/pinger.rb
|
99
|
+
- lib/poller.rb
|
100
|
+
- lib/sleep_waiter.rb
|
101
|
+
- lib/task_manager.rb
|
102
|
+
- lib/tasks/command_line_task.rb
|
103
|
+
- lib/tasks/javascript_lint/javascript_lint_parser.rb
|
104
|
+
- lib/tasks/javascript_lint/javascript_lint_runner.rb
|
105
|
+
- lib/tasks/js_test_driver/js_test_driver_config.rb
|
106
|
+
- lib/tasks/js_test_driver/js_test_driver_parser.rb
|
107
|
+
- lib/tasks/js_test_driver/js_test_driver_runner.rb
|
108
|
+
- lib/tasks/js_test_driver/js_test_driver_server.rb
|
109
|
+
- lib/tasks/jspec/jspec_parser.rb
|
110
|
+
- lib/tasks/jspec/jspec_runner.rb
|
111
|
+
- lib/tasks/list_task.rb
|
112
|
+
- lib/tasks/rspec/rspec_parser.rb
|
113
|
+
- lib/tasks/rspec/rspec_runner.rb
|
114
|
+
- lib/unix_process.rb
|
115
|
+
- lib/windows_process.rb
|
116
|
+
- loris.gemspec
|
117
|
+
- loris.tmproj
|
118
|
+
- spec/file_actioner_spec.rb
|
119
|
+
- spec/file_finder_spec.rb
|
120
|
+
- spec/filters/ends_with_filter_spec.rb
|
121
|
+
- spec/filters/file_filter_spec.rb
|
122
|
+
- spec/filters/modified_filter_spec.rb
|
123
|
+
- spec/growl_output_spec.rb
|
124
|
+
- spec/list_task_spec.rb
|
125
|
+
- spec/poller_spec.rb
|
126
|
+
- spec/shell_output_spec.rb
|
127
|
+
- spec/task_manager_spec.rb
|
128
|
+
- spec/tasks/javascript_lint/javascript_lint_runner_spec.rb
|
129
|
+
- spec/tasks/js_test_driver/js_test_driver_runner_spec.rb
|
130
|
+
- spec/tasks/jspec/jspec_parser_spec.rb
|
131
|
+
- spec/tasks/jspec/jspec_runner_spec.rb
|
132
|
+
has_rdoc: true
|
133
|
+
homepage: http://github.com/karl/loris
|
134
|
+
licenses: []
|
135
|
+
|
136
|
+
post_install_message:
|
137
|
+
rdoc_options:
|
138
|
+
- --charset=UTF-8
|
139
|
+
require_paths:
|
140
|
+
- lib
|
141
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: "0"
|
146
|
+
version:
|
147
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
148
|
+
requirements:
|
149
|
+
- - ">="
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: "0"
|
152
|
+
version:
|
153
|
+
requirements: []
|
154
|
+
|
155
|
+
rubyforge_project:
|
156
|
+
rubygems_version: 1.3.5
|
157
|
+
signing_key:
|
158
|
+
specification_version: 3
|
159
|
+
summary: Automatically run javascript unit tests
|
160
|
+
test_files:
|
161
|
+
- spec/file_actioner_spec.rb
|
162
|
+
- spec/file_finder_spec.rb
|
163
|
+
- spec/filters/ends_with_filter_spec.rb
|
164
|
+
- spec/filters/file_filter_spec.rb
|
165
|
+
- spec/filters/modified_filter_spec.rb
|
166
|
+
- spec/growl_output_spec.rb
|
167
|
+
- spec/list_task_spec.rb
|
168
|
+
- spec/poller_spec.rb
|
169
|
+
- spec/shell_output_spec.rb
|
170
|
+
- spec/task_manager_spec.rb
|
171
|
+
- spec/tasks/javascript_lint/javascript_lint_runner_spec.rb
|
172
|
+
- spec/tasks/js_test_driver/js_test_driver_runner_spec.rb
|
173
|
+
- spec/tasks/jspec/jspec_parser_spec.rb
|
174
|
+
- spec/tasks/jspec/jspec_runner_spec.rb
|