spec/commands_spec.rb in dev_commands-0.0.25 vs spec/commands_spec.rb in dev_commands-0.0.26
- old
+ new
@@ -1,15 +1,77 @@
require_relative '../lib/commands.rb'
describe Commands do
- it "should be able to automatically generate commands for a particular directory" do
+ it "should be able to automatically generate commands for the gem-example directory" do
dir='spec/gem-example'
expect(File.exists?("#{dir}/rakefile.rb")).to eq(true)
Dir.chdir(dir) do
commands=Commands.new
- expect(commands.has_key?(:pull)).to eq(true)
- commands[:pull].update
- expect(commands[:pull].length).to eq(0)
+ expect(commands.has_key?(:build)).to eq(true)
+ commands[:build].update
+ expect(commands[:build].length).to eq(1)
+
+ expect(Command.exit_code('rake default')).to eq(0)
+ expect(Command.exit_code('rake build')).to eq(0)
+ expect(File.exists?('gem-example-0.0.0.gem')).to eq(true)
+ expect(Command.exit_code('rake clobber')).to eq(0)
+ expect(!File.exists?('gem-example-0.0.0.gem')).to eq(true)
end
+ end
+
+ it "should be able to automatically generate commands for the sln-vs12-example directory" do
+ dir='spec/sln-vs12-example'
+ expect(File.exists?("#{dir}/rakefile.rb")).to eq(true)
+
+ Dir.chdir(dir) do
+ commands=Commands.new
+ expect(commands.has_key?(:build)).to eq(true)
+ commands[:build].update
+
+ if(RUBY_PLATFORM.include?("mingw"))
+ expect(Command.exit_code('rake default')).to eq(0)
+ expect(Command.exit_code('rake build')).to eq(0)
+ expect(File.exists?('csharp-library/bin/Debug/csharp-library.dll')).to eq(true)
+ expect(File.exists?('csharp-library/bin/Release/csharp-library.dll')).to eq(true)
+ expect(File.exists?('cpp-library/bin/Debug/cpp-library.dll')).to eq(true)
+ expect(File.exists?('cpp-library/bin/Release/cpp-library.dll')).to eq(true)
+ expect(Command.exit_code('rake clobber')).to eq(0)
+ expect(File.exists?('csharp-library/bin/Debug/csharp-library.dll')).to eq(false)
+ expect(File.exists?('csharp-library/bin/Release/csharp-library.dll')).to eq(false)
+ expect(File.exists?('cpp-library/bin/Debug/cpp-library.dll')).to eq(false)
+ expect(File.exists?('cpp-library/bin/Release/cpp-library.dll')).to eq(false)
+ else
+ expect(Command.exit_code('rake default')).not_to eq(0)
+ expect(Command.exit_code('rake build')).not_to eq(0)
+ end
+ end
+ end
+
+ it "should be able to automatically generate commands for the sln-vs9-example directory" do
+ dir='spec/sln-vs9-example'
+ expect(File.exists?("#{dir}/rakefile.rb")).to eq(true)
+
+ Dir.chdir(dir) do
+ commands=Commands.new
+ expect(commands.has_key?(:build)).to eq(true)
+ commands[:build].update
+
+ if(RUBY_PLATFORM.include?("mingw"))
+ expect(Command.exit_code('rake default')).to eq(0)
+ expect(Command.exit_code('rake build')).to eq(0)
+ expect(File.exists?('csharp-library/bin/Debug/csharp-library.dll')).to eq(true)
+ expect(File.exists?('csharp-library/bin/Release/csharp-library.dll')).to eq(true)
+ expect(File.exists?('cpp-library/bin/Debug/cpp-library.dll')).to eq(true)
+ expect(File.exists?('cpp-library/bin/Release/cpp-library.dll')).to eq(true)
+ expect(Command.exit_code('rake clobber')).to eq(0)
+ expect(File.exists?('csharp-library/bin/Debug/csharp-library.dll')).to eq(false)
+ expect(File.exists?('csharp-library/bin/Release/csharp-library.dll')).to eq(false)
+ expect(File.exists?('cpp-library/bin/Debug/cpp-library.dll')).to eq(false)
+ expect(File.exists?('cpp-library/bin/Release/cpp-library.dll')).to eq(false)
+ else
+ expect(Command.exit_code('rake default')).not_to eq(0)
+ expect(Command.exit_code('rake build')).not_to eq(0)
+ end
+ end
end
end
\ No newline at end of file