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.
Files changed (69) hide show
  1. data/.gitignore +2 -0
  2. data/README.rdoc +9 -0
  3. data/Rakefile +41 -0
  4. data/TODO +21 -0
  5. data/VERSION +1 -0
  6. data/bin/loris +15 -0
  7. data/cucumber.yml +1 -0
  8. data/examples/self_test/jsl.conf +1 -0
  9. data/examples/self_test/spec/spec.rhino.js +6 -0
  10. data/features/javascript_lint.feature +34 -0
  11. data/features/run.feature +36 -0
  12. data/features/step_definitons/all.rb +69 -0
  13. data/features/support/env.rb +145 -0
  14. data/lib/always_continuer.rb +7 -0
  15. data/lib/browser_finder.rb +23 -0
  16. data/lib/file_actioner.rb +16 -0
  17. data/lib/file_finder.rb +31 -0
  18. data/lib/filters/ends_with_filter.rb +17 -0
  19. data/lib/filters/extension_filter.rb +20 -0
  20. data/lib/filters/file_filter.rb +14 -0
  21. data/lib/filters/modified_filter.rb +21 -0
  22. data/lib/icons/error.png +0 -0
  23. data/lib/icons/failure.png +0 -0
  24. data/lib/icons/info.png +0 -0
  25. data/lib/icons/success.png +0 -0
  26. data/lib/icons/warning.png +0 -0
  27. data/lib/js-test-driver/JsTestDriver-1.1.jar +0 -0
  28. data/lib/js-test-driver/plugins/coverage-1.1.jar +0 -0
  29. data/lib/loris.rb +170 -0
  30. data/lib/outputs/growl_output.rb +26 -0
  31. data/lib/outputs/output_collection.rb +23 -0
  32. data/lib/outputs/shell_output.rb +17 -0
  33. data/lib/outputs/unix_console_clearing_output.rb +13 -0
  34. data/lib/outputs/windows_console_clearing_output.rb +13 -0
  35. data/lib/pinger.rb +23 -0
  36. data/lib/poller.rb +16 -0
  37. data/lib/sleep_waiter.rb +11 -0
  38. data/lib/task_manager.rb +45 -0
  39. data/lib/tasks/command_line_task.rb +28 -0
  40. data/lib/tasks/javascript_lint/javascript_lint_parser.rb +45 -0
  41. data/lib/tasks/javascript_lint/javascript_lint_runner.rb +25 -0
  42. data/lib/tasks/js_test_driver/js_test_driver_config.rb +22 -0
  43. data/lib/tasks/js_test_driver/js_test_driver_parser.rb +28 -0
  44. data/lib/tasks/js_test_driver/js_test_driver_runner.rb +28 -0
  45. data/lib/tasks/js_test_driver/js_test_driver_server.rb +38 -0
  46. data/lib/tasks/jspec/jspec_parser.rb +30 -0
  47. data/lib/tasks/jspec/jspec_runner.rb +25 -0
  48. data/lib/tasks/list_task.rb +34 -0
  49. data/lib/tasks/rspec/rspec_parser.rb +25 -0
  50. data/lib/tasks/rspec/rspec_runner.rb +25 -0
  51. data/lib/unix_process.rb +7 -0
  52. data/lib/windows_process.rb +12 -0
  53. data/loris.gemspec +133 -0
  54. data/loris.tmproj +232 -0
  55. data/spec/file_actioner_spec.rb +41 -0
  56. data/spec/file_finder_spec.rb +73 -0
  57. data/spec/filters/ends_with_filter_spec.rb +26 -0
  58. data/spec/filters/file_filter_spec.rb +28 -0
  59. data/spec/filters/modified_filter_spec.rb +47 -0
  60. data/spec/growl_output_spec.rb +33 -0
  61. data/spec/list_task_spec.rb +58 -0
  62. data/spec/poller_spec.rb +28 -0
  63. data/spec/shell_output_spec.rb +25 -0
  64. data/spec/task_manager_spec.rb +64 -0
  65. data/spec/tasks/javascript_lint/javascript_lint_runner_spec.rb +90 -0
  66. data/spec/tasks/js_test_driver/js_test_driver_runner_spec.rb +92 -0
  67. data/spec/tasks/jspec/jspec_parser_spec.rb +28 -0
  68. data/spec/tasks/jspec/jspec_runner_spec.rb +78 -0
  69. 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
+
@@ -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