rscm-accurev 0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. data/LICENSE +25 -0
  2. data/README +9 -0
  3. data/Rakefile +137 -0
  4. data/STATUS +63 -0
  5. data/TODO +43 -0
  6. data/apitest.rb +21 -0
  7. data/bumprelease.sh +13 -0
  8. data/lib/rscm/accurev.rb +18 -0
  9. data/lib/rscm/scm/accurev/api.rb +411 -0
  10. data/lib/rscm/scm/accurev/api.rb.mine +382 -0
  11. data/lib/rscm/scm/accurev/api.rb.r263 +364 -0
  12. data/lib/rscm/scm/accurev/api.rb.r265 +393 -0
  13. data/lib/rscm/scm/accurev/command.rb +151 -0
  14. data/lib/rscm/scm/accurev/exception.rb +38 -0
  15. data/lib/rscm/scm/accurev/filterio.rb +57 -0
  16. data/lib/rscm/scm/accurev/xml.rb +224 -0
  17. data/lib/test/unit/ui/xml/testrunner.rb +165 -0
  18. data/lib/test/unit/ui/xml/xmltestrunner.xslt +79 -0
  19. data/test/acreplay.rb +22 -0
  20. data/test/coverage/analyzer.rb +127 -0
  21. data/test/coverage/c_loader.rb +34 -0
  22. data/test/coverage/cover.rb +91 -0
  23. data/test/coverage/coverage_loader.rb +21 -0
  24. data/test/coverage/coveragetask.rb +38 -0
  25. data/test/coverage/index_tmpl.html +42 -0
  26. data/test/coverage/template.html +36 -0
  27. data/test/eg/ac-files.xml +172 -0
  28. data/test/eg/ac-pop.txt +195 -0
  29. data/test/eg/files-various-states.xml +188 -0
  30. data/test/eg/hist-oneweek-all.xml +1483 -0
  31. data/test/eg/hist-oneweek-external.xml +246 -0
  32. data/test/eg/hist-oneweek-promotes.xml +1092 -0
  33. data/test/eg/info.txt +14 -0
  34. data/test/eg/stat-a-various.xml +1789 -0
  35. data/test/eg/stat-m.xml +13 -0
  36. data/test/eg/stat-overlap.xml +13 -0
  37. data/test/eg/stat-x.xml +20 -0
  38. data/test/eg/update-i-mods-and-updates-and-overlap.xml +73 -0
  39. data/test/eg/update-i-nochanges.xml +8 -0
  40. data/test/eg/update-i-stale.xml +0 -0
  41. data/test/eg/update-i-updates.xml +125 -0
  42. data/test/eg/update-newwksp.xml +183 -0
  43. data/test/eg/update-nochanges.xml +7 -0
  44. data/test/eg/update-stale.xml +12 -0
  45. data/test/eg/update-updates.xml +147 -0
  46. data/test/t_api.rb +163 -0
  47. data/test/t_command.rb +85 -0
  48. data/test/t_filterio.rb +60 -0
  49. data/test/t_load.rb +11 -0
  50. data/test/t_scrubio.rb +117 -0
  51. data/test/t_xmlmapper.rb +75 -0
  52. metadata +106 -0
