Skip to content

Commit fe4e988

Browse files
committed
Added a basic test suite for flexing the escape_quotes function, which breaks almost every time I merge something.
1 parent 13797ee commit fe4e988

File tree

4 files changed

+51
-28
lines changed

4 files changed

+51
-28
lines changed

Rakefile

Lines changed: 13 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
require 'rake'
2+
require 'rake/testtask'
23
require 'rubygems/package_task'
34

45
begin
@@ -9,37 +10,21 @@ begin
910
spec.authors = ["James Coglan", "Kevin Menard"]
1011
spec.homepage = "https://github.com/nirvdrum/svn2git"
1112
spec.email = "[email protected]"
13+
spec.add_development_dependency 'test-unit'
1214
end
1315
Jeweler::GemcutterTasks.new
1416

1517
rescue LoadError
1618
puts "Jeweler not available. Install it with: gem install jeweler"
1719
end
18-
19-
#
20-
# spec = Gem::Specification.new do |spec|
21-
#
22-
# spec.version = "1.1.0"
23-
# spec.platform = Gem::Platform::RUBY
24-
#
25-
#
26-
# spec.require_path = "lib"
27-
# spec.files = FileList["lib/**/*"].to_a
28-
# spec.autorequire = "lib/svn2git.rb"
29-
# spec.bindir = "bin"
30-
# spec.executables = ["svn2git"]
31-
# spec.default_executable = "svn2git"
32-
#
33-
#
34-
#
35-
#
36-
# spec.test_files = FileList["test/**/*"].to_a
37-
# spec.has_rdoc = true
38-
# spec.extra_rdoc_files = ["README"]
39-
# spec.rdoc_options << "--main" << "README" << '--line-numbers' << '--inline-source'
40-
# end
41-
#
42-
# Rake::GemPackageTask.new(spec) do |pkg|
43-
# pkg.need_tar = true
44-
# end
45-
#
20+
21+
desc 'Test the rubber plugin.'
22+
Rake::TestTask.new(:test) do |t|
23+
t.libs << 'lib'
24+
t.libs << 'test'
25+
t.pattern = 'test/**/*_test.rb'
26+
t.verbose = true
27+
end
28+
29+
desc 'Default: run unit tests.'
30+
task :default => :test

svn2git.gemspec

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,17 @@ Gem::Specification.new do |s|
3232
s.homepage = "https://github.com/nirvdrum/svn2git"
3333
s.rubygems_version = "2.2.2"
3434
s.summary = "A tool for migrating svn projects to git"
35+
36+
if s.respond_to? :specification_version then
37+
s.specification_version = 4
38+
39+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
40+
s.add_development_dependency(%q<test-unit>, [">= 0"])
41+
else
42+
s.add_dependency(%q<test-unit>, [">= 0"])
43+
end
44+
else
45+
s.add_dependency(%q<test-unit>, [">= 0"])
46+
end
3547
end
3648

test/escape_quotes_test.rb

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
require File.expand_path(File.join(__FILE__, '..', 'test_helper'))
2+
3+
class EscapeQuotesTest < Test::Unit::TestCase
4+
def test_identity
5+
expected = 'A string without any need to escape.'
6+
actual = Svn2Git::Migration.escape_quotes(expected)
7+
8+
assert_equal expected, actual
9+
end
10+
11+
def test_escape_single_quotes
12+
actual = Svn2Git::Migration.escape_quotes("Here's a message with 'single quotes.'")
13+
14+
assert_equal "Here\\'s a message with \\'single quotes.\\'", actual
15+
end
16+
17+
def test_escape_double_quotes
18+
actual = Svn2Git::Migration.escape_quotes('Here is a message with "double quotes."')
19+
20+
assert_equal 'Here is a message with \\"double quotes.\\"', actual
21+
end
22+
end

test/test_helper.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
$:.unshift "#{File.dirname(__FILE__)}/../lib"
2+
3+
require 'svn2git'
4+
require 'test/unit'

0 commit comments

Comments
 (0)