markaby 0.9.0 → 0.9.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,9 @@
1
+ require "markaby/html5"
2
+
1
3
  module Markaby
2
4
  module BuilderTags
3
5
  (HTML5.tags - [:head]).each do |k|
4
- class_eval <<-CODE, __FILE__, __LINE__
6
+ class_eval <<-CODE, __FILE__, __LINE__ + 1
5
7
  def #{k}(*args, &block)
6
8
  html_tag(#{k.inspect}, *args, &block)
7
9
  end
@@ -28,8 +30,8 @@ module Markaby
28
30
  # set to <tt>text/html; charset=utf-8</tt>.
29
31
  def head(*args, &block)
30
32
  tag!(:head, *args) do
31
- tag!(:meta, "http-equiv" => "Content-Type", "content" => "text/html; charset=utf-8") if @output_meta_tag == 'xhtml'
32
- tag!(:meta, "charset" => "utf-8") if @output_meta_tag == 'html5'
33
+ tag!(:meta, "http-equiv" => "Content-Type", "content" => "text/html; charset=utf-8") if @output_meta_tag == "xhtml"
34
+ tag!(:meta, "charset" => "utf-8") if @output_meta_tag == "html5"
33
35
  instance_eval(&block)
34
36
  end
35
37
  end
@@ -64,7 +66,7 @@ module Markaby
64
66
  raise NotImplementedError, "Deprecated! Call self.tagset = Markaby::HTML5"
65
67
  end
66
68
 
67
- private
69
+ private
68
70
 
69
71
  def xhtml_html(attrs = {}, &block)
70
72
  instruct! if @output_xml_instruction
@@ -6,9 +6,9 @@ module Markaby
6
6
  class CssProxy
7
7
  def initialize(builder, stream, sym)
8
8
  @builder = builder
9
- @stream = stream
10
- @sym = sym
11
- @attrs = {}
9
+ @stream = stream
10
+ @sym = sym
11
+ @attrs = {}
12
12
 
13
13
  @original_stream_length = @stream.length
14
14
 
@@ -16,10 +16,10 @@ module Markaby
16
16
  end
17
17
 
18
18
  def respond_to?(sym, include_private = false)
19
- include_private || !private_methods.map { |m| m.to_sym }.include?(sym.to_sym) ? true : false
19
+ (include_private || !private_methods.map { |m| m.to_sym }.include?(sym.to_sym)) ? true : false
20
20
  end
21
21
 
22
- private
22
+ private
23
23
 
24
24
  # Adds attributes to an element. Bang methods set the :id attribute.
25
25
  # Other methods add to the :class attribute.
@@ -0,0 +1,118 @@
1
+ require "markaby/xhtml_transitional"
2
+ module Markaby
3
+ class HTML5 < Tagset
4
+ class << self
5
+ def default_options
6
+ super.merge({
7
+ output_xml_instruction: false,
8
+ output_meta_tag: "html5",
9
+ root_attributes: {}
10
+ })
11
+ end
12
+
13
+ def custom_element? tag_name
14
+ tag_name.to_s.include? "_"
15
+ end
16
+
17
+ def can_handle? tag_name
18
+ custom_element? tag_name
19
+ end
20
+
21
+ def handle_tag tag_name, builder, *args, &block
22
+ builder.tag! tag_name, *args, &block
23
+ end
24
+
25
+ def validate_and_transform_tag_name! tag_name
26
+ custom_element?(tag_name) ? custom_element_tag_for(tag_name) : super
27
+ end
28
+
29
+ def custom_element_tag_for tag_name
30
+ tag_name.to_s.tr("_", "-").to_sym
31
+ end
32
+
33
+ def validate_attribute! tag_name, attribute_name
34
+ custom_element?(tag_name) || super
35
+ end
36
+ end
37
+
38
+ @doctype = ["html"]
39
+ @tagset = XHTMLTransitional.tagset.merge({
40
+ abbr: Attrs,
41
+ article: Attrs,
42
+ aside: Attrs,
43
+ audio: Attrs,
44
+ bdi: Attrs,
45
+ canvas: Attrs,
46
+ command: Attrs,
47
+ datalist: Attrs,
48
+ details: Attrs,
49
+ embed: Attrs,
50
+ figure: Attrs,
51
+ figcaption: Attrs,
52
+ footer: Attrs,
53
+ header: Attrs,
54
+ hgroup: Attrs,
55
+ keygen: Attrs,
56
+ mark: Attrs,
57
+ menu: Attrs,
58
+ meter: Attrs,
59
+ nav: Attrs,
60
+ output: Attrs,
61
+ progress: Attrs,
62
+ rp: Attrs,
63
+ rt: Attrs,
64
+ ruby: Attrs,
65
+ section: Attrs,
66
+ source: Attrs,
67
+ time: Attrs,
68
+ track: Attrs,
69
+ video: Attrs,
70
+ wbr: Attrs
71
+ })
72
+
73
+ # Additional attributes found in HTML5
74
+ additional_tags = {
75
+ a: [:media, :download, :ping],
76
+ area: [:media, :download, :ping, :hreflang, :rel, :type],
77
+ base: [:target],
78
+ button: [:autofocus, :form, :formaction, :formenctype, :formmethod,
79
+ :formnovalidate, :formtarget],
80
+ fieldset: [:form, :disabled, :name],
81
+ form: [:novalidate],
82
+ label: [:form],
83
+ html: [:manifest],
84
+ iframe: [:sandbox, :seamless, :srcdoc],
85
+ img: [:crossorigin],
86
+ input: [:autofocus, :placeholder, :form, :required, :autocomplete,
87
+ :min, :max, :multiple, :pattern, :step, :list, :width, :height,
88
+ :dirname, :formaction, :formenctype, :formmethod,
89
+ :formnovalidate, :formtarget],
90
+ link: [:sizes],
91
+ meta: [:charset],
92
+ menu: [:type, :label],
93
+ object: [:form, :typemustmatch],
94
+ ol: [:reversed],
95
+ output: [:form],
96
+ script: [:async],
97
+ select: [:autofocus, :form, :required],
98
+ style: [:scoped],
99
+ textarea: [:autofocus, :placeholder, :form, :required, :dirname,
100
+ :maxlength, :wrap]
101
+ }
102
+
103
+ AttrsHTML5 = [:contenteditable, :contextmentu, :draggable, :dropzone,
104
+ :hidden, :role, :spellcheck, :translate]
105
+
106
+ additional_tags.each do |k, v|
107
+ @tagset[k] += v
108
+ end
109
+
110
+ @tagset.each do |k, v|
111
+ @tagset[k] += AttrsHTML5
112
+ end
113
+
114
+ @tags = @tagset.keys
115
+ @forms = @tags & FORM_TAGS
116
+ @self_closing = @tags & SELF_CLOSING_TAGS
117
+ end
118
+ end
@@ -1,9 +1,9 @@
1
1
  # You'll need to <tt>require 'markaby/kernel_method'</tt> for this.
2
- require 'markaby'
2
+ require "markaby"
3
3
 
4
4
  module Kernel
5
5
  # Shortcut for creating a quick block of Markaby.
6
- def mab(*args, &block)
7
- Markaby::Builder.new(*args, &block).to_s
6
+ def mab(...)
7
+ Markaby::Builder.new(...).to_s
8
8
  end
9
9
  end
data/lib/markaby/rails.rb CHANGED
@@ -1,10 +1,10 @@
1
- require 'markaby'
1
+ require "markaby"
2
2
 
3
3
  module Markaby
4
4
  module Rails
5
5
  class TemplateHandler
6
6
  class << self
7
- def register!(options={})
7
+ def register!(options = {})
8
8
  self.options = options
9
9
  ActionView::Template.register_template_handler(:mab, new)
10
10
  end
@@ -19,15 +19,15 @@ module Markaby
19
19
  end
20
20
 
21
21
  def options=(val)
22
- self.options.merge!(val)
23
- self.options
22
+ options.merge!(val)
23
+ options
24
24
  end
25
25
  end
26
26
 
27
- def call(template)
27
+ def call(template, source = template.source)
28
28
  <<-CODE
29
29
  Markaby::Builder.new(Markaby::Rails::TemplateHandler.options, self) do
30
- #{template.source}
30
+ #{source}
31
31
  end.to_s
32
32
  CODE
33
33
  end
@@ -0,0 +1,89 @@
1
+ module Markaby
2
+ FORM_TAGS = [:form, :input, :select, :textarea]
3
+ SELF_CLOSING_TAGS = [:area, :base, :br, :col, :command, :embed, :frame, :hr,
4
+ :img, :input, :keygen, :link, :meta, :param, :source,
5
+ :track, :wbr]
6
+
7
+ # Common sets of attributes.
8
+ AttrCore = [:id, :class, :style, :title]
9
+ AttrI18n = [:lang, :"xml:lang", :dir]
10
+ AttrEvents = [:onclick,
11
+ :ondblclick,
12
+ :onmousedown,
13
+ :onmouseup,
14
+ :onmouseover,
15
+ :onmousemove,
16
+ :onmouseout,
17
+ :onkeypress,
18
+ :onkeydown,
19
+ :onkeyup]
20
+ AttrFocus = [:accesskey, :tabindex, :onfocus, :onblur]
21
+ AttrHAlign = [:align, :char, :charoff]
22
+ AttrVAlign = [:valign]
23
+ Attrs = AttrCore + AttrI18n + AttrEvents
24
+
25
+ AttrsBoolean = [
26
+ :checked, :disabled, :multiple, :readonly, :selected, # standard forms
27
+ :autofocus, :required, :novalidate, :formnovalidate, # HTML5 forms
28
+ :defer, :ismap, # <script defer>, <img ismap>
29
+ :compact, :declare, :noresize, :noshade, :nowrap # deprecated or unused
30
+ ]
31
+ class Tagset
32
+ class << self
33
+ attr_accessor :tags, :tagset, :forms, :self_closing, :doctype
34
+
35
+ def default_options
36
+ {tagset: self}
37
+ end
38
+
39
+ def can_handle? tag_name
40
+ false
41
+ end
42
+
43
+ def handle_tag tag_name, builder, *args, &block
44
+ raise NoMethodError.new
45
+ end
46
+
47
+ def validate_and_transform_tag_name! tag_name
48
+ raise(InvalidXhtmlError, "no element `#{tag_name}' for #{doctype}") unless @tagset.has_key?(tag_name)
49
+ tag_name
50
+ end
51
+
52
+ def validate_and_transform_attributes! tag_name, *args
53
+ args.last.respond_to?(:to_hash) ? transform_attributes(tag_name, args.last.to_hash) : {}
54
+ end
55
+
56
+ def transform_attributes tag_name, attributes
57
+ attributes[:name] ||= attributes[:id] if forms.include?(tag_name) && attributes[:id]
58
+ attributes.transform_keys! { |name| transform_attribute_name name }
59
+ hashed_attributes = attributes.keys.select { |name| attributes[name].is_a? Hash }
60
+ hashed_attributes.each { |name| transform_attribute_hash attributes, name }
61
+ attributes.reject! { |name, value| name.nil? || (AttrsBoolean.include?(name) && value.nil?) }
62
+ attributes.keys.each { |name| validate_attribute! tag_name, name }
63
+ attributes
64
+ end
65
+
66
+ def transform_attribute_name name
67
+ name.to_s.downcase.tr("_", "-").to_sym
68
+ end
69
+
70
+ def transform_attribute_hash attributes, prefix
71
+ values = attributes[prefix]
72
+ expanded_attributes = {}
73
+ values.each do |suffix, value|
74
+ name = transform_attribute_name "#{prefix}-#{suffix}"
75
+ expanded_attributes[name] = value
76
+ end
77
+ attributes.merge!(expanded_attributes).delete(prefix)
78
+ end
79
+
80
+ def validate_attribute! tag_name, attribute_name
81
+ raise InvalidXhtmlError, "no attribute `#{attribute_name}' on #{tag_name} elements" unless valid_attribute_name? tag_name, attribute_name
82
+ end
83
+
84
+ def valid_attribute_name? tag_name, attribute_name
85
+ attribute_name.to_s.start_with?(":", "data-", "aria-") || @tagset[tag_name].include?(attribute_name)
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,7 @@
1
+ module Markaby
2
+ MAJOR = 0
3
+ MINOR = 9
4
+ TINY = 2
5
+
6
+ VERSION = "#{MAJOR}.#{MINOR}.#{TINY}"
7
+ end
@@ -0,0 +1,13 @@
1
+ module Markaby
2
+ class XHTMLFrameset < XmlTagset
3
+ @doctype = ["-//W3C//DTD XHTML 1.0 Frameset//EN", "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"]
4
+ @tagset = XHTMLTransitional.tagset.merge({
5
+ frameset: AttrCore + [:rows, :cols, :onload, :onunload],
6
+ frame: AttrCore + [:longdesc, :name, :src, :frameborder, :marginwidth, :marginheight, :noresize, :scrolling]
7
+ })
8
+
9
+ @tags = @tagset.keys
10
+ @forms = @tags & FORM_TAGS
11
+ @self_closing = @tags & SELF_CLOSING_TAGS
12
+ end
13
+ end
@@ -0,0 +1,89 @@
1
+ module Markaby
2
+ # All the tags and attributes from XHTML 1.0 Strict
3
+ class XHTMLStrict < XmlTagset
4
+ @doctype = ["-//W3C//DTD XHTML 1.0 Strict//EN", "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"]
5
+ @tagset = {
6
+ html: AttrI18n + [:id, :xmlns],
7
+ head: AttrI18n + [:id, :profile],
8
+ title: AttrI18n + [:id],
9
+ base: [:href, :id],
10
+ meta: AttrI18n + [:id, :http, :name, :content, :scheme, :"http-equiv"],
11
+ link: Attrs + [:charset, :href, :hreflang, :type, :rel, :rev, :media],
12
+ style: AttrI18n + [:id, :type, :media, :title, :"xml:space"],
13
+ script: [:id, :charset, :type, :src, :defer, :"xml:space"],
14
+ noscript: Attrs,
15
+ body: Attrs + [:onload, :onunload],
16
+ div: Attrs,
17
+ p: Attrs,
18
+ ul: Attrs,
19
+ ol: Attrs,
20
+ li: Attrs,
21
+ dl: Attrs,
22
+ dt: Attrs,
23
+ dd: Attrs,
24
+ address: Attrs,
25
+ hr: Attrs,
26
+ pre: Attrs + [:"xml:space"],
27
+ blockquote: Attrs + [:cite],
28
+ ins: Attrs + [:cite, :datetime],
29
+ del: Attrs + [:cite, :datetime],
30
+ a: Attrs + AttrFocus + [:charset, :type, :name, :href, :hreflang, :rel, :rev, :shape, :coords],
31
+ span: Attrs,
32
+ bdo: AttrCore + AttrEvents + [:lang, :"xml:lang", :dir],
33
+ br: AttrCore,
34
+ em: Attrs,
35
+ strong: Attrs,
36
+ dfn: Attrs,
37
+ code: Attrs,
38
+ samp: Attrs,
39
+ kbd: Attrs,
40
+ var: Attrs,
41
+ cite: Attrs,
42
+ abbr: Attrs,
43
+ acronym: Attrs,
44
+ q: Attrs + [:cite],
45
+ sub: Attrs,
46
+ sup: Attrs,
47
+ tt: Attrs,
48
+ i: Attrs,
49
+ b: Attrs,
50
+ big: Attrs,
51
+ small: Attrs,
52
+ object: Attrs + [:declare, :classid, :codebase, :data, :type, :codetype, :archive, :standby, :height, :width, :usemap, :name, :tabindex],
53
+ param: [:id, :name, :value, :valuetype, :type],
54
+ img: Attrs + [:src, :alt, :longdesc, :height, :width, :usemap, :ismap],
55
+ map: AttrI18n + AttrEvents + [:id, :class, :style, :title, :name],
56
+ area: Attrs + AttrFocus + [:shape, :coords, :href, :nohref, :alt],
57
+ form: Attrs + [:action, :method, :enctype, :onsubmit, :onreset, :accept, :accept],
58
+ label: Attrs + [:for, :accesskey, :onfocus, :onblur],
59
+ input: Attrs + AttrFocus + [:type, :name, :value, :checked, :disabled, :readonly, :size, :maxlength, :src, :alt, :usemap, :onselect, :onchange, :accept],
60
+ select: Attrs + [:name, :size, :multiple, :disabled, :tabindex, :onfocus, :onblur, :onchange],
61
+ optgroup: Attrs + [:disabled, :label],
62
+ option: Attrs + [:selected, :disabled, :label, :value],
63
+ textarea: Attrs + AttrFocus + [:name, :rows, :cols, :disabled, :readonly, :onselect, :onchange],
64
+ fieldset: Attrs,
65
+ legend: Attrs + [:accesskey],
66
+ button: Attrs + AttrFocus + [:name, :value, :type, :disabled],
67
+ table: Attrs + [:summary, :width, :border, :frame, :rules, :cellspacing, :cellpadding],
68
+ caption: Attrs,
69
+ colgroup: Attrs + AttrHAlign + AttrVAlign + [:span, :width],
70
+ col: Attrs + AttrHAlign + AttrVAlign + [:span, :width],
71
+ thead: Attrs + AttrHAlign + AttrVAlign,
72
+ tfoot: Attrs + AttrHAlign + AttrVAlign,
73
+ tbody: Attrs + AttrHAlign + AttrVAlign,
74
+ tr: Attrs + AttrHAlign + AttrVAlign,
75
+ th: Attrs + AttrHAlign + AttrVAlign + [:abbr, :axis, :headers, :scope, :rowspan, :colspan],
76
+ td: Attrs + AttrHAlign + AttrVAlign + [:abbr, :axis, :headers, :scope, :rowspan, :colspan],
77
+ h1: Attrs,
78
+ h2: Attrs,
79
+ h3: Attrs,
80
+ h4: Attrs,
81
+ h5: Attrs,
82
+ h6: Attrs
83
+ }
84
+
85
+ @tags = @tagset.keys
86
+ @forms = @tags & FORM_TAGS
87
+ @self_closing = @tags & SELF_CLOSING_TAGS
88
+ end
89
+ end
@@ -0,0 +1,61 @@
1
+ require "markaby/xml_tagset"
2
+ require "markaby/xhtml_strict"
3
+ module Markaby
4
+ # Additional tags found in XHTML 1.0 Transitional
5
+ class XHTMLTransitional < XmlTagset
6
+ @doctype = ["-//W3C//DTD XHTML 1.0 Transitional//EN", "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"]
7
+ @tagset = XHTMLStrict.tagset.merge({
8
+ strike: Attrs,
9
+ center: Attrs,
10
+ dir: Attrs + [:compact],
11
+ noframes: Attrs,
12
+ basefont: [:id, :size, :color, :face],
13
+ u: Attrs,
14
+ menu: Attrs + [:compact],
15
+ iframe: AttrCore + [:longdesc, :name, :src, :frameborder, :marginwidth, :marginheight, :scrolling, :align, :height, :width],
16
+ font: AttrCore + AttrI18n + [:size, :color, :face],
17
+ s: Attrs,
18
+ applet: AttrCore + [:codebase, :archive, :code, :object, :alt, :name, :width, :height, :align, :hspace, :vspace],
19
+ isindex: AttrCore + AttrI18n + [:prompt]
20
+ })
21
+
22
+ # Additional attributes found in XHTML 1.0 Transitional
23
+ additional_tags = {
24
+ script: [:language],
25
+ a: [:target],
26
+ td: [:bgcolor, :nowrap, :width, :height],
27
+ p: [:align],
28
+ h5: [:align],
29
+ h3: [:align],
30
+ li: [:type, :value],
31
+ div: [:align],
32
+ pre: [:width],
33
+ body: [:background, :bgcolor, :text, :link, :vlink, :alink],
34
+ ol: [:type, :compact, :start],
35
+ h4: [:align],
36
+ h2: [:align],
37
+ object: [:align, :border, :hspace, :vspace],
38
+ img: [:name, :align, :border, :hspace, :vspace],
39
+ link: [:target],
40
+ legend: [:align],
41
+ dl: [:compact],
42
+ input: [:align],
43
+ h6: [:align],
44
+ hr: [:align, :noshade, :size, :width],
45
+ base: [:target],
46
+ ul: [:type, :compact],
47
+ br: [:clear],
48
+ form: [:name, :target],
49
+ area: [:target],
50
+ h1: [:align]
51
+ }
52
+
53
+ additional_tags.each do |k, v|
54
+ @tagset[k] += v
55
+ end
56
+
57
+ @tags = @tagset.keys
58
+ @forms = @tags & FORM_TAGS
59
+ @self_closing = @tags & SELF_CLOSING_TAGS
60
+ end
61
+ end
@@ -0,0 +1,19 @@
1
+ require "markaby/tagset"
2
+ module Markaby
3
+ # Additional tags found in XHTML 1.0 Frameset
4
+ class XmlTagset < Tagset
5
+ class << self
6
+ def default_options
7
+ super.merge({
8
+ output_xml_instruction: true,
9
+ output_meta_tag: "xhtml",
10
+ root_attributes: {
11
+ xmlns: "http://www.w3.org/1999/xhtml",
12
+ "xml:lang": "en",
13
+ lang: "en"
14
+ }
15
+ })
16
+ end
17
+ end
18
+ end
19
+ end
data/lib/markaby.rb CHANGED
@@ -4,7 +4,7 @@
4
4
  # as well as the full set of Markaby classes.
5
5
  #
6
6
  # For a full list of features and instructions, see the README.
7
- $:.unshift File.expand_path(File.dirname(__FILE__))
7
+ $:.unshift __dir__
8
8
 
9
9
  # Markaby is a module containing all of the great Markaby classes that
10
10
  # do such an excellent job.
@@ -17,15 +17,11 @@ $:.unshift File.expand_path(File.dirname(__FILE__))
17
17
  # * Markaby::Tags: lists the roles of various XHTML tags to help Builder
18
18
  # use these tags as they are intended.
19
19
  module Markaby
20
- MAJOR = 0
21
- MINOR = 9
22
- TINY = 0
23
-
24
- VERSION = "#{MAJOR}.#{MINOR}.#{TINY}"
25
-
26
20
  class InvalidXhtmlError < StandardError; end
27
21
  end
28
22
 
29
- require 'builder' unless defined?(Builder)
30
- require 'markaby/builder'
31
- require 'markaby/cssproxy'
23
+ require "markaby/version"
24
+ require "builder" unless defined?(Builder)
25
+ require "markaby/tagset"
26
+ require "markaby/builder"
27
+ require "markaby/cssproxy"
@@ -39,7 +39,7 @@ module Markaby
39
39
  end
40
40
  end.new
41
41
 
42
- builder = Markaby::Builder.new({:helpers => nil}, helper)
42
+ builder = Markaby::Builder.new({helpers: nil}, helper)
43
43
  builder.some_method.should == "a value"
44
44
  end
45
45
  end
@@ -9,34 +9,35 @@ describe Markaby::CssProxy do
9
9
  end
10
10
 
11
11
  def mock_builder
12
- mock_builder = Class.new do
13
- def tag!(*args); end
12
+ Class.new do
13
+ def tag!(*args)
14
+ end
14
15
  end.new
15
16
  end
16
17
 
17
18
  it "responds_to_everything" do
18
- proxy = Markaby::CssProxy.new(mock_builder, 'stream', :sym)
19
- proxy.respond_to?(:any_method).should be_true
20
- proxy.respond_to?(:foobarbazasdfasdfadfs).should be_true
19
+ proxy = Markaby::CssProxy.new(mock_builder, "stream", :sym)
20
+ proxy.respond_to?(:any_method).should be true
21
+ proxy.respond_to?(:foobarbazasdfasdfadfs).should be true
21
22
  end
22
23
 
23
24
  it "does_not_respond_to_method_missing" do
24
- proxy = Markaby::CssProxy.new(mock_builder, 'stream', :sym)
25
+ proxy = Markaby::CssProxy.new(mock_builder, "stream", :sym)
25
26
  proxy.should_not respond_to(:method_missing)
26
27
  end
27
28
 
28
29
  it "does_respond_to_private_instance_methods_with_private_flag_set_to_true" do
29
- proxy = Markaby::CssProxy.new(mock_builder, 'stream', :sym)
30
- proxy.respond_to?(:method_missing, true).should be_true
30
+ proxy = Markaby::CssProxy.new(mock_builder, "stream", :sym)
31
+ proxy.respond_to?(:method_missing, true).should be true
31
32
  end
32
33
 
33
34
  it "does_not_respond_to_private_instance_methods_with_private_flag_set_to_false" do
34
- proxy = Markaby::CssProxy.new(mock_builder, 'stream', :sym)
35
- proxy.respond_to?(:method_missing, false).should be_false
35
+ proxy = Markaby::CssProxy.new(mock_builder, "stream", :sym)
36
+ proxy.respond_to?(:method_missing, false).should be false
36
37
  end
37
38
 
38
39
  it "respond_to_should_always_return_boolean" do
39
- proxy = Markaby::CssProxy.new(mock_builder, 'stream', :sym)
40
- proxy.respond_to?(:method_missing, :a_value).should be_true
40
+ proxy = Markaby::CssProxy.new(mock_builder, "stream", :sym)
41
+ proxy.respond_to?(:method_missing, :a_value).should be true
41
42
  end
42
43
  end