rspec 0.5.11 → 0.5.12

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.
Files changed (80) hide show
  1. data/CHANGES +12 -0
  2. data/README +4 -2
  3. data/Rakefile +14 -4
  4. data/bin/spec +7 -7
  5. data/bin/test2spec +13 -8
  6. data/lib/spec/api/helper/diff.rb +53 -0
  7. data/lib/spec/api/helper/instance_helper.rb +11 -11
  8. data/lib/spec/api/helper/instance_negator.rb +11 -11
  9. data/lib/spec/api/helper/kind_helper.rb +11 -11
  10. data/lib/spec/api/helper/kind_negator.rb +11 -11
  11. data/lib/spec/api/helper/respond_helper.rb +11 -11
  12. data/lib/spec/api/helper/respond_negator.rb +11 -11
  13. data/lib/spec/api/helper/should_base.rb +6 -6
  14. data/lib/spec/api/helper/should_helper.rb +35 -35
  15. data/lib/spec/api/helper/should_negator.rb +20 -20
  16. data/lib/spec/rake/spectask.rb +15 -6
  17. data/lib/spec/runner.rb +1 -0
  18. data/lib/spec/runner/backtrace_tweaker.rb +2 -0
  19. data/lib/spec/runner/base_text_formatter.rb +3 -1
  20. data/lib/spec/runner/html_formatter.rb +153 -0
  21. data/lib/spec/runner/option_parser.rb +9 -2
  22. data/lib/spec/runner/progress_bar_formatter.rb +4 -0
  23. data/lib/spec/runner/rdoc_formatter.rb +3 -0
  24. data/lib/spec/runner/reporter.rb +5 -5
  25. data/lib/spec/runner/specdoc_formatter.rb +3 -0
  26. data/lib/spec/test_to_spec/sexp_transformer.rb +1 -0
  27. data/lib/spec/test_to_spec/translation_test_runner.rb +10 -2
  28. data/lib/spec/version.rb +1 -1
  29. data/test/spec/api/helper/arbitrary_predicate_test.rb +49 -73
  30. data/test/spec/api/helper/diff_test.rb +60 -0
  31. data/test/spec/api/helper/equality_test.rb +14 -0
  32. data/test/spec/api/helper/should_have_test.rb +0 -29
  33. data/test/spec/api/helper/typing_test.rb +87 -87
  34. data/test/spec/api/sugar_test.rb +0 -6
  35. data/test/spec/runner/backtrace_tweaker_test.rb +8 -2
  36. data/test/spec/runner/html_formatter_test.rb +47 -0
  37. data/test/spec/runner/option_parser_test.rb +0 -5
  38. data/test/test_classes.rb +73 -0
  39. data/test/test_helper.rb +3 -0
  40. metadata +8 -49
  41. data/doc/README +0 -3
  42. data/doc/config.yaml +0 -2
  43. data/doc/plugin/syntax.rb +0 -60
  44. data/doc/plugin/version.rb +0 -19
  45. data/doc/src/core_team.page +0 -31
  46. data/doc/src/default.css +0 -199
  47. data/doc/src/default.template +0 -31
  48. data/doc/src/documentation/index.page +0 -188
  49. data/doc/src/documentation/meta.info +0 -22
  50. data/doc/src/documentation/mocks.page +0 -287
  51. data/doc/src/documentation/underscores.page +0 -21
  52. data/doc/src/examples.page +0 -9
  53. data/doc/src/images/David_and_Aslak.jpg +0 -0
  54. data/doc/src/images/Whats_That_Dude.jpg +0 -0
  55. data/doc/src/images/ducks1.png +0 -0
  56. data/doc/src/images/ul.gif +0 -0
  57. data/doc/src/index.page +0 -74
  58. data/doc/src/meta.info +0 -33
  59. data/doc/src/tools/index.page +0 -49
  60. data/doc/src/tools/meta.info +0 -18
  61. data/doc/src/tools/rails.page +0 -132
  62. data/doc/src/tools/rake.page +0 -21
  63. data/doc/src/tools/rcov.page +0 -28
  64. data/doc/src/tools/spec.page +0 -129
  65. data/doc/src/tools/test2spec.page +0 -103
  66. data/doc/src/tutorials/index.page +0 -52
  67. data/doc/src/tutorials/meta.info +0 -36
  68. data/doc/src/tutorials/notes.txt +0 -263
  69. data/doc/src/tutorials/stack.rb +0 -11
  70. data/doc/src/tutorials/stack_01.page +0 -226
  71. data/doc/src/tutorials/stack_02.page +0 -182
  72. data/doc/src/tutorials/stack_03.page +0 -283
  73. data/doc/src/tutorials/stack_04.page +0 -164
  74. data/doc/src/tutorials/stack_04.page.orig +0 -123
  75. data/doc/src/tutorials/stack_05.page +0 -90
  76. data/doc/src/tutorials/stack_05.page.orig +0 -124
  77. data/doc/src/tutorials/stack_06.page +0 -359
  78. data/doc/src/tutorials/stack_06.page.orig +0 -359
  79. data/doc/src/tutorials/stack_spec.rb +0 -25
  80. data/doc/src/ul.gif +0 -0
