motomike-bnr_tools 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,47 @@
1
+ require File.dirname(__FILE__) + '/test_helper'
2
+ require 'bnr_tools/ticket'
3
+ require 'bnr_tools/changeset'
4
+
5
+ class BnrToolsTest < Test::Unit::TestCase
6
+ context "A Ticket" do
7
+ setup do
8
+ @ticket_number = rand(100000)
9
+ @ticket = Ticket.new(@ticket_number)
10
+ end
11
+
12
+ should "return the reference number it was initialized with" do
13
+ assert_equal @ticket_number, @ticket.referenceNumber
14
+ end
15
+
16
+ should "by default, represent itself in a simple, trac-compatible format" do
17
+ assert_equal "##{@ticket_number}", @ticket.to_s
18
+ end
19
+
20
+ context "with a Changeset" do
21
+ setup do
22
+ @changeset_number = rand(10000)
23
+ @changeset = Changeset.new(@changeset_number)
24
+ @ticket.addChangeset(@changeset)
25
+ end
26
+
27
+ should "by default, represent itself in a simple, trac-compatible format" do
28
+ assert_equal "##{@ticket_number} (r#{@changeset_number})", @ticket.to_s
29
+ end
30
+ end
31
+ end
32
+
33
+ context "A Pathological Changeset" do
34
+ setup do
35
+ @changeset_number = 27724 # I just happen to know that particular changeset is pathological - touches on build/trunk LOLz/trunk and LOLcat/trunk
36
+ @changeset = Changeset.new(@changeset_number)
37
+ end
38
+
39
+ should "return the changeset number it was initialized with" do
40
+ assert_equal @changeset_number, @changeset.revision
41
+ end
42
+
43
+ should "touch the App_PermaLink module" do
44
+ assert @changeset.affectedModules.include?("App_PermaLink")
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,85 @@
1
+ require 'rubygems'
2
+ require 'test/unit'
3
+ require 'shoulda'
4
+ require 'mocha'
5
+
6
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
7
+ require 'bnr_tools'
8
+
9
+
10
+ #class TestSvnCommands < Test::Unit::TestCase
11
+ # require 'svn_commands'
12
+ # def setup
13
+ # end
14
+ #
15
+ # def tearDown
16
+ # end
17
+ #
18
+ # def test_ls
19
+ # l = SvnCommands::Ls.new("build/trunk")
20
+ # assert( ! l.entries.empty? )
21
+ # l.entries.each { |entry|
22
+ # assert(entry.kind_of?(SvnXml::Entry))
23
+ # }
24
+ # end
25
+ #
26
+ # def test_log
27
+ # l = SvnCommands::Log.new("build/trunk","--stop-on-copy")
28
+ # assert( ! l.entries.empty? )
29
+ # l.entries.each { |entry|
30
+ # assert(entry.kind_of?(SvnXml::LogEntry))
31
+ # #puts entry.msg + "\n#{"-"*80}\n\n"
32
+ # }
33
+ # end
34
+ #end
35
+ #
36
+ #class TestSvnXmlInfo < Test::Unit::TestCase
37
+ # require 'svn_xml'
38
+ # attr_accessor :repo_path
39
+ # def setup
40
+ # @repo_path = "svn+ssh://svn.digg.internal/repository"
41
+ # end
42
+ #
43
+ # def tearDown
44
+ # end
45
+ #
46
+ # def test_info
47
+ # out = `svn info --xml #{repo_path}/modcat/trunk`
48
+ # assert($? == 0)
49
+ # parsed = REXML::Document.new(out)
50
+ # info = SvnXml::Info.new(parsed.elements["info"])
51
+ # puts info
52
+ # assert( ! info.entries.empty?)
53
+ # info.entries.each { |entry|
54
+ # assert(entry.kind_of?(SvnXml::Entry))
55
+ # assert(["dir","file"].include?(entry.kind))
56
+ # assert(entry.repository.root.downcase == repo_path)
57
+ # }
58
+ # end
59
+ #
60
+ # def test_ls
61
+ # out = `svn ls --xml #{repo_path}/modcat/trunk`
62
+ # assert($? == 0)
63
+ # parsed = REXML::Document.new(out)
64
+ # lists = SvnXml::Lists.new(parsed.elements["lists"])
65
+ # assert( ! lists.empty?)
66
+ # lists.each { |list|
67
+ # assert(list.path === "svn+ssh://svn.digg.internal/repository/modcat/trunk")
68
+ # }
69
+ # lists.each_entry { |entry|
70
+ # assert(entry.kind_of?(SvnXml::Entry))
71
+ # assert(["dir","file"].include?(entry.kind))
72
+ # }
73
+ # end
74
+ #
75
+ # def test_log
76
+ # out = `svn log --xml --stop-on-copy #{repo_path}/modcat/branches/facebook`
77
+ # assert($? == 0)
78
+ # parsed = REXML::Document.new(out)
79
+ # log = SvnXml::Log.new(parsed.elements["log"])
80
+ # assert ( ! log.empty? )
81
+ # log.each { |logentry|
82
+ # assert(logentry.kind_of?(SvnXml::LogEntry))
83
+ # }
84
+ # end
85
+ #end
metadata ADDED
@@ -0,0 +1,75 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: motomike-bnr_tools
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ platform: ruby
6
+ authors:
7
+ - Mike Ashmore
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-02-26 00:00:00 -08:00
13
+ default_executable: taggit
14
+ dependencies: []
15
+
16
+ description: Tools to help with tagging, for as long as we're stuck using SVN
17
+ email: mashmore@digg.com
18
+ executables:
19
+ - taggit
20
+ extensions: []
21
+
22
+ extra_rdoc_files: []
23
+
24
+ files:
25
+ - VERSION.yml
26
+ - bin/taggit
27
+ - lib/bnr_tools
28
+ - lib/bnr_tools/changeset.rb
29
+ - lib/bnr_tools/digg_module.rb
30
+ - lib/bnr_tools/mergeinator.rb
31
+ - lib/bnr_tools/svn_commands.rb
32
+ - lib/bnr_tools/svn_xml.rb
33
+ - lib/bnr_tools/ticket.rb
34
+ - lib/bnr_tools/trollop.rb
35
+ - lib/bnr_tools/version_number.rb
36
+ - lib/bnr_tools.rb
37
+ - lib/highline
38
+ - lib/highline/color_scheme.rb
39
+ - lib/highline/import.rb
40
+ - lib/highline/menu.rb
41
+ - lib/highline/question.rb
42
+ - lib/highline/system_extensions.rb
43
+ - lib/highline.rb
44
+ - lib/open4.rb
45
+ - test/bnr_tools_test.rb
46
+ - test/test_helper.rb
47
+ has_rdoc: true
48
+ homepage: http://github.com/motomike/bnr_tools
49
+ post_install_message:
50
+ rdoc_options:
51
+ - --inline-source
52
+ - --charset=UTF-8
53
+ require_paths:
54
+ - lib
55
+ required_ruby_version: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: "0"
60
+ version:
61
+ required_rubygems_version: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: "0"
66
+ version:
67
+ requirements: []
68
+
69
+ rubyforge_project:
70
+ rubygems_version: 1.2.0
71
+ signing_key:
72
+ specification_version: 2
73
+ summary: Tools to help with tagging, for as long as we're stuck using SVN
74
+ test_files: []
75
+