falkorlib 0.6.19 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.rubocop.yml +88 -0
- data/.travis.yml +56 -4
- data/Gemfile +4 -4
- data/Gemfile.lock +55 -27
- data/Rakefile +12 -8
- data/Vagrantfile +68 -0
- data/completion/_falkor +55 -7
- data/falkorlib.gemspec +14 -12
- data/lib/falkorlib.rb +22 -21
- data/lib/falkorlib/bootstrap.rb +5 -1
- data/lib/falkorlib/bootstrap/base.rb +385 -693
- data/lib/falkorlib/bootstrap/git.rb +137 -0
- data/lib/falkorlib/bootstrap/latex.rb +186 -0
- data/lib/falkorlib/bootstrap/link.rb +108 -96
- data/lib/falkorlib/bootstrap/ruby.rb +102 -0
- data/lib/falkorlib/cli.rb +82 -26
- data/lib/falkorlib/cli/config.rb +8 -8
- data/lib/falkorlib/cli/link.rb +8 -9
- data/lib/falkorlib/cli/new.rb +25 -39
- data/lib/falkorlib/common.rb +425 -425
- data/lib/falkorlib/config.rb +114 -110
- data/lib/falkorlib/error.rb +27 -16
- data/lib/falkorlib/gem_tasks.rb +12 -11
- data/lib/falkorlib/git.rb +3 -4
- data/lib/falkorlib/git/base.rb +439 -396
- data/lib/falkorlib/git/flow.rb +163 -165
- data/lib/falkorlib/git_tasks.rb +31 -31
- data/lib/falkorlib/loader.rb +1 -1
- data/lib/falkorlib/puppet.rb +3 -5
- data/lib/falkorlib/puppet/base.rb +10 -15
- data/lib/falkorlib/puppet/modules.rb +367 -365
- data/lib/falkorlib/puppet_tasks.rb +11 -8
- data/lib/falkorlib/tasks.rb +51 -54
- data/lib/falkorlib/tasks/gem.rake +42 -43
- data/lib/falkorlib/tasks/gem.rb +12 -11
- data/lib/falkorlib/tasks/git.rake +101 -107
- data/lib/falkorlib/tasks/git.rb +31 -31
- data/lib/falkorlib/tasks/gitflow.rake +131 -141
- data/lib/falkorlib/tasks/puppet.rb +11 -8
- data/lib/falkorlib/tasks/puppet_modules.rake +143 -154
- data/lib/falkorlib/tasks/rspec.rake +94 -59
- data/lib/falkorlib/tasks/yard.rake +35 -39
- data/lib/falkorlib/version.rb +55 -55
- data/lib/falkorlib/versioning.rb +169 -167
- data/spec/falkorlib/bootstrap_helpers_spec.rb +106 -56
- data/spec/falkorlib/bootstrap_latex_spec.rb +145 -0
- data/spec/falkorlib/bootstrap_link_spec.rb +137 -0
- data/spec/falkorlib/bootstrap_ruby_spec.rb +118 -0
- data/spec/falkorlib/bootstrap_spec.rb +112 -129
- data/spec/falkorlib/git_spec.rb +94 -22
- data/spec/falkorlib/gitflow_spec.rb +54 -42
- data/spec/falkorlib/puppet_modules_spec.rb +35 -26
- data/spec/falkorlib/versioning_puppet_module_spec.rb +94 -90
- data/spec/falkorlib_spec.rb +5 -0
- data/spec/spec_helper.rb +88 -47
- data/templates/latex/article-ieee/main.tex.erb +509 -0
- data/templates/latex/article/_abstract.tex.erb +19 -0
- data/templates/latex/article/_acronyms.tex.erb +116 -0
- data/templates/latex/article/_conclusion.tex.erb +25 -0
- data/templates/latex/article/_context.tex.erb +17 -0
- data/templates/latex/article/_experiments.tex.erb +27 -0
- data/templates/latex/article/_implem.tex.erb +17 -0
- data/templates/latex/article/_introduction.tex.erb +39 -0
- data/templates/latex/article/_related_works.tex.erb +19 -0
- data/templates/latex/article/biblio.bib.erb +28 -0
- data/templates/latex/article/template.tex.erb +16 -0
- data/templates/latex/ieee/IEEEtran.bst +2409 -0
- data/templates/latex/ieee/IEEEtran.cls +6347 -0
- data/templates/motd/motd.erb +2 -1
- metadata +82 -2
@@ -2,7 +2,7 @@
|
|
2
2
|
#########################################
|
3
3
|
# gitflow_spec.rb
|
4
4
|
# @author Sebastien Varrette <Sebastien.Varrette@uni.lu>
|
5
|
-
# Time-stamp: <
|
5
|
+
# Time-stamp: <Wed 2016-11-09 09:16 svarrette>
|
6
6
|
#
|
7
7
|
# @description Check the Git Flow operations -- see https://github.com/nvie/gitflow
|
8
8
|
#
|
@@ -14,58 +14,70 @@ require 'spec_helper'
|
|
14
14
|
require 'tmpdir'
|
15
15
|
|
16
16
|
describe FalkorLib::GitFlow do
|
17
|
-
|
17
|
+
include FalkorLib::Common
|
18
18
|
|
19
|
-
|
19
|
+
if command?('git-flow')
|
20
20
|
|
21
21
|
|
22
|
-
|
23
|
-
|
22
|
+
dir = Dir.mktmpdir
|
23
|
+
afile = File.join(dir, 'a_file')
|
24
24
|
|
25
|
-
|
26
|
-
|
27
|
-
|
25
|
+
after :all do
|
26
|
+
FileUtils.remove_entry_secure dir
|
27
|
+
end
|
28
|
+
|
29
|
+
#############################################################
|
30
|
+
context "Test git-flow operations within temporary directory " do
|
28
31
|
|
29
|
-
|
30
|
-
|
32
|
+
it "#init? - fails on non-git directory" do
|
33
|
+
t = FalkorLib::GitFlow.init?(dir)
|
34
|
+
expect(t).to be false
|
35
|
+
end
|
31
36
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
37
|
+
it "#init - initialize a git-flow repository" do
|
38
|
+
expect(STDIN).to receive(:gets).and_return('Yes')
|
39
|
+
i = FalkorLib::GitFlow.init(dir)
|
40
|
+
expect(i).to eq(0)
|
41
|
+
t = FalkorLib::Git.init?(dir)
|
42
|
+
expect(t).to be true
|
43
|
+
end
|
36
44
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
t = FalkorLib::Git.init?(dir)
|
42
|
-
expect(t).to be true
|
43
|
-
end
|
45
|
+
it "#init? - succeed on git-flow enabled directory" do
|
46
|
+
t = FalkorLib::GitFlow.init?(dir)
|
47
|
+
expect(t).to be true
|
48
|
+
end
|
44
49
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
50
|
+
it "#branch" do
|
51
|
+
expected = {
|
52
|
+
:master => 'production',
|
53
|
+
:develop => 'devel'
|
54
|
+
}
|
55
|
+
expected.each do |type,v|
|
56
|
+
b = FalkorLib::GitFlow.branches(type.to_sym, dir)
|
57
|
+
expect(b).to eq(expected[type.to_sym])
|
58
|
+
end
|
59
|
+
end
|
49
60
|
|
50
|
-
#['feature', 'hotfix', 'support'].each do |op|
|
51
|
-
['feature'].each do |op|
|
52
|
-
name = 'toto'
|
53
|
-
it "#start -- should start a '#{op}' GitFlow operation" do
|
54
|
-
a = FalkorLib::GitFlow.start(op, name, dir)
|
55
|
-
expect(a).to eq(0)
|
56
|
-
br = FalkorLib::Git.branch?( dir )
|
57
|
-
expect(br).to eq("#{op}/#{name}")
|
58
|
-
end
|
59
61
|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
62
|
+
#['feature', 'hotfix', 'support'].each do |op|
|
63
|
+
['feature'].each do |op|
|
64
|
+
name = 'toto'
|
65
|
+
it "#start -- should start a '#{op}' GitFlow operation" do
|
66
|
+
a = FalkorLib::GitFlow.start(op, name, dir)
|
67
|
+
expect(a).to eq(0)
|
68
|
+
br = FalkorLib::Git.branch?( dir )
|
69
|
+
expect(br).to eq("#{op}/#{name}")
|
68
70
|
end
|
69
71
|
|
72
|
+
it "#finish -- should finish a '#{op}' GitFlow operation" do
|
73
|
+
expect(STDIN).to receive(:gets).and_return("Test #{op} operation") if [ 'hotfix', 'support' ].include?(op)
|
74
|
+
a = FalkorLib::GitFlow.finish(op, name, dir)
|
75
|
+
expect(a).to eq(0)
|
76
|
+
br = FalkorLib::Git.branch?( dir )
|
77
|
+
expect(br).to eq(FalkorLib.config[:gitflow][:branches][:develop])
|
78
|
+
end
|
79
|
+
end
|
70
80
|
end
|
81
|
+
|
82
|
+
end
|
71
83
|
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
#########################################
|
3
3
|
# puppet_modules_spec.rb
|
4
4
|
# @author Sebastien Varrette <Sebastien.Varrette@uni.lu>
|
5
|
-
# Time-stamp: <
|
5
|
+
# Time-stamp: <Thu 2016-11-10 02:01 svarrette>
|
6
6
|
#
|
7
7
|
# @description Check the Puppet Modules operations
|
8
8
|
#
|
@@ -19,10 +19,11 @@ describe FalkorLib::Puppet::Modules do
|
|
19
19
|
include FalkorLib::Common
|
20
20
|
|
21
21
|
dir = Dir.mktmpdir
|
22
|
+
|
22
23
|
# Module name
|
23
24
|
name = 'toto'
|
24
25
|
moduledir = File.join(dir, name)
|
25
|
-
jsonfile = File.join(
|
26
|
+
jsonfile = File.join(moduledir, 'metadata.json')
|
26
27
|
|
27
28
|
#afile = File.join(dir, 'a_file')
|
28
29
|
# before :all do
|
@@ -30,8 +31,16 @@ describe FalkorLib::Puppet::Modules do
|
|
30
31
|
# ENV['GIT_AUTHOR_EMAIL'] = 'travis@domain.org' if ENV['GIT_AUTHOR_EMAIL'].nil?
|
31
32
|
# end
|
32
33
|
|
34
|
+
#_____________
|
35
|
+
before :all do
|
36
|
+
$stdout.sync = true
|
37
|
+
FalkorLib.config[:no_interaction] = true
|
38
|
+
end
|
39
|
+
|
40
|
+
#____________
|
33
41
|
after :all do
|
34
42
|
FileUtils.remove_entry_secure dir
|
43
|
+
FalkorLib.config[:no_interaction] = false
|
35
44
|
end
|
36
45
|
|
37
46
|
#############################################################
|
@@ -40,7 +49,7 @@ describe FalkorLib::Puppet::Modules do
|
|
40
49
|
|
41
50
|
it "#init -- create a puppet module" do
|
42
51
|
# Prepare answer to the questions
|
43
|
-
Array.new(17).each { |e| expect(STDIN).to receive(:gets).and_return('') }
|
52
|
+
#Array.new(17).each { |e| expect(STDIN).to receive(:gets).and_return('') }
|
44
53
|
FalkorLib::Puppet::Modules.init(moduledir)
|
45
54
|
templatedir = File.join( FalkorLib.templates, 'puppet', 'modules')
|
46
55
|
s = true
|
@@ -106,15 +115,15 @@ describe FalkorLib::Puppet::Modules do
|
|
106
115
|
metadata = FalkorLib::Puppet::Modules.parse(moduledir, { :no_interaction => true })
|
107
116
|
diff = (metadata.to_a - ref.to_a).flatten.sort
|
108
117
|
expect(diff).to eq([
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
+
'classes',
|
119
|
+
'definitions',
|
120
|
+
'toto',
|
121
|
+
'toto::common',
|
122
|
+
'toto::common::debian',
|
123
|
+
'toto::common::redhat',
|
124
|
+
'toto::mydef',
|
125
|
+
'toto::params',
|
126
|
+
])
|
118
127
|
end
|
119
128
|
|
120
129
|
it "#parse again -- should not exhibit any difference" do
|
@@ -132,20 +141,20 @@ describe FalkorLib::Puppet::Modules do
|
|
132
141
|
expect(a).to include newdep
|
133
142
|
end
|
134
143
|
|
135
|
-
it "#parse again -- should ask new dependency elements" do
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
end
|
144
|
+
# it "#parse again -- should ask new dependency elements" do
|
145
|
+
# ref = JSON.parse( IO.read( jsonfile ) )
|
146
|
+
# expect(STDIN).to receive(:gets).and_return('svarrette')
|
147
|
+
# expect(STDIN).to receive(:gets).and_return('1.2')
|
148
|
+
# expect(STDIN).to receive(:gets).and_return('Yes')
|
149
|
+
# expect(STDIN).to receive(:gets).and_return('')
|
150
|
+
# metadata = FalkorLib::Puppet::Modules.parse(moduledir)
|
151
|
+
# diff = (metadata.to_a - ref.to_a).flatten
|
152
|
+
# expect(diff).to eq([
|
153
|
+
# 'dependencies',
|
154
|
+
# {"name"=>"puppetlabs-stdlib", "version_requirement"=>">=4.2.2 <5.0.0"},
|
155
|
+
# {"name"=>"svarrette/tata", "version_requirement"=>"1.2"}
|
156
|
+
# ])
|
157
|
+
# end
|
149
158
|
|
150
159
|
upgraded_files_default = 1
|
151
160
|
it "#upgrade" do
|
@@ -2,7 +2,7 @@
|
|
2
2
|
#########################################
|
3
3
|
# versioning_puppet_module_spec.rb
|
4
4
|
# @author Sebastien Varrette <Sebastien.Varrette@uni.lu>
|
5
|
-
# Time-stamp: <
|
5
|
+
# Time-stamp: <Thu 2016-11-10 02:04 svarrette>
|
6
6
|
#
|
7
7
|
# @description Check the versioning operations on Gems
|
8
8
|
#
|
@@ -16,96 +16,100 @@ require 'tmpdir'
|
|
16
16
|
|
17
17
|
describe FalkorLib::Versioning::Puppet do
|
18
18
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
after :all do
|
41
|
-
configatron.temp_end
|
42
|
-
FileUtils.remove_entry_secure dir
|
43
|
-
FalkorLib.config.versioning[:type] = 'file'
|
19
|
+
include FalkorLib::Common
|
20
|
+
|
21
|
+
dir = Dir.mktmpdir
|
22
|
+
name = 'toto'
|
23
|
+
moduledir = File.join(dir, name)
|
24
|
+
default_version = FalkorLib.config[:versioning][:default]
|
25
|
+
|
26
|
+
workingversion = {
|
27
|
+
:default => '4.5.6',
|
28
|
+
:patch => '4.5.7',
|
29
|
+
:minor => '4.6.0',
|
30
|
+
:major => '5.0.0'
|
31
|
+
}
|
32
|
+
|
33
|
+
#_____________
|
34
|
+
before :all do
|
35
|
+
configatron.temp_start
|
36
|
+
FalkorLib.config[:no_interaction] = true
|
37
|
+
FalkorLib.config.versioning do |c|
|
38
|
+
c[:type] = 'puppet_module'
|
44
39
|
end
|
40
|
+
end
|
41
|
+
|
42
|
+
#_____________
|
43
|
+
after :all do
|
44
|
+
configatron.temp_end
|
45
|
+
FileUtils.remove_entry_secure dir
|
46
|
+
FalkorLib.config.versioning[:type] = 'file'
|
47
|
+
FalkorLib.config[:no_interaction] = false
|
48
|
+
end
|
49
|
+
|
50
|
+
# configatron.temp do
|
51
|
+
# FalkorLib.config.versioning do |c|
|
52
|
+
# c[:type] = 'puppet_module'
|
53
|
+
# end
|
54
|
+
|
55
|
+
###################################################################
|
56
|
+
context 'Test Puppet Module versioning operations within temporary directory' do
|
57
|
+
|
58
|
+
ap default_version
|
59
|
+
it "#get_version -- get default version #{default_version} after initialization" do
|
60
|
+
#Array.new(17).each { |e| expect(STDIN).to receive(:gets).and_return('') }
|
61
|
+
FalkorLib::Puppet::Modules.init(moduledir)
|
62
|
+
v = FalkorLib::Versioning.get_version(moduledir)
|
63
|
+
expect(v).to eq(default_version)
|
64
|
+
if command?('git-flow')
|
65
|
+
a = FalkorLib::GitFlow.finish('feature', 'bootstrapping', moduledir)
|
66
|
+
expect(a).to eq(0)
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
it "#set_version -- should set the '#{workingversion[:default]}' version" do
|
71
|
+
#expect(STDIN).to receive(:gets).and_return('Yes')
|
72
|
+
v = FalkorLib::Versioning.set_version(workingversion[:default], moduledir)
|
73
|
+
expect(v).to eq(0)
|
74
|
+
end
|
75
|
+
|
76
|
+
it "#get_version -- should get the '#{workingversion[:default]}'" do
|
77
|
+
v = FalkorLib::Versioning.get_version(moduledir)
|
78
|
+
expect(v).to eq(workingversion[:default])
|
79
|
+
end
|
80
|
+
|
81
|
+
it "#major -- should collect the major version" do
|
82
|
+
v = FalkorLib::Versioning.get_version(moduledir)
|
83
|
+
m = FalkorLib::Versioning.major(v)
|
84
|
+
expect(m).to eq('4')
|
85
|
+
end
|
86
|
+
it "#minor -- should collect the minor version" do
|
87
|
+
v = FalkorLib::Versioning.get_version(moduledir)
|
88
|
+
m = FalkorLib::Versioning.minor(v)
|
89
|
+
expect(m).to eq('5')
|
90
|
+
end
|
91
|
+
it "#patch -- should collect the patch version" do
|
92
|
+
v = FalkorLib::Versioning.get_version(moduledir)
|
93
|
+
m = FalkorLib::Versioning.patch(v)
|
94
|
+
expect(m).to eq('6')
|
95
|
+
end
|
96
|
+
|
97
|
+
#FalkorLib.config[:versioning][:levels].reverse.each do |level|
|
98
|
+
['patch', 'minor'].each do |level|
|
99
|
+
it "#set_version #bump -- #{level} bump version number from #{workingversion[:default]} to #{workingversion[level.to_sym]}" do
|
100
|
+
v = FalkorLib::Versioning.get_version(moduledir)
|
101
|
+
expect(v).to eq(workingversion[:default])
|
102
|
+
v2 = FalkorLib::Versioning.bump(v, level.to_sym)
|
103
|
+
expect(v2).to eq(workingversion[level.to_sym])
|
104
|
+
#STDIN.should_receive(:gets).and_return('Yes')
|
105
|
+
#d = FalkorLib::Versioning.set_version(v2, moduledir)
|
106
|
+
#d.should == 0
|
107
|
+
#v3 = FalkorLib::Versioning.get_version(moduledir)
|
108
|
+
#v3.should == v2
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
45
112
|
|
46
|
-
|
47
|
-
# FalkorLib.config.versioning do |c|
|
48
|
-
# c[:type] = 'puppet_module'
|
49
|
-
# end
|
50
|
-
|
51
|
-
###################################################################
|
52
|
-
context 'Test Puppet Module versioning operations within temporary directory' do
|
53
|
-
|
54
|
-
ap default_version
|
55
|
-
it "#get_version -- get default version #{default_version} after initialization" do
|
56
|
-
Array.new(17).each { |e| expect(STDIN).to receive(:gets).and_return('') }
|
57
|
-
FalkorLib::Puppet::Modules.init(moduledir)
|
58
|
-
v = FalkorLib::Versioning.get_version(moduledir)
|
59
|
-
expect(v).to eq(default_version)
|
60
|
-
if command?('git-flow')
|
61
|
-
a = FalkorLib::GitFlow.finish('feature', 'bootstrapping', moduledir)
|
62
|
-
expect(a).to eq(0)
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
it "#set_version -- should set the '#{workingversion[:default]}' version" do
|
67
|
-
expect(STDIN).to receive(:gets).and_return('Yes')
|
68
|
-
v = FalkorLib::Versioning.set_version(workingversion[:default], moduledir)
|
69
|
-
expect(v).to eq(0)
|
70
|
-
end
|
71
|
-
|
72
|
-
it "#get_version -- should get the '#{workingversion[:default]}'" do
|
73
|
-
v = FalkorLib::Versioning.get_version(moduledir)
|
74
|
-
expect(v).to eq(workingversion[:default])
|
75
|
-
end
|
76
|
-
|
77
|
-
it "#major -- should collect the major version" do
|
78
|
-
v = FalkorLib::Versioning.get_version(moduledir)
|
79
|
-
m = FalkorLib::Versioning.major(v)
|
80
|
-
expect(m).to eq('4')
|
81
|
-
end
|
82
|
-
it "#minor -- should collect the minor version" do
|
83
|
-
v = FalkorLib::Versioning.get_version(moduledir)
|
84
|
-
m = FalkorLib::Versioning.minor(v)
|
85
|
-
expect(m).to eq('5')
|
86
|
-
end
|
87
|
-
it "#patch -- should collect the patch version" do
|
88
|
-
v = FalkorLib::Versioning.get_version(moduledir)
|
89
|
-
m = FalkorLib::Versioning.patch(v)
|
90
|
-
expect(m).to eq('6')
|
91
|
-
end
|
92
|
-
|
93
|
-
#FalkorLib.config[:versioning][:levels].reverse.each do |level|
|
94
|
-
['patch', 'minor'].each do |level|
|
95
|
-
it "#set_version #bump -- #{level} bump version number from #{workingversion[:default]} to #{workingversion[level.to_sym]}" do
|
96
|
-
v = FalkorLib::Versioning.get_version(moduledir)
|
97
|
-
expect(v).to eq(workingversion[:default])
|
98
|
-
v2 = FalkorLib::Versioning.bump(v, level.to_sym)
|
99
|
-
expect(v2).to eq(workingversion[level.to_sym])
|
100
|
-
#STDIN.should_receive(:gets).and_return('Yes')
|
101
|
-
#d = FalkorLib::Versioning.set_version(v2, moduledir)
|
102
|
-
#d.should == 0
|
103
|
-
#v3 = FalkorLib::Versioning.get_version(moduledir)
|
104
|
-
#v3.should == v2
|
105
|
-
end
|
106
|
-
end
|
107
|
-
end
|
108
|
-
|
109
|
-
#end #configatron.temp
|
113
|
+
#end #configatron.temp
|
110
114
|
|
111
115
|
end # describe FalkorLib::Versioning
|
data/spec/falkorlib_spec.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
require "codeclimate-test-reporter"
|
2
2
|
CodeClimate::TestReporter.start
|
3
3
|
|
4
|
+
# See https://github.com/colszowka/simplecov
|
5
|
+
require 'simplecov'
|
6
|
+
SimpleCov.start
|
7
|
+
|
8
|
+
|
4
9
|
require 'rubygems'
|
5
10
|
require 'bundler/setup'
|
6
11
|
Bundler.setup
|
@@ -14,37 +19,73 @@ require 'falkorlib'
|
|
14
19
|
require 'falkorlib/common'
|
15
20
|
require 'falkorlib/git'
|
16
21
|
|
17
|
-
def capture(stream)
|
18
|
-
begin
|
19
|
-
stream = stream.to_s
|
20
|
-
eval "$#{stream} = StringIO.new"
|
21
|
-
yield
|
22
|
-
result = eval("$#{stream}").string
|
23
|
-
ensure
|
24
|
-
eval("$#{stream} = #{stream.upcase}")
|
25
|
-
end
|
26
|
-
result
|
27
|
-
end
|
28
22
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
23
|
+
|
24
|
+
# Based on Thor
|
25
|
+
RSpec.configure do |config|
|
26
|
+
|
27
|
+
def capture(stream)
|
33
28
|
begin
|
34
|
-
|
35
|
-
|
36
|
-
$stdin.rewind
|
29
|
+
stream = stream.to_s
|
30
|
+
eval "$#{stream} = StringIO.new"
|
37
31
|
yield
|
32
|
+
result = eval("$#{stream}").string
|
38
33
|
ensure
|
39
|
-
|
34
|
+
eval("$#{stream} = #{stream.upcase}")
|
40
35
|
end
|
36
|
+
|
37
|
+
result
|
41
38
|
end
|
42
|
-
end
|
43
39
|
|
44
|
-
|
45
|
-
|
40
|
+
# # This code was adapted from Ruby on Rails, available under MIT-LICENSE
|
41
|
+
# # Copyright (c) 2004-2013 David Heinemeier Hansson
|
42
|
+
# def silence_warnings
|
43
|
+
# old_verbose, $VERBOSE = $VERBOSE, nil
|
44
|
+
# yield
|
45
|
+
# ensure
|
46
|
+
# $VERBOSE = old_verbose
|
47
|
+
# end
|
48
|
+
|
49
|
+
# alias silence capture
|
46
50
|
end
|
47
51
|
|
52
|
+
|
53
|
+
# def capture(stream)
|
54
|
+
# begin
|
55
|
+
# stream = stream.to_s
|
56
|
+
# eval "$#{stream} = StringIO.new"
|
57
|
+
# yield
|
58
|
+
# result = eval("$#{stream}").string
|
59
|
+
# ensure
|
60
|
+
# eval("$#{stream} = #{stream.upcase}")
|
61
|
+
# end
|
62
|
+
# result
|
63
|
+
# end
|
64
|
+
|
65
|
+
# # Credits: [nu7hatch](https://gist.github.com/nu7hatch/631329)
|
66
|
+
# module Helpers
|
67
|
+
# # Replace standard input with faked one StringIO.
|
68
|
+
# def fake_stdin(*args)
|
69
|
+
# begin
|
70
|
+
# $stdin = StringIO.new
|
71
|
+
# $stdin.puts(args.shift) until args.empty?
|
72
|
+
# $stdin.rewind
|
73
|
+
# yield
|
74
|
+
# ensure
|
75
|
+
# $stdin = STDIN
|
76
|
+
# end
|
77
|
+
# end
|
78
|
+
# end
|
79
|
+
|
80
|
+
|
81
|
+
# RSpec.configure do |conf|
|
82
|
+
# conf.include(Helpers)
|
83
|
+
|
84
|
+
|
85
|
+
# end
|
86
|
+
|
87
|
+
|
88
|
+
|
48
89
|
# require 'minitest/autorun'
|
49
90
|
# require 'minitest/spec'
|
50
91
|
|
@@ -56,32 +97,32 @@ end
|
|
56
97
|
# end
|
57
98
|
|
58
99
|
# credits to [gabebw](http://gabebw.wordpress.com/2011/03/21/temp-files-in-rspec/)
|
59
|
-
module UsesTempFiles
|
60
|
-
|
61
|
-
|
62
|
-
|
100
|
+
# module UsesTempFiles
|
101
|
+
# def self.included(example_group)
|
102
|
+
# example_group.extend(self)
|
103
|
+
# end
|
63
104
|
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
105
|
+
# def in_directory_with_file(file)
|
106
|
+
# before do
|
107
|
+
# @pwd = Dir.pwd
|
108
|
+
# @tmp_dir = File.join(File.dirname(__FILE__), 'tmp')
|
109
|
+
# FileUtils.mkdir_p(@tmp_dir)
|
110
|
+
# Dir.chdir(@tmp_dir)
|
70
111
|
|
71
|
-
|
72
|
-
|
73
|
-
|
112
|
+
# FileUtils.mkdir_p(File.dirname(file))
|
113
|
+
# FileUtils.touch(file)
|
114
|
+
# end
|
74
115
|
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
116
|
+
# define_method(:content_for_file) do |content|
|
117
|
+
# f = File.new(File.join(@tmp_dir, file), 'a+')
|
118
|
+
# f.write(content)
|
119
|
+
# f.flush # VERY IMPORTANT
|
120
|
+
# f.close
|
121
|
+
# end
|
81
122
|
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
end
|
123
|
+
# after do
|
124
|
+
# Dir.chdir(@pwd)
|
125
|
+
# FileUtils.rm_rf(@tmp_dir)
|
126
|
+
# end
|
127
|
+
# end
|
128
|
+
# end
|