@@ -61,11 +61,5 @@ module Spec
61
61
  end
62
62
 
63
63
  end
64
-
65
- class ClassWithMultiWordPredicate
66
- def multi_word_predicate?
67
- true
68
- end
69
- end
70
64
  end
71
65
  end
@@ -65,14 +65,20 @@ module Spec
65
65
  @error.backtrace.should_be_empty
66
66
  end
67
67
 
68
+ def test_should_remove_bin_spec
69
+ @error.set_backtrace ["bin/spec:"]
70
+ @tweaker.tweak_backtrace @error, 'spec name'
71
+ @error.backtrace.should_be_empty
72
+ end
73
+
68
74
  def test_should_remove_anything_from_textmate_ruby_bundle
69
75
  @error.set_backtrace ["/Applications/TextMate.app/Contents/SharedSupport/Bundles/Ruby.tmbundle/Support/tmruby.rb:147"]
70
76
  @tweaker.tweak_backtrace @error, 'spec name'
71
77
  @error.backtrace.should_be_empty
72
78
  end
73
79
 
74
- def test_should_remove_bin_spec
75
- @error.set_backtrace ["bin/spec:"]
80
+ def test_should_remove_anything_from_rspec_on_rails
81
+ @error.set_backtrace ["/usr/local/lib/ruby/gems/1.8/gems/rspec_generator-0.5.12/lib/rspec_on_rails.rb:33:in `run'"]
76
82
  @tweaker.tweak_backtrace @error, 'spec name'
77
83
  @error.backtrace.should_be_empty
78
84
  end
@@ -0,0 +1,47 @@
1
+ require File.dirname(__FILE__) + '/../../test_helper'
2
+ module Spec
3
+ module Runner
4
+ class HtmlFormatterTest < Test::Unit::TestCase
5
+
6
+ def setup
7
+ @io = StringIO.new
8
+ @formatter = HtmlFormatter.new(@io)
9
+ end
10
+
11
+ def test_should_push_header_on_start
12
+ @formatter.start(5)
13
+ assert_equal(HtmlFormatter::HEADER, @io.string)
14
+ end
15
+
16
+ def test_should_push_context_name
17
+ @formatter.add_context("fruit", true)
18
+ assert_equal("<div class=\"context\">\n <div>fruit</div>\n <div>\n", @io.string)
19
+ end
20
+
21
+ def test_should_push_div_with_spec_passed_class
22
+ @formatter.spec_started("spec")
23
+ @formatter.spec_passed("spec")
24
+ assert_equal("<div class=\"spec passed\">spec</div>\n", @io.string)
25
+ end
26
+
27
+ def test_should_push_div_with_spec_failed_class
28
+ exception = StandardError.new("boo")
29
+ failure = Reporter::Failure.new("context_name", "spec_name", exception)
30
+ @formatter.spec_started("spec_name")
31
+ @formatter.spec_failed("spec_name", 98, failure)
32
+ assert_match(/<div class="spec failed">/, @io.string)
33
+ end
34
+
35
+ def test_should_close_html_on_dump_summary
36
+ @formatter.dump_summary(3,2,1)
37
+ assert_equal("</body></html>", @io.string)
38
+ end
39
+
40
+ def test_should_push_div_on_start_dump
41
+ @formatter.start_dump
42
+ assert_equal("</div>", @io.string.split.last)
43
+ end
44
+
45
+ end
46
+ end
47
+ end
@@ -1,10 +1,5 @@
1
1
  require File.dirname(__FILE__) + '/../../test_helper'
2
2
 
3
- module Custom
4
- class Formatter
5
- end
6
- end
7
-
8
3
  module Spec
9
4
  module Runner
10
5
  class OptionParserTest < Test::Unit::TestCase
