blastr 0.0.16 → 0.0.17

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.
data/History.txt CHANGED
@@ -1,4 +1,8 @@
1
- == 0.0.16 2009-02-22
1
+ == 0.0.17 2009-02-21
2
+
3
+ * Removed replacement of non-ascii characters in commit messages.
4
+
5
+ == 0.0.16 2009-02-21
2
6
 
3
7
  * Added support for HTTP-based, SSH-based, Rsync-based, and file system-based Git URLs.
4
8
 
data/lib/blastr.rb CHANGED
@@ -6,7 +6,7 @@ module Blastr
6
6
  require 'tts/tts.rb'
7
7
  require 'people/people.rb'
8
8
 
9
- VERSION = '0.0.16'
9
+ VERSION = '0.0.17'
10
10
  COPYRIGHT = 'Copyright (c) 2009, Lasse Koskela. All Rights Reserved.'
11
11
  puts "Blastr #{VERSION}\n#{COPYRIGHT}\n"
12
12
 
data/lib/scm/hg.rb CHANGED
@@ -54,7 +54,6 @@ module Blastr::SourceControl
54
54
  end
55
55
 
56
56
  def hg_log_entries(output)
57
- nonascii = /([^a-zA-Z0-9\.,:;\-_\?!"'\s]+?)/u
58
57
  entries = []
59
58
  current_changeset = {}
60
59
  output.split(/-{69,71}/).each do |entry|
data/lib/scm/svn.rb CHANGED
@@ -53,12 +53,11 @@ module Blastr::SourceControl
53
53
  end
54
54
 
55
55
  def svn_log_entries(log_output)
56
- nonascii = /([^a-zA-Z0-9\.,:;\-_\?!"'\s]+?)/u
57
56
  entries = []
58
57
  log_output.scan(/r(\d+)\s\|\s(.*?)\s\|.*?\n\n(.*?)\n(-)+/mu).each do |entry|
59
58
  revision = as_revision(entry[0])
60
59
  author = entry[1]
61
- comment = entry[2].gsub(nonascii, 'X ')
60
+ comment = entry[2]
62
61
  entries << LogEntry.new(revision, author, comment)
63
62
  end
64
63
  entries
@@ -7,17 +7,16 @@ class TestMercurialLogParsing < Test::Unit::TestCase
7
7
  end
8
8
 
9
9
  def test_one_entry
10
- log = <<EOS
10
+ @log = <<EOS
11
11
  changeset 24:e8a2a4d187773a62f3309b0fa265c13425bc2258 by username:
12
12
  This is the commit message
13
13
  ----------------------------------------------------------------------
14
14
  EOS
15
- entries = @hg.hg_log_entries(log)
16
- assert_equal [ create_entry("24", "username", "This is the commit message") ], entries
15
+ should_produce_entries [ create_entry("24", "username", "This is the commit message") ]
17
16
  end
18
17
 
19
18
  def test_multiple_entries
20
- log = <<EOS
19
+ @log = <<EOS
21
20
  changeset 10:e8a2a4d187773a62f3309b0fa265c13425bc2258 by alf:
22
21
  Revision 10
23
22
  ----------------------------------------------------------------------
@@ -28,14 +27,32 @@ changeset 8:4ae9f4bfdb98f65bd957e3fe72471b320150b38e by alf:
28
27
  Revision 8
29
28
  ----------------------------------------------------------------------
30
29
  EOS
31
- entries = @hg.hg_log_entries(log)
32
- assert_equal [ create_entry("10", "alf", "Revision 10"),
33
- create_entry("9", "bob", "Revision 9"),
34
- create_entry("8", "alf", "Revision 8") ], entries
30
+ should_produce_entries [
31
+ create_entry("10", "alf", "Revision 10"),
32
+ create_entry("9", "bob", "Revision 9"),
33
+ create_entry("8", "alf", "Revision 8") ]
35
34
  end
36
35
 
37
- def test_one_multiline_entry_with_dashes_in_the_commit_message
38
- log = <<EOS
36
+ def test_special_characters_in_commit_message
37
+ @log = <<EOS
38
+ changeset 10:e8a2a4d187773a62f3309b0fa265c13425bc2258 by cat:
39
+ Revision 10
40
+ ----------------------------------------------------------------------
41
+ changeset 9:d7744e86dedc21a8ecf6bdb73eb191b8eaf5b0da by bob:
42
+ Revision 9 with special ä and ö characters
43
+ ----------------------------------------------------------------------
44
+ changeset 8:4ae9f4bfdb98f65bd957e3fe72471b320150b38e by alf:
45
+ Revision 8
46
+ ----------------------------------------------------------------------
47
+ EOS
48
+ should_produce_entries [
49
+ create_entry("10", "cat", "Revision 10"),
50
+ create_entry("9", "bob", "Revision 9 with special ä and ö characters"),
51
+ create_entry("8", "alf", "Revision 8") ]
52
+ end
53
+
54
+ def test_dashes_in_the_commit_message
55
+ @log = <<EOS
39
56
  changeset 123:e8a2a4d187773a62f3309b0fa265c13425bc2258 by ohair:
40
57
  ---
41
58
  -----
@@ -43,13 +60,11 @@ changeset 123:e8a2a4d187773a62f3309b0fa265c13425bc2258 by ohair:
43
60
  - Bullet
44
61
  ----------------------------------------------------------------------
45
62
  EOS
46
- entries = @hg.hg_log_entries(log)
47
- assert_equal [ create_entry("123", "ohair", "---\n-----\n-\n- Bullet") ], entries
63
+ should_produce_entries [ create_entry("123", "ohair", "---\n-----\n-\n- Bullet") ]
48
64
  end
49
65
 
50
-
51
66
  def test_multiple_multiline_entries_with_empty_lines_within_commit_message
52
- log = <<EOS
67
+ @log = <<EOS
53
68
  changeset 2:e8a2a4d187773a62f3309b0fa265c13425bc2258 by cat:
54
69
  --
55
70
  ----------------------------------------------------------------------
@@ -60,13 +75,18 @@ changeset 0:4ae9f4bfdb98f65bd957e3fe72471b320150b38e by alf:
60
75
 
61
76
  ----------------------------------------------------------------------
62
77
  EOS
63
- entries = @hg.hg_log_entries(log)
64
- assert_equal [ create_entry("2", "cat", "--"),
65
- create_entry("1", "bob", "-"),
66
- create_entry("0", "alf", "") ], entries
67
- end
78
+ should_produce_entries [
79
+ create_entry("2", "cat", "--"),
80
+ create_entry("1", "bob", "-"),
81
+ create_entry("0", "alf", "") ]
82
+ end
68
83
 
69
84
  private
85
+
86
+ def should_produce_entries(expected_entries)
87
+ assert_equal expected_entries, @hg.hg_log_entries(@log)
88
+ end
89
+
70
90
  def create_entry(rev_string, author, comment)
71
91
  revision = Blastr::SourceControl::MercurialRevision.new(rev_string)
72
92
  Blastr::SourceControl::LogEntry.new(revision, author, comment)
data/test/test_svn_log.rb CHANGED
@@ -7,19 +7,20 @@ class TestSubversionLogParsing < Test::Unit::TestCase
7
7
  end
8
8
 
9
9
  def test_one_entry
10
- log = <<EOS
10
+ @log = <<EOS
11
11
  ------------------------------------------------------------------------
12
12
  r123 | username | 2009-01-21 09:02:37 +0200 (Wed, 21 Jan 2009) | 1 line
13
13
 
14
14
  The commit message goes here
15
15
  ------------------------------------------------------------------------
16
16
  EOS
17
- entries = @svn.svn_log_entries(log)
18
- assert_equal [ Blastr::SourceControl::LogEntry.new(Blastr::SourceControl::SubversionRevision.new("123"), "username", "The commit message goes here") ], entries
17
+ should_produce_entries [
18
+ create_entry("123", "username", "The commit message goes here")
19
+ ]
19
20
  end
20
21
 
21
22
  def test_multiple_entries
22
- log = <<EOS
23
+ @log = <<EOS
23
24
  ------------------------------------------------------------------------
24
25
  r2 | janedoe | 2009-01-22 09:02:00 +0200 (Wed, 21 Jan 2009) | 1 line
25
26
 
@@ -30,16 +31,14 @@ r1 | johndoe | 2009-01-21 09:03:00 +0200 (Wed, 21 Jan 2009) | 1 line
30
31
  First revision
31
32
  ------------------------------------------------------------------------
32
33
  EOS
33
- actual_entries = @svn.svn_log_entries(log)
34
- expected_entries = [
34
+ should_produce_entries [
35
35
  create_entry("2", "janedoe", "Second revision"),
36
36
  create_entry("1", "johndoe", "First revision")
37
- ]
38
- assert_equal expected_entries, actual_entries
37
+ ]
39
38
  end
40
39
 
41
40
  def test_one_multiline_entry
42
- log = <<EOS
41
+ @log = <<EOS
43
42
  ------------------------------------------------------------------------
44
43
  r123 | username | 2009-01-21 09:02:37 +0200 (Wed, 21 Jan 2009) | 1 line
45
44
 
@@ -48,13 +47,13 @@ Second line
48
47
  Third line
49
48
  ------------------------------------------------------------------------
50
49
  EOS
51
- entries = @svn.svn_log_entries(log)
52
- assert_equal [ create_entry("123", "username", "First line\nSecond line\nThird line") ], entries
50
+ should_produce_entries [
51
+ create_entry("123", "username", "First line\nSecond line\nThird line")
52
+ ]
53
53
  end
54
54
 
55
-
56
- def test_one_multiline_entry
57
- log = <<EOS
55
+ def test_multiple_multiline_entries
56
+ @log = <<EOS
58
57
  ------------------------------------------------------------------------
59
58
  r2 | bob | 2009-01-21 09:02:00 +0200 (Wed, 21 Jan 2009) | 1 line
60
59
 
@@ -67,12 +66,41 @@ First line of r1
67
66
  Second line of r1
68
67
  ------------------------------------------------------------------------
69
68
  EOS
70
- entries = @svn.svn_log_entries(log)
71
- assert_equal [ create_entry("2", "bob", "First line of r2\nSecond line of r2"),
72
- create_entry("1", "alf", "First line of r1\nSecond line of r1") ], entries
73
- end
69
+ should_produce_entries [
70
+ create_entry("2", "bob", "First line of r2\nSecond line of r2"),
71
+ create_entry("1", "alf", "First line of r1\nSecond line of r1")
72
+ ]
73
+ end
74
+
75
+ def test_special_characters_in_commit_message
76
+ @log = <<EOS
77
+ ------------------------------------------------------------------------
78
+ r3 | cat | 2009-01-21 09:03:00 +0200 (Wed, 21 Jan 2009) | 1 line
79
+
80
+ Revision 3
81
+ ------------------------------------------------------------------------
82
+ r2 | bob | 2009-01-21 09:02:00 +0200 (Wed, 21 Jan 2009) | 1 line
83
+
84
+ Revision 2 with special ö character
85
+ ------------------------------------------------------------------------
86
+ r1 | alf | 2009-01-21 09:01:00 +0200 (Wed, 21 Jan 2009) | 1 line
87
+
88
+ Revision 1
89
+ ------------------------------------------------------------------------
90
+ EOS
91
+ should_produce_entries [
92
+ create_entry("3", "cat", "Revision 3"),
93
+ create_entry("2", "bob", "Revision 2 with special ö character"),
94
+ create_entry("1", "alf", "Revision 1")
95
+ ]
96
+ end
74
97
 
75
98
  private
99
+
100
+ def should_produce_entries(expected_entries)
101
+ assert_equal expected_entries, @svn.svn_log_entries(@log)
102
+ end
103
+
76
104
  def create_entry(rev_string, author, comment)
77
105
  revision = Blastr::SourceControl::SubversionRevision.new(rev_string)
78
106
  Blastr::SourceControl::LogEntry.new(revision, author, comment)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blastr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.16
4
+ version: 0.0.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lasse Koskela