aboutsummaryrefslogtreecommitdiffstats
path: root/script/direct-rspec
blob: 50a1daba15b67bbe0d7b8bc24ad37497812dc095 (plain)
1
2
3
4
5
6
7
8
#!/bin/bash

./vendor/plugins/rspec/bin/spec $1

# spec/controllers/request_controller_spec.rb

#ruby -I/home/francis/keep/devel/mysociety/foi/vendor/plugins/rspec/lib /home/francis/keep/devel/mysociety/foi/vendor/plugins/rspec/bin/spec spec/controllers/admin_public_body_controller_spec.rb spec/controllers/application_spec.rb spec/controllers/request_controller_spec.rb spec/controllers/user_controller_spec.rb spec/controllers/admin_controller_spec.rb spec/controllers/body_controller_spec.rb spec/models/incoming_message_spec.rb spec/models/user_spec.rb spec/models/request_mailer_spec.rb spec/models/post_redirect_spec.rb spec/models/public_body_spec.rb spec/models/info_request_spec.rb spec/models/user_mailer_spec.rb spec/models/outgoing_message_spec.rb --options /home/francis/keep/devel/mysociety/foi/spec/spec.opts
ef='#n178'>178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320
require 'stringio'
require 'rubygems'
require 'minitest/unit'
require 'rdoc/ri/formatter'
require 'rdoc/markup/to_flow'