@@ -0,0 +1,73 @@
1
+ # This file contains various classes used by the tests.
2
+ # They are kept in a separate file so that they can also
3
+ # be accessed by the test2spec-translated specs
4
+ module Spec
5
+ module Api
6
+ class ClassWithMultiWordPredicate
7
+ def multi_word_predicate?
8
+ true
9
+ end
10
+ end
11
+
12
+ module Helper
13
+ class CollectionWithSizeMethod
14
+ def initialize; @list = []; end
15
+ def size; @list.size; end
16
+ def push(item); @list.push(item); end
17
+ end
18
+
19
+ class CollectionWithLengthMethod
20
+ def initialize; @list = []; end
21
+ def length; @list.size; end
22
+ def push(item); @list.push(item); end
23
+ end
24
+
25
+ class CollectionOwner
26
+ attr_reader :items_in_collection_with_size_method, :items_in_collection_with_length_method
27
+
28
+ def initialize
29
+ @items_in_collection_with_size_method = CollectionWithSizeMethod.new
30
+ @items_in_collection_with_length_method = CollectionWithLengthMethod.new
31
+ end
32
+
33
+ def add_to_collection_with_size_method(item)
34
+ @items_in_collection_with_size_method.push(item)
35
+ end
36
+
37
+ def add_to_collection_with_length_method(item)
38
+ @items_in_collection_with_length_method.push(item)
39
+ end
40
+ end
41
+
42
+ class XxxMock
43
+ def initialize(return_val)
44
+ @return_val = return_val
45
+ @xxx_called = false
46
+ end
47
+
48
+ def xxx?
49
+ @xxx_called = true
50
+ @return_val
51
+ end
52
+
53
+ def yyy?(a, b, c)
54
+ a.should.be 1
55
+ b.should.be 2
56
+ c.should.be 3
57
+ @xxx_called = true
58
+ @return_val
59
+ end
60
+
61
+ def __verify
62
+ @xxx_called.should.be true
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
68
+
69
+ module Custom
70
+ class Formatter
71
+ end
72
+ end
73
+
@@ -3,6 +3,9 @@ require 'stringio'
3
3
  $LOAD_PATH.push File.dirname(__FILE__) + '/../lib'
4
4
  $LOAD_PATH.push File.dirname(__FILE__) + '/../test'
5
5
  require 'spec'
6
+ require 'test_classes'
7
+ RSPEC_TESTING = true unless defined? RSPEC_TESTING # This causes the diff extension to not be loaded
8
+ require 'spec/api/helper/diff'
6
9
  $context_runner = ::Spec::Runner::OptionParser.create_context_runner(['test'], false, STDERR, STDOUT)
7
10
 
8
11
  # helpers for test_to_spec tests
metadata CHANGED
@@ -3,9 +3,9 @@ rubygems_version: 0.8.11
3
3
  specification_version: 1
4
4
  name: rspec
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.5.11
7
- date: 2006-06-15 00:00:00 -05:00
8
- summary: RSpec-0.5.11 - BDD for Ruby http://rspec.rubyforge.org/
6
+ version: 0.5.12
7
+ date: 2006-06-16 00:00:00 -05:00
8
+ summary: RSpec-0.5.12 - BDD for Ruby http://rspec.rubyforge.org/
9
9
  require_paths:
10
10
  - lib
11
11
  email: rspec-devel@rubyforge.org
@@ -40,6 +40,7 @@ files:
40
40
  - lib/spec/api/expectations.rb
41
41
  - lib/spec/api/helper.rb
42
42
  - lib/spec/api/sugar.rb
43
+ - lib/spec/api/helper/diff.rb
43
44
  - lib/spec/api/helper/have_helper.rb
44
45
  - lib/spec/api/helper/instance_helper.rb
45
46
  - lib/spec/api/helper/instance_negator.rb
@@ -61,6 +62,7 @@ files:
61
62
  - lib/spec/runner/context.rb
62
63
  - lib/spec/runner/context_runner.rb
63
64
  - lib/spec/runner/execution_context.rb
65
+ - lib/spec/runner/html_formatter.rb
64
66
  - lib/spec/runner/instance_exec.rb
65
67
  - lib/spec/runner/kernel_ext.rb
66
68
  - lib/spec/runner/option_parser.rb
@@ -74,11 +76,13 @@ files:
74
76
  - lib/spec/test_to_spec/sexp_transformer.rb