data/test/t_load.rb ADDED
@@ -0,0 +1,11 @@
1
+ require 'test/unit'
2
+ require 'rubygems'
3
+
4
+ class RequireTest < Test::Unit::TestCase
5
+
6
+ def test_require()
7
+ require 'rscm/accurev'
8
+ assert( true )
9
+ end
10
+
11
+ end
data/test/t_scrubio.rb ADDED
@@ -0,0 +1,117 @@
1
+ require 'rexml/document'
2
+ require 'rubygems'
3
+ require 'rscm/accurev'
4
+ require 'test/unit'
5
+
6
+ include REXML
7
+ include RSCM::Accurev
8
+
9
+ module TestBase
10
+
11
+ def test_parse
12
+ begin
13
+ doc = Document.new( AcXMLScrubIO.new( StringIO.new(input) ) )
14
+ assert( fixable, "Input not fixable; should have raised" )
15
+ assert( !doc.nil? )
16
+ assert( !doc.elements.nil? )
17
+ assert( !doc.elements.empty?, "Should have elements" )
18
+ found = false
19
+ doc.elements.each( "/AcResponse" ) do |e|
20
+ found = true
21
+ end
22
+ assert( found, "Root needs to be AcResponse" )
23
+ rescue Exception => e
24
+ if fixable
25
+ raise
26
+ end
27
+ assert( ! fixable, "Fixed-up input should have been parseable" )
28
+ end
29
+ end
30
+
31
+ end
32
+
33
+ class HappyXMLTest < Test::Unit::TestCase
34
+ include TestBase
35
+ def broken; false; end
36
+ def fixable; true; end
37
+ def input
38
+ return <<-EOFOK
39
+ <?xml version="1.0"?>
40
+ <AcResponse
41
+ command="update"
42
+ >
43
+ <element location="/./foo.txt" />
44
+ <message>Hello, world!</message>
45
+ </AcResponse>
46
+ EOFOK
47
+ end
48
+ end
49
+
50
+ class BrokenTagTest < Test::Unit::TestCase
51
+ include TestBase
52
+ def broken; true; end
53
+ def fixable; true; end
54
+ def input
55
+ # note these also are missing the <?xml?> decl.
56
+ return <<-EOFBROKED
57
+ <acResponse
58
+ command="update"
59
+ >
60
+ <element location="/./foo.txt" />
61
+ <message>Hello, world!</message>
62
+ </acResponse>
63
+ EOFBROKED
64
+ end
65
+ end
66
+
67
+ class BrokenGarbleTest < Test::Unit::TestCase
68
+ include TestBase
69
+ def broken; true; end
70
+ def fixable; true; end
71
+ def input
72
+ return <<-EOFBROKED2
73
+ <acResponse
74
+ command="update"Filehandles are hard, let's go shopping!
75
+ >
76
+ <element location="/./foo.txt" />
77
+ <message>Hello, world!</message>
78
+ </acResponse>
79
+ EOFBROKED2
80
+ end
81
+ end
82
+
83
+ class BrokenGarbleTest2 < Test::Unit::TestCase
84
+ include TestBase
85
+ def broken; true; end
86
+ def fixable; true; end
87
+ def input
88
+ return <<-EOFBROKED3
89
+ <?xml version="1.0"?>
90
+ <!-- comment before root element -->
91
+ <acResponse
92
+ command="update"Filehandles are hard, let's go shopping!
93
+ >
94
+ <element location="/./foo.txt" />
95
+ <message>Hello, world!</message>
96
+ </acResponse>
97
+ EOFBROKED3
98
+ end
99
+ end
100
+
101
+ class BrokenGarbleTest3 < Test::Unit::TestCase
102
+ include TestBase
103
+ def broken; true; end
104
+ def fixable; true; end
105
+ def input
106
+ return <<-EOFBROKED4
107
+ <?xml version="1.0"?>
108
+ <!-- comment before root element -->
109
+ <acResponse
110
+ command="update">
111
+ <element location="/./foo.txt" />
112
+ <message>Hello, world!</message>
113
+ </acResponse>
114
+ EOFBROKED4
115
+ end
116
+ end
117
+
@@ -0,0 +1,75 @@
1
+ #!/usr/bin/env ruby
2
+ require 'test/unit'
3
+ require 'stringio'
4
+ require 'rexml/document'
5
+ require 'rubygems'
6
+ require 'rscm/scm/accurev/xml'
7
+ include REXML
8
+ include RSCM::Accurev
9
+
10
+ class ReadQueue < ElementBackedClass
11
+ element_name 'readqueue'
12
+ attr_accessor :owner
13
+ end
14
+
15
+ class Book < ElementBackedClass
16
+ element_name 'book'
17
+ attr_accessor :title, :author
18
+ end
19
+
20
+ class Paper < ElementBackedClass
21
+ element_name 'paper'
22
+ attr_accessor :uri
23
+ end
24
+
25
+ class Note < ElementBackedClass
26
+ element_name 'note'
27
+ attr_accessor :text, :text_content
28
+ end
29
+
30
+ INPUT = <<-EOI
31
+ <?xml version="1.0"?>
32
+ <readqueue owner="gdf">
33
+ <book title="Iron Council" author="China Mieville" />
34
+ <paper uri="http://svk.elixus.org?SVKTutorial">
35
+ <note text="re-read" />
36
+ </paper>
37
+ <book title="Someone Comes to Town, Someone Leaves Town"
38
+ author="Cory Doctorow" />
39
+ <book title="Concurrent Programming in Java" author="Doug Lea">
40
+ <note>Need Brains</note>
41
+ </book>
42
+ </readqueue>
43
+ EOI
44
+
45
+ class XMLMapperTest < Test::Unit::TestCase
46
+ def testmap
47
+ d = Document.new( StringIO.new( INPUT ) )
48
+ assert_equal( "readqueue", d.root.name )
49
+ mapper = XMLMapper.new
50
+ o = mapper.map( d.root )
51
+ assert( o.kind_of?( ElementBackedClass ) )
52
+ assert( o.kind_of?( ReadQueue ) )
53
+ assert_equal( 3, o.children['book'].length )
54
+ assert_equal( 1, o.children['paper'].length )
55
+ paper = o.children['paper'][0]
56
+ assert( paper.kind_of?( Paper ) )
57
+ assert_equal( "paper", paper.class.element_name )
58
+ assert_equal( "http://svk.elixus.org?SVKTutorial", paper.uri )
59
+ assert_equal( 1, paper.children['note'].length )
60
+ note = paper.children['note'][0]
61
+ assert_equal( "re-read", note.text )
62
+ b = nil
63
+ o.children['book'].each do |book|
64
+ b = book if book.author == "Doug Lea"
65
+ end
66
+ assert_equal( "Concurrent Programming in Java", b.title )
67
+ note = b.children['note'][0]
68
+ assert( note.text.nil? )
69
+ assert_equal( "Need Brains", note.text_content )
70
+
71
+ # test []
72
+ assert_equal( 3, o['book'].length )
73
+ end
74
+
75
+ end
metadata ADDED
@@ -0,0 +1,106 @@
1
+ --- !ruby/object:Gem::Specification
2
+ rubygems_version: 0.8.11
3
+ specification_version: 1
4
+ name: rscm-accurev
5
+ version: !ruby/object:Gem::Version
6
+ version: "0.0"
7
+ date: 2005-09-01 00:00:00 -05:00
8
+ summary: "RSCM::Accurev - RSCM API for Accurev"
9
+ require_paths:
10
+ - lib
11
+ email: gdf@speakeasy.net
12
+ homepage: http://rscm-accurev.rubyforge.org
13
+ rubyforge_project:
14
+ description: RSCM::Accurev is an RSCM API for the SCM tool Accurev (http://www.accurev.com/).
15
+ autorequire: rscm/scm/accurev
16
+ default_executable:
17
+ bindir: bin
18
+ has_rdoc: true
19
+ required_ruby_version: !ruby/object:Gem::Version::Requirement
20
+ requirements:
21
+ -
22
+ - ">"
23
+ - !ruby/object:Gem::Version
24
+ version: 0.0.0
25
+ version:
26
+ platform: ruby
27
+ signing_key:
28
+ cert_chain:
29
+ authors:
30
+ - Greg Fast
31
+ files:
32
+ - tmp
33
+ - lib
34
+ - apitest.rb
35
+ - STATUS
36
+ - test
37
+ - LICENSE
38
+ - eg
39
+ - TODO
40
+ - doc
41
+ - Rakefile
42
+ - pkg
43
+ - README
44
+ - bumprelease.sh
45
+ - lib/rscm
46
+ - lib/test
47
+ - lib/rscm/scm
48
+ - lib/rscm/accurev.rb
49
+ - lib/rscm/scm/accurev
50
+ - lib/rscm/scm/accurev/command.rb
51
+ - lib/rscm/scm/accurev/xml.rb
52
+ - lib/rscm/scm/accurev/api.rb
53
+ - lib/rscm/scm/accurev/filterio.rb
54
+ - lib/rscm/scm/accurev/exception.rb
55
+ - lib/rscm/scm/accurev/api.rb.r263
56
+ - lib/rscm/scm/accurev/api.rb.r265
57
+ - lib/rscm/scm/accurev/api.rb.mine
58
+ - lib/test/unit
59
+ - lib/test/unit/ui
60
+ - lib/test/unit/ui/xml
61
+ - lib/test/unit/ui/xml/xmltestrunner.xslt
62
+ - lib/test/unit/ui/xml/testrunner.rb
63
+ - test/t_scrubio.rb
64
+ - test/t_load.rb
65
+ - test/eg
66
+ - test/t_filterio.rb
67
+ - test/t_xmlmapper.rb
68
+ - test/acreplay.rb
69
+ - test/t_command.rb
70
+ - test/t_api.rb
71
+ - test/coverage
72
+ - test/eg/update-stale.xml
73
+ - test/eg/ac-files.xml
74
+ - test/eg/update-i-nochanges.xml
75
+ - test/eg/update-newwksp.xml
76
+ - test/eg/update-nochanges.xml
77
+ - test/eg/update-i-updates.xml
78
+ - test/eg/update-updates.xml
79
+ - test/eg/info.txt
80
+ - test/eg/files-various-states.xml
81
+ - test/eg/stat-x.xml
82
+ - test/eg/stat-m.xml
83
+ - test/eg/stat-a-various.xml
84
+ - test/eg/update-i-stale.xml
85
+ - test/eg/ac-pop.txt
86
+ - test/eg/update-i-mods-and-updates-and-overlap.xml
87
+ - test/eg/stat-overlap.xml
88
+ - test/eg/hist-oneweek-all.xml
89
+ - test/eg/hist-oneweek-promotes.xml
90
+ - test/eg/hist-oneweek-external.xml
91
+ - test/coverage/analyzer.rb
92
+ - test/coverage/cover.rb
93
+ - test/coverage/coverage_loader.rb
94
+ - test/coverage/coveragetask.rb
95
+ - test/coverage/index_tmpl.html
96
+ - test/coverage/c_loader.rb
97
+ - test/coverage/template.html
98
+ test_files: []
99
+ rdoc_options:
100
+ - "--line-numbers"
101
+ - "--inline-source"
102
+ extra_rdoc_files: []
103
+ executables: []
104
+ extensions: []
105
+ requirements: []
106
+ dependencies: []