class TestRDocRIFormatter < MiniTest::Unit::TestCase

  def setup
    @output = StringIO.new
    @width = 78
    @indent = '  '

    @f = RDoc::RI::Formatter.new @output, @width, @indent
    @markup = RDoc::Markup.new
    @flow = RDoc::Markup::ToFlow.new
  end

  def test_blankline
    @f.blankline

    assert_equal "\n", @output.string
  end

  def test_bold_print
    @f.bold_print 'a b c'

    assert_equal 'a b c', @output.string
  end

  def test_break_to_newline
    @f.break_to_newline

    assert_equal '', @output.string
  end

  def test_conv_html
    assert_equal '> < " &', @f.conv_html('&gt; &lt; &quot; &amp;')
  end

  def test_conv_markup
    text = '<tt>a</tt> <code>b</code> <b>c</b> <em>d</em>'

    expected = '+a+ +b+ *c* _d_'

    assert_equal expected, @f.conv_markup(text)
  end

  def test_display_flow
    flow = [
      RDoc::Markup::Flow::H.new(1, 'heading'),
      RDoc::Markup::Flow::P.new('paragraph'),
    ]

    @f.display_flow flow

    assert_equal "\nHEADING\n=======\n\n  paragraph\n\n", @output.string
  end

  def test_display_flow_item_h
    item = RDoc::Markup::Flow::H.new 1, 'heading'

    @f.display_flow_item item

    assert_equal "\nHEADING\n=======\n\n", @output.string
  end

  def test_display_flow_item_li
    item = RDoc::Markup::Flow::LI.new nil, 'paragraph'

    @f.display_flow_item item

    assert_equal "  paragraph\n\n", @output.string
  end

  def test_display_flow_item_list
    item = RDoc::Markup::Flow::LIST.new :NUMBER

    @f.display_flow_item item

    assert_equal "", @output.string
  end

  def test_display_flow_item_p
    item = RDoc::Markup::Flow::P.new 'paragraph'

    @f.display_flow_item item

    assert_equal "  paragraph\n\n", @output.string
  end

  def test_display_flow_item_rule
    item = RDoc::Markup::Flow::RULE.new 1

    @f.display_flow_item item

    assert_equal "#{'-' * 78}\n", @output.string
  end

  def test_display_flow_item_unknown
    e = assert_raises RDoc::Error do
      @f.display_flow_item Object.new
    end

    assert_equal "Unknown flow element: Object", e.message
  end

  def test_display_flow_item_verb
    item = RDoc::Markup::Flow::VERB.new 'a b c'

    @f.display_flow_item item

    assert_equal "  a b c\n\n", @output.string
  end

  def test_display_heading_1
    @f.display_heading 'heading', 1, '  '

    assert_equal "\nHEADING\n=======\n\n", @output.string
  end

  def test_display_heading_2
    @f.display_heading 'heading', 2, '  '

    assert_equal "\nheading\n-------\n\n", @output.string
  end

  def test_display_heading_3
    @f.display_heading 'heading', 3, '  '

    assert_equal "  heading\n\n", @output.string
  end

  def test_display_list
    list = RDoc::Markup::Flow::LIST.new :NUMBER
    list << RDoc::Markup::Flow::LI.new(nil, 'a b c')
    list << RDoc::Markup::Flow::LI.new(nil, 'd e f')

    @f.display_list list

    assert_equal "  1.  a b c\n\n  2.  d e f\n\n", @output.string
  end

  def test_display_list_bullet
    list = RDoc::Markup::Flow::LIST.new :BULLET
    list << RDoc::Markup::Flow::LI.new(nil, 'a b c')

    @f.display_list list

    assert_equal "  *   a b c\n\n", @output.string
  end

  def test_display_list_labeled
    list = RDoc::Markup::Flow::LIST.new :LABELED
    list << RDoc::Markup::Flow::LI.new('label', 'a b c')

    @f.display_list list

    assert_equal "  label a b c\n\n", @output.string
  end

  def test_display_list_lower_alpha
    list = RDoc::Markup::Flow::LIST.new :LOWERALPHA
    list << RDoc::Markup::Flow::LI.new(nil, 'a b c')

    @f.display_list list

    assert_equal "  a.  a b c\n\n", @output.string
  end

  def test_display_list_note
    list = RDoc::Markup::Flow::LIST.new :NOTE
    list << RDoc::Markup::Flow::LI.new('note:', 'a b c')

    @f.display_list list

    assert_equal "  note: a b c\n\n", @output.string
  end

  def test_display_list_number
    list = RDoc::Markup::Flow::LIST.new :NUMBER
    list << RDoc::Markup::Flow::LI.new(nil, 'a b c')

    @f.display_list list

    assert_equal "  1.  a b c\n\n", @output.string
  end

  def test_display_list_unknown
    list = RDoc::Markup::Flow::LIST.new :UNKNOWN
    list << RDoc::Markup::Flow::LI.new(nil, 'a b c')

    e = assert_raises ArgumentError do
      @f.display_list list
    end

    assert_equal 'unknown list type UNKNOWN', e.message
  end

  def test_display_list_upper_alpha
    list = RDoc::Markup::Flow::LIST.new :UPPERALPHA
    list << RDoc::Markup::Flow::LI.new(nil, 'a b c')

    @f.display_list list

    assert_equal "  A.  a b c\n\n", @output.string
  end

  def test_display_verbatim_flow_item
    verbatim = RDoc::Markup::Flow::VERB.new "a b c\nd e f"

    @f.display_verbatim_flow_item verbatim

    assert_equal "  a b c\n  d e f\n\n", @output.string
  end

  def test_display_verbatim_flow_item_bold
    verbatim = RDoc::Markup::Flow::VERB.new "*a* b c"

    @f.display_verbatim_flow_item verbatim

    assert_equal "  *a* b c\n\n", @output.string
  end

  def test_draw_line
    @f.draw_line

    expected = '-' * @width + "\n"
    assert_equal expected, @output.string
  end

  def test_draw_line_label
    @f.draw_line 'label'

    expected = '-' * (@width - 6) + " label\n"
    assert_equal expected, @output.string
  end

  def test_draw_line_label_long
    @f.draw_line 'a' * @width

    expected = '-' * @width + "\n" + ('a' * @width) + "\n"
    assert_equal expected, @output.string
  end

  def test_raw_print_line
    @f.raw_print_line 'a b c'

    assert_equal "a b c", @output.string
  end

  def test_strip_attributes_b
    text = @f.strip_attributes 'hello <b>world</b>'

    expected = 'hello world'

    assert_equal expected, text
  end

  def test_strip_attributes_code
    text = @f.strip_attributes 'hello <code>world</code>'

    expected = 'hello world'

    assert_equal expected, text
  end

  def test_strip_attributes_em
    text = @f.strip_attributes 'hello <em>world</em>'

    expected = 'hello world'

    assert_equal expected, text
  end

  def test_strip_attributes_i
    text = @f.strip_attributes 'hello <i>world</i>'

    expected = 'hello world'

    assert_equal expected, text
  end

  def test_strip_attributes_tt
    text = @f.strip_attributes 'hello <tt>world</tt>'

    expected = 'hello world'

    assert_equal expected, text
  end

  def test_wrap_empty
    @f.wrap ''
    assert_equal '', @output.string
  end

  def test_wrap_long
    @f.wrap 'a ' * (@width / 2)
    assert_equal "  a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a\n  a \n",
                 @output.string
  end

  def test_wrap_markup
    @f.wrap 'a <tt>b</tt> c'
    assert_equal "  a +b+ c\n", @output.string
  end

  def test_wrap_nil
    @f.wrap nil
    assert_equal '', @output.string
  end

  def test_wrap_short
    @f.wrap 'a b c'
    assert_equal "  a b c\n", @output.string
  end

end

MiniTest::Unit.autorun