75
77
  - lib/spec/test_to_spec/test_case_ext.rb
76
78
  - lib/spec/test_to_spec/translation_test_runner.rb
79
+ - test/test_classes.rb
77
80
  - test/test_helper.rb
78
81
  - test/spec/api/duck_type_test.rb
79
82
  - test/spec/api/sugar_test.rb
80
83
  - test/spec/api/helper/arbitrary_predicate_test.rb
81
84
  - test/spec/api/helper/containment_test.rb
85
+ - test/spec/api/helper/diff_test.rb
82
86
  - test/spec/api/helper/equality_test.rb
83
87
  - test/spec/api/helper/identity_test.rb
84
88
  - test/spec/api/helper/raising_test.rb
@@ -98,6 +102,7 @@ files:
98
102
  - test/spec/runner/context_test.rb
99
103
  - test/spec/runner/execution_context_test.rb
100
104
  - test/spec/runner/failure_dump_test.rb
105
+ - test/spec/runner/html_formatter_test.rb
101
106
  - test/spec/runner/kernel_ext_test.rb
102
107
  - test/spec/runner/option_parser_test.rb
103
108
  - test/spec/runner/progress_bar_formatter_test.rb
@@ -119,52 +124,6 @@ files:
119
124
  - examples/stack.rb
120
125
  - examples/stack_spec.rb
121
126
  - examples/sugar_spec.rb
122
- - doc/config.yaml
123
- - doc/plugin
124
- - doc/README
125
- - doc/src
126
- - doc/plugin/syntax.rb
127
- - doc/plugin/version.rb
128
- - doc/src/core_team.page
129
- - doc/src/default.css
130
- - doc/src/default.template
131
- - doc/src/documentation
132
- - doc/src/examples.page
133
- - doc/src/images
134
- - doc/src/index.page
135
- - doc/src/meta.info
136
- - doc/src/tools
137
- - doc/src/tutorials
138
- - doc/src/ul.gif
139
- - doc/src/documentation/index.page
140
- - doc/src/documentation/meta.info
141
- - doc/src/documentation/mocks.page
142
- - doc/src/documentation/underscores.page
143
- - doc/src/images/David_and_Aslak.jpg
144
- - doc/src/images/ducks1.png
145
- - doc/src/images/ul.gif
146
- - doc/src/images/Whats_That_Dude.jpg
147
- - doc/src/tools/index.page
148
- - doc/src/tools/meta.info
149
- - doc/src/tools/rails.page
150
- - doc/src/tools/rake.page
151
- - doc/src/tools/rcov.page
152
- - doc/src/tools/spec.page
153
- - doc/src/tools/test2spec.page
154
- - doc/src/tutorials/index.page
155
- - doc/src/tutorials/meta.info
156
- - doc/src/tutorials/notes.txt
157
- - doc/src/tutorials/stack.rb
158
- - doc/src/tutorials/stack_01.page
159
- - doc/src/tutorials/stack_02.page
160
- - doc/src/tutorials/stack_03.page
161
- - doc/src/tutorials/stack_04.page
162
- - doc/src/tutorials/stack_04.page.orig
163
- - doc/src/tutorials/stack_05.page
164
- - doc/src/tutorials/stack_05.page.orig
165
- - doc/src/tutorials/stack_06.page
166
- - doc/src/tutorials/stack_06.page.orig
167
- - doc/src/tutorials/stack_spec.rb
168
127
  test_files: []
169
128
 
170
129
  rdoc_options:
