rprogram 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,12 +1,13 @@
1
- require 'rprogram/program'
2
-
3
1
  require 'spec_helper'
4
2
  require 'classes/named_program'
5
3
  require 'classes/aliased_program'
6
4
  require 'classes/ls_program'
7
5
 
6
+ require 'rprogram/program'
7
+
8
8
  describe Program do
9
- subject { Program.new('/usr/bin/cc') }
9
+ subject { described_class.new('/usr/bin/cc') }
10
+
10
11
  after(:all) { LS.path = nil }
11
12
 
12
13
  describe "named program" do
@@ -104,18 +105,18 @@ describe Program do
104
105
 
105
106
  it "should raise an exception for invalid paths" do
106
107
  lambda {
107
- Program.new('/totally/doesnt/exist')
108
+ described_class.new('/totally/doesnt/exist')
108
109
  }.should raise_error(ProgramNotFound)
109
110
  end
110
111
 
111
112
  it "should find a program from a path" do
112
- prog = Program.find_with_path('/usr/bin/cc')
113
+ prog = described_class.find_with_path('/usr/bin/cc')
113
114
 
114
115
  prog.should_not be_nil
115
116
  end
116
117
 
117
118
  it "should find a program from given paths" do
118
- prog = Program.find_with_paths(['/usr/bin/ls','/bin/ls'])
119
+ prog = described_class.find_with_paths(['/usr/bin/ls','/bin/ls'])
119
120
 
120
121
  prog.should_not be_nil
121
122
  end
@@ -128,7 +129,7 @@ describe Program do
128
129
 
129
130
  it "should raise a ProgramNotFound exception if no path/name is valid" do
130
131
  lambda {
131
- Program.find
132
+ described_class.find
132
133
  }.should raise_error(ProgramNotFound)
133
134
  end
134
135
 
@@ -1,18 +1,18 @@
1
+ require 'spec_helper'
2
+
1
3
  require 'rprogram/version'
2
4
  require 'rprogram/rprogram'
3
5
 
4
- require 'spec_helper'
5
-
6
6
  describe RProgram do
7
7
  it "should have a VERSION constant" do
8
- RProgram.const_defined?('VERSION').should == true
8
+ subject.const_defined?('VERSION').should == true
9
9
  end
10
10
 
11
11
  it "should have a debug mode" do
12
- RProgram.debug = true
13
- RProgram.debug.should == true
12
+ subject.debug = true
13
+ subject.debug.should be_true
14
14
 
15
- RProgram.debug = false
16
- RProgram.debug.should == false
15
+ subject.debug = false
16
+ subject.debug.should be_false
17
17
  end
18
18
  end
@@ -31,11 +31,12 @@ describe System do
31
31
  describe "run" do
32
32
  let(:scripts_dir) { File.join(File.dirname(__FILE__),'scripts') }
33
33
 
34
- let(:fail_script) { File.join(scripts_dir,'fail.rb') }
34
+ let(:fail_script) { File.join(scripts_dir,'fail.rb') }
35
35
  let(:success_script) { File.join(scripts_dir,'success.rb') }
36
36
 
37
37
  let(:print_script) { File.join(scripts_dir,'print.rb') }
38
- let(:echo_script) { File.join(scripts_dir,'echo.rb') }
38
+ let(:echo_script) { File.join(scripts_dir,'echo.rb') }
39
+
39
40
  let(:data) { 'hello' }
40
41
 
41
42
  it "should return true when programs succeed" do
@@ -1,85 +1,92 @@
1
- require 'rprogram/task'
2
-
3
1
  require 'spec_helper'
4
2
  require 'classes/ls_task'
5
3
  require 'classes/ls_selinux_task'
6
4
 
5
+ require 'rprogram/task'
6
+
7
7
  describe Task do
8
8
  describe "flag_namify" do
9
+ subject { described_class }
10
+
9
11
  it "should downcase all characters" do
10
- Task.flag_namify('-SHORT-option').should == 'short_option'
12
+ subject.flag_namify('-SHORT-option').should == 'short_option'
11
13
  end
12
14
 
13
15
  it "should replace dashes with underscores" do
14
- Task.flag_namify('-short-option').should == 'short_option'
16
+ subject.flag_namify('-short-option').should == 'short_option'
15
17
  end
16
18
 
17
19
  it "should replace dots with underscores" do
18
- Task.flag_namify('-short.option').should == 'short_option'
20
+ subject.flag_namify('-short.option').should == 'short_option'
19
21
  end
20
22
 
21
23
  it "should replace spaces with underscores" do
22
- Task.flag_namify('-short option').should == 'short_option'
24
+ subject.flag_namify('-short option').should == 'short_option'
23
25
  end
24
26
 
25
27
  it "should replace multiple underscores with one underscore" do
26
- Task.flag_namify('-short__option').should == 'short_option'
28
+ subject.flag_namify('-short__option').should == 'short_option'
27
29
  end
28
30
 
29
31
  it "should namify short options" do
30
- Task.flag_namify('-short-option').should == 'short_option'
32
+ subject.flag_namify('-short-option').should == 'short_option'
31
33
  end
32
34
 
33
35
  it "should namify long options" do
34
- Task.flag_namify('--long-option').should == 'long_option'
36
+ subject.flag_namify('--long-option').should == 'long_option'
35
37
  end
