babel_bridge 0.1.0

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.
@@ -0,0 +1,44 @@
1
+ class TestHelper
2
+ class AssertionFailure < Exception
3
+ end
4
+ def assert(val)
5
+ raise AssertionFailure.new("assertion failed: expected a value, got #{val.inspect}") unless val
6
+ end
7
+
8
+ def assert_nil(val)
9
+ raise AssertionFailure.new("assertion failed: did not expect a value, got #{val.inspect}") if val
10
+ end
11
+
12
+ def assert_equal(expected,val)
13
+ raise AssertionFailure.new("expected #{expected.inspect}; got #{val.inspect}") if expected!=val
14
+ end
15
+
16
+ def run_tests(tests=nil)
17
+ failures=[]
18
+ errors=[]
19
+ successes=0
20
+ (tests || self.methods).each do |method|
21
+ method=method.to_sym
22
+ if method.to_s[/^test_/]
23
+ begin
24
+ self.send(method)
25
+ successes+=1
26
+ $stdout.write(".");
27
+ rescue AssertionFailure => e
28
+ errors<<"#{method} failed an assertion: #{e}"+
29
+ " "+e.backtrace.join("\n ")+"\n\n"
30
+ $stdout.write("E");
31
+ rescue Exception => e
32
+ failures<<"#{method} had an error: #{e}"+
33
+ " "+e.backtrace.join("\n ")+"\n\n"
34
+ $stdout.write("F");
35
+ end
36
+ $stdout.flush()
37
+ end
38
+ end
39
+ puts ""
40
+ puts "\n\n"+(errors+failures).join("\n\n")
41
+ puts "successes: #{successes}, failures: #{failures.length}, errors: #{errors.length}"
42
+ end
43
+ end
44
+
metadata ADDED
@@ -0,0 +1,60 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: babel_bridge
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Shane Brinkman-Davis
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2010-11-28 00:00:00 -08:00
13
+ default_executable:
14
+ dependencies: []
15
+
16
+ description: Babel Bridge let's you generate parsers 100% in Ruby code. It is a memoizing Parsing Expression Grammar (PEG) generator like Treetop, but it doesn't require special file-types or new syntax. Overall focus is on simplicity and usability over performance.
17
+ email: shanebdavis@gmail.com
18
+ executables: []
19
+
20
+ extensions: []
21
+
22
+ extra_rdoc_files: []
23
+
24
+ files:
25
+ - README
26
+ - babel_bridge.gemspec
27
+ - test/test_bb.rb
28
+ - test/test_helper.rb
29
+ - lib/babel_bridge.rb
30
+ - lib/nodes.rb
31
+ has_rdoc: true
32
+ homepage: http://babel-bridge.rubyforge.org
33
+ licenses: []
34
+
35
+ post_install_message:
36
+ rdoc_options: []
37
+
38
+ require_paths:
39
+ - lib
40
+ required_ruby_version: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: "0"
45
+ version:
46
+ required_rubygems_version: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: "0"
51
+ version:
52
+ requirements: []
53
+
54
+ rubyforge_project: babel-bridge
55
+ rubygems_version: 1.3.5
56
+ signing_key:
57
+ specification_version: 3
58
+ summary: A Ruby-based parser-generator based on Parsing Expression Grammars.
59
+ test_files: []
60
+