data/doc/README DELETED
@@ -1,3 +0,0 @@
1
- The website can be generated with
2
- webgen
3
- (Install the following gems: webgen, redcloth, syntax)
@@ -1,2 +0,0 @@
1
- # Configuration file for webgen
2
- # Used to set the parameters of the plugins
@@ -1,60 +0,0 @@
1
- # gem install syntax
2
- require 'syntax/convertors/html'
3
- RUBY2HTML = Syntax::Convertors::HTML.for_syntax "ruby"
4
-
5
- class ERB
6
- class Compiler
7
- alias old_compile compile
8
-
9
- def compile(s)
10
- s.gsub! /<ruby>/n, "<notextile><%= ruby <<-EOR"
11
- s.gsub! /<\/ruby>/n, "EOR\n%></notextile>"
12
- s.gsub! /<ruby\s+file="(.*)"\s*\/>/, "{ruby_inline: {filename: \\1}}"
13
- old_compile(s)
14
- end
15
- end
16
- end
17
-
18
- module FileHandlers
19
- class PageFileHandler < DefaultFileHandler
20
- def ruby(code)
21
- RUBY2HTML.convert(code)
22
- end
23
- end
24
- end
25
-
26
- module Tags
27
-
28
- # prints out nicely formatted ruby code in html
29
- class RubyInliner < DefaultTag
30
- summary "renders a ruby file in html and inserts it"
31
- depends_on "Tags"
32
- add_param 'filename', nil, 'The File to insert'
33
- set_mandatory 'filename', true
34
-
35
-
36
- def initialize
37
- super
38
- register_tag('ruby_inline')
39
- end
40
-
41
- def process_tag(tag, node, ref_node)
42
- content = ''
43
- begin
44
- filename = get_param('filename')
45
- if !File.exists?(filename)
46
- if filename[0...1] == "~"
47
- filename = File.expand_path(filename)
48
- else
49
- filename = ref_node.parent.recursive_value( 'src' ) + get_param( 'filename' )
50
- end
51
- end
52
- self.logger.debug { "File location: <#{filename}>" }
53
- content = File.read( filename )
54
- rescue
55
- self.logger.error { "Given file <#{filename}> does not exist (tag specified in <#{ref_node.recursive_value( 'src' )}>" }
56
- end
57
- RUBY2HTML.convert(content)
58
- end
59
- end
60
- end
@@ -1,19 +0,0 @@
1
- require 'webgen/plugins/tags/tags'
2
- require File.dirname(__FILE__) + '/../../lib/spec/version'
3
-
4
- module Tags
5
-
6
- class VersionTag < DefaultTag
7
-
8
- summary "Puts the version on the page"
9
- depends_on 'Tags'
10
-
11
- tag 'version'
12
-
13
- def process_tag(tag, node, refNode)
14
- return Spec::VERSION::STRING
15
- end
16
-
17
- end
18
-
19
- end
@@ -1,31 +0,0 @@
1
- ---
2
- title: The Core Team
3
- inMenu: true
4
- ---
5
-
6
- h2. The Core Team
7
-
8
- * Dave Astels
9
- * Steve Baker
10
- * David Chelimsky
11
- * Aslak Hellesoy
12
-
13
- <notextile>
14
- <table>
15
- <tr>
16
- <td><img src="images/David_and_Aslak.jpg" /></td>
17
- <td><img src="images/Whats_That_Dude.jpg" /></td>
18
- <td><img src="http://static.flickr.com/1/127260733_84714abc76_o_d.png" /></td>
19
- </tr>
20
- <tr>
21
- <td align="center">David and Aslak tweaking backtraces</td>
22
- <td align="center">What's that, Dude?</td>
23
- <td align="center">Dave Astels</td>
24
- </tr>
25
- </table>
26
- </notextile>
27
-
28
- h2. Contributors
29
-
30
- * Lachie Cox (Rails support)
31
- * Rich Kilmer (Underscore syntactic sugar)
@@ -1,199 +0,0 @@
1
- /* CSS Document by JM (ISeeYou-Designs.com) */
2
-
3
- body {
4
- background-color:#fff;
5
- font-family:"Trebuchet MS",arial,sans-serif;
6
- font-size:62.5%;
7
- color:#777;
8
- margin:0;
9
- padding:0;
10
- }
11
- a {
12
- text-decoration:none;
13
- color:#222;
14
- }
15
- a:hover {
16
- color:#c00;
17
- }
18
- acronym {
19
- cursor:help;
20
- border-bottom:1px dotted #ddd;
21
- }
22
- #container {
23
- font-size:1.2em;
24
- width:94%;
25
- margin:0 auto;
26
- border-right:3px double #000;
27
- }
28
- #header {
29
- color:#444;
30
- margin:0;
31
- padding:10px;
32
- background:#fff url(business_card.jpg) no-repeat bottom right;
33
- }
34
- #header h1 {
35
- font-family:"Trebuchet MS",arial,sans-serif;
36
- font-size:2em;
37
- color:#333;
38
- margin:0;
39
- font-weight:normal;
40
- }
41
- #header h1 strong {
42
- color:#c00;
43
- }
44
- #header h2 {
45
- margin:30px 0 0 0;
46
- font-size:1em;
47
- font-weight:normal;
48
- color:#999;
49
- }
50
- #header h2 strong {
51
- color:#c00;
52
- }
53
- #navigation {
54
- text-align:right;
55
- margin:0 18px 10px auto;
56
- padding:0;
57
- }
58
- #navigation li {
59
- margin:0;
60
- padding:0;
61
- list-style:none;
62
- display:inline;
63
- }
64
- #navigation li a {
65
- padding:5px 5px 2px 5px;
66
- margin:0 1px 0 1px;
67
- color:#666;
68
- text-decoration:none;
69
- font-weight:bold;
70
- border-bottom:1px solid #c00;
71
- }
72
- #navigation li a:hover {
73
- color:#C00;
74
- border-bottom:1px solid #ddd;
75
- }
76
- #navigation li.webgen-menu-item-selected a, #naviation li.webgen-menu-item-selected a:hover {
77
- color: #000;
78
- }
79
- #content {
80
- margin:20px 0 20px 10px;
81
- padding:0;
82
- }
83
- #content p {
84
- padding:2px 20px;
85
- text-align:justify;
86
- line-height:1.4em;
87
- }
88
- #content h1 {
89
- display:block;
90
- margin:50px 0 0 10px;
91
- padding:0;
92
- font-family:"Trebuchet MS",arial,sans-serif;
93
- font-size:1.8em;
94
- color:#c00;
95
- border-color:#ddd;
96
- border-style:solid;
97
- border-width:0 0 1px 0;
98
- }
99
- #content h2 {
100
- display:block;
101
- margin:20px 20px 0 0px;
102
- padding:0;
103
- font-family:"Trebuchet MS",arial,sans-serif;
104
- font-size:1.1em;
105
- letter-spacing:2px;
106
- color:#444;
107
- border-color:#c00;
108
- border-style:solid;
109
- border-width:0 0 1px 0;
110
- }
111
- #content .post_info {
112
- text-align:right;
113
- margin:0 25px 5px 25px;
114
- padding:2px;
115
- font-size:0.8em;
116
- font-family:arial,sans-serif;
117
- color:#aaa;
118
- line-height:0.9em;
119
- word-spacing:1px;
120
- border-top:1px solid #ddd;
121
- }
122
- #content .post_info a {
123
- text-transform:uppercase;
124
- }
125
- #content blockquote {
126
- margin:10px 60px;
127
- padding:5px;
128
- font-family:"Trebuchet MS",arial,sans-serif;
129
- font-size:0.9em;
130
- color:#444;
131
- border:1px solid #ddd;
132
- background-color:#eee;
133
- }
134
- #content blockquote p {
135
- margin:0;
136
- padding:0;
137
- text-indent:0;
138
- }
139
- #content code {
140
- font-family:monospace;
141
- color:#222;
142
- font-size:1.3em;
143
- }
144
- #content pre {
145
- padding:10px;
146
- margin:0 18px 0 18px;
147
- color:#444;
148
- border:1px solid #444;
149
- background-color:#ddd;
150
- }
151
- #content ul {
152
- margin-left:70px;
153
- list-style:upper-roman outside;
154
- font-family:arial,sans-serif;
155
- font-size:0.9em;
156
- }
157
- #content li {
158
- padding:3px;
159
- }
160
- #footer {
161
- font-size:0.9em;
162
- font-family:arial,sans-serif;
163
- margin:60px 18px 20px 0;
164
- padding:5px;
165
- border-top:1px solid #c00;
166
- }
167
- #footer p {
168
- text-align:right;
169
- line-height:1.1em;
170
- color:#bbb;
171
- font-size:0.9em;
172
- font-family:arial,sans-serif;
173
- margin:0;
174
- padding:0;
175
- }
176
- #footer span {
177
- color:#888;
178
- }
179
- #footer a {
180
- color:#888;
181
- }
182
- #footer a:hover {
183
- color:#aaa;
184
- }
185
-
186
- /* Ruby code */
187
- pre {
188
- font-size: 12px;
189
- }
190
- .keyword { font-family: monospace; color: #8B0000; }
191
- .constant, .attribute, .global, .class, .module { font-family: monospace; color: black;}
192
- .string { font-family: monospace; color: #00008B; }
193
- .ident, .method { font-family: monospace; color: #006400; }
194
- .number, .char { font-family: monospace; color: #888800; }
195
- .comment { font-family: monospace; color: purple; }
196
- .symbol { font-family: monospace; color: #884400; }
197
- .regex { font-family: monospace; color: #808080; }
198
- .punct { font-family: monospace; color: black; }
199
- .escape, .interp, .expr { font-family: monospace; color: black; background-color: #dddddd; }