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.
- data/CHANGES +12 -0
- data/README +4 -2
- data/Rakefile +14 -4
- data/bin/spec +7 -7
- data/bin/test2spec +13 -8
- data/lib/spec/api/helper/diff.rb +53 -0
- data/lib/spec/api/helper/instance_helper.rb +11 -11
- data/lib/spec/api/helper/instance_negator.rb +11 -11
- data/lib/spec/api/helper/kind_helper.rb +11 -11
- data/lib/spec/api/helper/kind_negator.rb +11 -11
- data/lib/spec/api/helper/respond_helper.rb +11 -11
- data/lib/spec/api/helper/respond_negator.rb +11 -11
- data/lib/spec/api/helper/should_base.rb +6 -6
- data/lib/spec/api/helper/should_helper.rb +35 -35
- data/lib/spec/api/helper/should_negator.rb +20 -20
- data/lib/spec/rake/spectask.rb +15 -6
- data/lib/spec/runner.rb +1 -0
- data/lib/spec/runner/backtrace_tweaker.rb +2 -0
- data/lib/spec/runner/base_text_formatter.rb +3 -1
- data/lib/spec/runner/html_formatter.rb +153 -0
- data/lib/spec/runner/option_parser.rb +9 -2
- data/lib/spec/runner/progress_bar_formatter.rb +4 -0
- data/lib/spec/runner/rdoc_formatter.rb +3 -0
- data/lib/spec/runner/reporter.rb +5 -5
- data/lib/spec/runner/specdoc_formatter.rb +3 -0
- data/lib/spec/test_to_spec/sexp_transformer.rb +1 -0
- data/lib/spec/test_to_spec/translation_test_runner.rb +10 -2
- data/lib/spec/version.rb +1 -1
- data/test/spec/api/helper/arbitrary_predicate_test.rb +49 -73
- data/test/spec/api/helper/diff_test.rb +60 -0
- data/test/spec/api/helper/equality_test.rb +14 -0
- data/test/spec/api/helper/should_have_test.rb +0 -29
- data/test/spec/api/helper/typing_test.rb +87 -87
- data/test/spec/api/sugar_test.rb +0 -6
- data/test/spec/runner/backtrace_tweaker_test.rb +8 -2
- data/test/spec/runner/html_formatter_test.rb +47 -0
- data/test/spec/runner/option_parser_test.rb +0 -5
- data/test/test_classes.rb +73 -0
- data/test/test_helper.rb +3 -0
- metadata +8 -49
- data/doc/README +0 -3
- data/doc/config.yaml +0 -2
- data/doc/plugin/syntax.rb +0 -60
- data/doc/plugin/version.rb +0 -19
- data/doc/src/core_team.page +0 -31
- data/doc/src/default.css +0 -199
- data/doc/src/default.template +0 -31
- data/doc/src/documentation/index.page +0 -188
- data/doc/src/documentation/meta.info +0 -22
- data/doc/src/documentation/mocks.page +0 -287
- data/doc/src/documentation/underscores.page +0 -21
- data/doc/src/examples.page +0 -9
- data/doc/src/images/David_and_Aslak.jpg +0 -0
- data/doc/src/images/Whats_That_Dude.jpg +0 -0
- data/doc/src/images/ducks1.png +0 -0
- data/doc/src/images/ul.gif +0 -0
- data/doc/src/index.page +0 -74
- data/doc/src/meta.info +0 -33
- data/doc/src/tools/index.page +0 -49
- data/doc/src/tools/meta.info +0 -18
- data/doc/src/tools/rails.page +0 -132
- data/doc/src/tools/rake.page +0 -21
- data/doc/src/tools/rcov.page +0 -28
- data/doc/src/tools/spec.page +0 -129
- data/doc/src/tools/test2spec.page +0 -103
- data/doc/src/tutorials/index.page +0 -52
- data/doc/src/tutorials/meta.info +0 -36
- data/doc/src/tutorials/notes.txt +0 -263
- data/doc/src/tutorials/stack.rb +0 -11
- data/doc/src/tutorials/stack_01.page +0 -226
- data/doc/src/tutorials/stack_02.page +0 -182
- data/doc/src/tutorials/stack_03.page +0 -283
- data/doc/src/tutorials/stack_04.page +0 -164
- data/doc/src/tutorials/stack_04.page.orig +0 -123
- data/doc/src/tutorials/stack_05.page +0 -90
- data/doc/src/tutorials/stack_05.page.orig +0 -124
- data/doc/src/tutorials/stack_06.page +0 -359
- data/doc/src/tutorials/stack_06.page.orig +0 -359
- data/doc/src/tutorials/stack_spec.rb +0 -25
- data/doc/src/ul.gif +0 -0
data/test/spec/api/sugar_test.rb
CHANGED
@@ -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
|
75
|
-
@error.set_backtrace ["
|
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
|
@@ -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
|
+
|
data/test/test_helper.rb
CHANGED
@@ -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.
|
7
|
-
date: 2006-06-
|
8
|
-
summary: RSpec-0.5.
|
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
data/doc/config.yaml
DELETED
data/doc/plugin/syntax.rb
DELETED
@@ -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
|
data/doc/plugin/version.rb
DELETED
@@ -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
|
data/doc/src/core_team.page
DELETED
@@ -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)
|
data/doc/src/default.css
DELETED
@@ -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; }
|