36
38
  end
37
39
 
38
- before(:each) do
39
- @task = LSTask.new
40
- end
40
+ subject { LSTask.new }
41
41
 
42
42
  it "should have no arguments by default" do
43
- @task.arguments.should be_empty
43
+ subject.arguments.should be_empty
44
44
  end
45
45
 
46
46
  it "should define reader and writter methods for options" do
47
- @task.all.should be_nil
47
+ subject.all.should be_nil
48
48
 
49
- @task.all = true
50
- @task.all.should == true
49
+ subject.all = true
50
+ subject.all.should == true
51
51
  end
52
52
 
53
53
  it "should default the value of multi-options to an empty Array" do
54
- @task.hide.should be_empty
54
+ subject.hide.should be_empty
55
55
  end
56
56
 
57
57
  it "should define reader and writter methods for non-options" do
58
- @task.files.should be_empty
58
+ subject.files.should be_empty
59
59
 
60
- @task.files << 'file.txt'
61
- @task.files.should == ['file.txt']
60
+ subject.files << 'file.txt'
61
+ subject.files.should == ['file.txt']
62
62
  end
63
63
 
64
- it "should provide access to the defined options" do
65
- LSTask.options.should_not be_empty
66
- end
64
+ describe "class methods" do
65
+ subject { LSTask }
67
66
 
68
- it "should provide access to the defined non-options" do
69
- LSTask.non_options.should_not be_empty
70
- end
67
+ it "should provide access to the defined options" do
68
+ subject.options.should_not be_empty
69
+ end
71
70
 
72
- it "should default the name of long options to the flag" do
73
- LSTask.options[:author].flag.should == '--author'
74
- end
71
+ it "should provide access to the defined non-options" do
72
+ subject.non_options.should_not be_empty
73
+ end
75
74
 
76
- it "should allow the name of long options to be overridden" do
77
- LSTask.options[:group_dirs_first].flag.should == '--group-directories-first'
78
- end
75
+ it "should default the name of long options to the flag" do
76
+ subject.options[:author].flag.should == '--author'
77
+ end
79
78
 
80
- it "should allow options to be inherited" do
81
- LSTask.has_option?(:security_context).should == false
82
- LSSELinuxTask.has_option?(:all).should == true
83
- LSSELinuxTask.has_option?(:security_context).should == true
79
+ it "should allow the name of long options to be overridden" do
80
+ subject.options[:group_dirs_first].flag.should == '--group-directories-first'
81
+ end
82
+
83
+ context "when inherited" do
84
+ subject { LSSELinuxTask }
85
+
86
+ it "should allow options to be inherited" do
87
+ subject.has_option?(:all).should == true
88
+ subject.has_option?(:security_context).should == true
89
+ end
90
+ end
84
91
  end
85
92
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rprogram
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,30 +9,8 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-28 00:00:00.000000000 Z
12
+ date: 2012-07-16 00:00:00.000000000 Z
13
13
  dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: env
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ~>
20
- - !ruby/object:Gem::Version
21
- version: '0.1'
22
- - - ! '>='
23
- - !ruby/object:Gem::Version
24
- version: 0.1.2
25
- type: :runtime
26
- prerelease: false
27
- version_requirements: !ruby/object:Gem::Requirement
28
- none: false
29
- requirements:
30
- - - ~>
31
- - !ruby/object:Gem::Version
32
- version: '0.1'
33
- - - ! '>='
34
- - !ruby/object:Gem::Version
35
- version: 0.1.2
36
14
  - !ruby/object:Gem::Dependency
37
15
  name: rubygems-tasks
38
16
  requirement: !ruby/object:Gem::Requirement
@@ -104,6 +82,7 @@ files:
104
82
  - Rakefile
105
83
  - gemspec.yml
106
84
  - lib/rprogram.rb
85
+ - lib/rprogram/argument.rb
107
86
  - lib/rprogram/exceptions.rb
108
87
  - lib/rprogram/exceptions/program_not_found.rb
109
88
  - lib/rprogram/non_option.rb
@@ -116,7 +95,6 @@ files:
116
95
  - lib/rprogram/system.rb
117
96
  - lib/rprogram/task.rb
118
97
  - lib/rprogram/version.rb
119
- - lib/rprogram/yard.rb
120
98
  - rprogram.gemspec
121
99
  - spec/classes/aliased_program.rb
122
100
  - spec/classes/ls_program.rb
@@ -148,7 +126,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
148
126
  requirements:
149
127
  - - ! '>='
150
128
  - !ruby/object:Gem::Version
151
- version: '0'
129
+ version: 1.8.7
152
130
  required_rubygems_version: !ruby/object:Gem::Requirement
153
131
  none: false
154
132
  requirements:
@@ -161,11 +139,4 @@ rubygems_version: 1.8.24
161
139
  signing_key:
162
140
  specification_version: 3
163
141
  summary: A library for creating wrappers around command-line programs.
164
- test_files:
165
- - spec/non_option_spec.rb
166
- - spec/option_list_spec.rb
167
- - spec/option_spec.rb
168
- - spec/program_spec.rb
169
- - spec/rprogram_spec.rb
170
- - spec/system_spec.rb
171
- - spec/task_spec.rb
142
+ test_files: []
@@ -1 +0,0 @@
1
- require 'rprogram/yard/handlers'