rsel 0.0.1 → 0.0.2
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/.gitignore +1 -0
 - data/docs/history.md +15 -0
 - data/docs/index.md +1 -0
 - data/docs/todo.md +4 -5
 - data/lib/rsel/selenium_test.rb +90 -44
 - data/rsel.gemspec +1 -1
 - data/spec/selenium_test_spec.rb +160 -45
 - data/test/app.rb +4 -0
 - data/test/views/thanks.erb +8 -0
 - metadata +6 -4
 
    
        data/.gitignore
    CHANGED
    
    
    
        data/docs/history.md
    ADDED
    
    
    
        data/docs/index.md
    CHANGED
    
    
    
        data/docs/todo.md
    CHANGED
    
    | 
         @@ -7,9 +7,8 @@ To-do list 
     | 
|
| 
       7 
7 
     | 
    
         
             
              mark the step as failed)
         
     | 
| 
       8 
8 
     | 
    
         
             
            - Find a way to abort a test if something goes catastrophically wrong (such as
         
     | 
| 
       9 
9 
     | 
    
         
             
              being unable to connect to the Selenium server)
         
     | 
| 
      
 10 
     | 
    
         
            +
            - Verify the presence of images, links, buttons, checkboxes, etc.
         
     | 
| 
      
 11 
     | 
    
         
            +
            - Click on images
         
     | 
| 
      
 12 
     | 
    
         
            +
            - Support scoping qualifiers (somewhat like Kelp does)
         
     | 
| 
       10 
13 
     | 
    
         | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
            - dropdown_includes
         
     | 
| 
       14 
     | 
    
         
            -
            - dropdown_equals
         
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
      
 14 
     | 
    
         
            +
            Next: [History](history.md)
         
     | 
    
        data/lib/rsel/selenium_test.rb
    CHANGED
    
    | 
         @@ -114,7 +114,7 @@ module Rsel 
     | 
|
| 
       114 
114 
     | 
    
         
             
                # Reload the current page.
         
     | 
| 
       115 
115 
     | 
    
         
             
                #
         
     | 
| 
       116 
116 
     | 
    
         
             
                # @example
         
     | 
| 
       117 
     | 
    
         
            -
                #   |  
     | 
| 
      
 117 
     | 
    
         
            +
                #   | Refresh page |
         
     | 
| 
       118 
118 
     | 
    
         
             
                #
         
     | 
| 
       119 
119 
     | 
    
         
             
                def refresh_page
         
     | 
| 
       120 
120 
     | 
    
         
             
                  return_error_status do
         
     | 
| 
         @@ -126,7 +126,7 @@ module Rsel 
     | 
|
| 
       126 
126 
     | 
    
         
             
                # Maximize the browser window. May not work in some browsers.
         
     | 
| 
       127 
127 
     | 
    
         
             
                #
         
     | 
| 
       128 
128 
     | 
    
         
             
                # @example
         
     | 
| 
       129 
     | 
    
         
            -
                #   |  
     | 
| 
      
 129 
     | 
    
         
            +
                #   | Maximize browser |
         
     | 
| 
       130 
130 
     | 
    
         
             
                #
         
     | 
| 
       131 
131 
     | 
    
         
             
                def maximize_browser
         
     | 
| 
       132 
132 
     | 
    
         
             
                  @browser.window_maximize
         
     | 
| 
         @@ -186,6 +186,38 @@ module Rsel 
     | 
|
| 
       186 
186 
     | 
    
         
             
                end
         
     | 
| 
       187 
187 
     | 
    
         | 
| 
       188 
188 
     | 
    
         | 
| 
      
 189 
     | 
    
         
            +
                # Ensure that a link exists on the page.
         
     | 
| 
      
 190 
     | 
    
         
            +
                #
         
     | 
| 
      
 191 
     | 
    
         
            +
                # @param [String] locator
         
     | 
| 
      
 192 
     | 
    
         
            +
                #   Text or id of the link, or image alt text
         
     | 
| 
      
 193 
     | 
    
         
            +
                #
         
     | 
| 
      
 194 
     | 
    
         
            +
                # @example
         
     | 
| 
      
 195 
     | 
    
         
            +
                #   | Link | Logout | exists |
         
     | 
| 
      
 196 
     | 
    
         
            +
                #   | Link exists | Logout |
         
     | 
| 
      
 197 
     | 
    
         
            +
                #
         
     | 
| 
      
 198 
     | 
    
         
            +
                # @since 0.0.2
         
     | 
| 
      
 199 
     | 
    
         
            +
                #
         
     | 
| 
      
 200 
     | 
    
         
            +
                def link_exists(locator)
         
     | 
| 
      
 201 
     | 
    
         
            +
                  return @browser.element?(xpath('link', locator))
         
     | 
| 
      
 202 
     | 
    
         
            +
                end
         
     | 
| 
      
 203 
     | 
    
         
            +
             
     | 
| 
      
 204 
     | 
    
         
            +
             
     | 
| 
      
 205 
     | 
    
         
            +
                # Ensure that a button exists on the page.
         
     | 
| 
      
 206 
     | 
    
         
            +
                #
         
     | 
| 
      
 207 
     | 
    
         
            +
                # @param [String] locator
         
     | 
| 
      
 208 
     | 
    
         
            +
                #   Text, value, or id of the button
         
     | 
| 
      
 209 
     | 
    
         
            +
                #
         
     | 
| 
      
 210 
     | 
    
         
            +
                # @example
         
     | 
| 
      
 211 
     | 
    
         
            +
                #   | Button | Search | exists |
         
     | 
| 
      
 212 
     | 
    
         
            +
                #   | Button exists | Search |
         
     | 
| 
      
 213 
     | 
    
         
            +
                #
         
     | 
| 
      
 214 
     | 
    
         
            +
                # @since 0.0.2
         
     | 
| 
      
 215 
     | 
    
         
            +
                #
         
     | 
| 
      
 216 
     | 
    
         
            +
                def button_exists(locator)
         
     | 
| 
      
 217 
     | 
    
         
            +
                  return @browser.element?(xpath('button', locator))
         
     | 
| 
      
 218 
     | 
    
         
            +
                end
         
     | 
| 
      
 219 
     | 
    
         
            +
             
     | 
| 
      
 220 
     | 
    
         
            +
             
     | 
| 
       189 
221 
     | 
    
         
             
                # Type a value into the given field.
         
     | 
| 
       190 
222 
     | 
    
         
             
                #
         
     | 
| 
       191 
223 
     | 
    
         
             
                # @param [String] text
         
     | 
| 
         @@ -271,53 +303,38 @@ module Rsel 
     | 
|
| 
       271 
303 
     | 
    
         
             
                # Click on a link.
         
     | 
| 
       272 
304 
     | 
    
         
             
                #
         
     | 
| 
       273 
305 
     | 
    
         
             
                # @param [String] locator
         
     | 
| 
       274 
     | 
    
         
            -
                #    
     | 
| 
      
 306 
     | 
    
         
            +
                #   Text or id of the link, or image alt text
         
     | 
| 
       275 
307 
     | 
    
         
             
                #
         
     | 
| 
       276 
308 
     | 
    
         
             
                # @example
         
     | 
| 
       277 
309 
     | 
    
         
             
                #   | Click | Logout | link |
         
     | 
| 
       278 
310 
     | 
    
         
             
                #   | Click link | Logout |
         
     | 
| 
      
 311 
     | 
    
         
            +
                #   | Follow | Logout |
         
     | 
| 
       279 
312 
     | 
    
         
             
                #
         
     | 
| 
       280 
313 
     | 
    
         
             
                def click_link(locator)
         
     | 
| 
       281 
314 
     | 
    
         
             
                  return_error_status do
         
     | 
| 
       282 
315 
     | 
    
         
             
                    @browser.click(xpath('link', locator))
         
     | 
| 
       283 
316 
     | 
    
         
             
                  end
         
     | 
| 
       284 
317 
     | 
    
         
             
                end
         
     | 
| 
       285 
     | 
    
         
            -
             
     | 
| 
       286 
     | 
    
         
            -
             
     | 
| 
       287 
     | 
    
         
            -
                # Alias for {#click_link}.
         
     | 
| 
       288 
     | 
    
         
            -
                #
         
     | 
| 
       289 
     | 
    
         
            -
                # @example
         
     | 
| 
       290 
     | 
    
         
            -
                #   | Follow | Logout |
         
     | 
| 
       291 
     | 
    
         
            -
                #
         
     | 
| 
       292 
     | 
    
         
            -
                def follow(locator)
         
     | 
| 
       293 
     | 
    
         
            -
                  click_link(locator)
         
     | 
| 
       294 
     | 
    
         
            -
                end
         
     | 
| 
      
 318 
     | 
    
         
            +
                alias_method :follow, :click_link
         
     | 
| 
       295 
319 
     | 
    
         | 
| 
       296 
320 
     | 
    
         | 
| 
       297 
321 
     | 
    
         
             
                # Press a button.
         
     | 
| 
       298 
322 
     | 
    
         
             
                #
         
     | 
| 
       299 
323 
     | 
    
         
             
                # @param [String] locator
         
     | 
| 
       300 
     | 
    
         
            -
                #    
     | 
| 
      
 324 
     | 
    
         
            +
                #   Text, value, or id of the button
         
     | 
| 
       301 
325 
     | 
    
         
             
                #
         
     | 
| 
       302 
326 
     | 
    
         
             
                # @example
         
     | 
| 
       303 
     | 
    
         
            -
                #   | Click |  
     | 
| 
       304 
     | 
    
         
            -
                #   | Click button |  
     | 
| 
      
 327 
     | 
    
         
            +
                #   | Click | Search | button |
         
     | 
| 
      
 328 
     | 
    
         
            +
                #   | Click button | Search |
         
     | 
| 
      
 329 
     | 
    
         
            +
                #   | Press | Login |
         
     | 
| 
       305 
330 
     | 
    
         
             
                #
         
     | 
| 
       306 
331 
     | 
    
         
             
                def click_button(locator)
         
     | 
| 
      
 332 
     | 
    
         
            +
                  # TODO: Make this fail when the button is disabled
         
     | 
| 
       307 
333 
     | 
    
         
             
                  return_error_status do
         
     | 
| 
       308 
334 
     | 
    
         
             
                    @browser.click(xpath('button', locator))
         
     | 
| 
       309 
335 
     | 
    
         
             
                  end
         
     | 
| 
       310 
336 
     | 
    
         
             
                end
         
     | 
| 
       311 
     | 
    
         
            -
             
     | 
| 
       312 
     | 
    
         
            -
             
     | 
| 
       313 
     | 
    
         
            -
                # Alias for {#click_button}
         
     | 
| 
       314 
     | 
    
         
            -
                #
         
     | 
| 
       315 
     | 
    
         
            -
                # @example
         
     | 
| 
       316 
     | 
    
         
            -
                #   | Press | Search |
         
     | 
| 
       317 
     | 
    
         
            -
                #
         
     | 
| 
       318 
     | 
    
         
            -
                def press(locator)
         
     | 
| 
       319 
     | 
    
         
            -
                  click_button(locator)
         
     | 
| 
       320 
     | 
    
         
            -
                end
         
     | 
| 
      
 337 
     | 
    
         
            +
                alias_method :press, :click_button
         
     | 
| 
       321 
338 
     | 
    
         | 
| 
       322 
339 
     | 
    
         | 
| 
       323 
340 
     | 
    
         
             
                # Enable (check) a checkbox.
         
     | 
| 
         @@ -360,6 +377,8 @@ module Rsel 
     | 
|
| 
       360 
377 
     | 
    
         
             
                # @example
         
     | 
| 
       361 
378 
     | 
    
         
             
                #   | Checkbox is enabled | send me spam |
         
     | 
| 
       362 
379 
     | 
    
         
             
                #   | Checkbox | send me spam | is enabled |
         
     | 
| 
      
 380 
     | 
    
         
            +
                #   | Radio is enabled | medium |
         
     | 
| 
      
 381 
     | 
    
         
            +
                #   | Radio | medium | is enabled |
         
     | 
| 
       363 
382 
     | 
    
         
             
                #
         
     | 
| 
       364 
383 
     | 
    
         
             
                def checkbox_is_enabled(locator)
         
     | 
| 
       365 
384 
     | 
    
         
             
                  begin
         
     | 
| 
         @@ -370,6 +389,7 @@ module Rsel 
     | 
|
| 
       370 
389 
     | 
    
         
             
                    return enabled
         
     | 
| 
       371 
390 
     | 
    
         
             
                  end
         
     | 
| 
       372 
391 
     | 
    
         
             
                end
         
     | 
| 
      
 392 
     | 
    
         
            +
                alias_method :radio_is_enabled, :checkbox_is_enabled
         
     | 
| 
       373 
393 
     | 
    
         | 
| 
       374 
394 
     | 
    
         | 
| 
       375 
395 
     | 
    
         
             
                # Verify that a given checkbox or radiobutton is disabled (unchecked)
         
     | 
| 
         @@ -379,6 +399,9 @@ module Rsel 
     | 
|
| 
       379 
399 
     | 
    
         
             
                #
         
     | 
| 
       380 
400 
     | 
    
         
             
                # @example
         
     | 
| 
       381 
401 
     | 
    
         
             
                #   | Checkbox is disabled | send me spam |
         
     | 
| 
      
 402 
     | 
    
         
            +
                #   | Checkbox | send me spam | is disabled |
         
     | 
| 
      
 403 
     | 
    
         
            +
                #   | Radio is disabled | medium |
         
     | 
| 
      
 404 
     | 
    
         
            +
                #   | Radio | medium | is disabled |
         
     | 
| 
       382 
405 
     | 
    
         
             
                #
         
     | 
| 
       383 
406 
     | 
    
         
             
                def checkbox_is_disabled(locator)
         
     | 
| 
       384 
407 
     | 
    
         
             
                  begin
         
     | 
| 
         @@ -389,6 +412,7 @@ module Rsel 
     | 
|
| 
       389 
412 
     | 
    
         
             
                    return !enabled
         
     | 
| 
       390 
413 
     | 
    
         
             
                  end
         
     | 
| 
       391 
414 
     | 
    
         
             
                end
         
     | 
| 
      
 415 
     | 
    
         
            +
                alias_method :radio_is_disabled, :checkbox_is_disabled
         
     | 
| 
       392 
416 
     | 
    
         | 
| 
       393 
417 
     | 
    
         | 
| 
       394 
418 
     | 
    
         
             
                # Select a radio button.
         
     | 
| 
         @@ -407,42 +431,63 @@ module Rsel 
     | 
|
| 
       407 
431 
     | 
    
         
             
                end
         
     | 
| 
       408 
432 
     | 
    
         | 
| 
       409 
433 
     | 
    
         | 
| 
       410 
     | 
    
         
            -
                #  
     | 
| 
      
 434 
     | 
    
         
            +
                # Select an option from a dropdown/combo box.
         
     | 
| 
      
 435 
     | 
    
         
            +
                #
         
     | 
| 
      
 436 
     | 
    
         
            +
                # @param [String] option
         
     | 
| 
      
 437 
     | 
    
         
            +
                #   The option to choose from the dropdown
         
     | 
| 
      
 438 
     | 
    
         
            +
                # @param [String] locator
         
     | 
| 
      
 439 
     | 
    
         
            +
                #   Label, name, or id of the dropdown
         
     | 
| 
       411 
440 
     | 
    
         
             
                #
         
     | 
| 
       412 
441 
     | 
    
         
             
                # @example
         
     | 
| 
       413 
     | 
    
         
            -
                #   |  
     | 
| 
       414 
     | 
    
         
            -
                #   |  
     | 
| 
      
 442 
     | 
    
         
            +
                #   | Select | Tall | from | Height | dropdown |
         
     | 
| 
      
 443 
     | 
    
         
            +
                #   | Select | Tall | from dropdown | Height |
         
     | 
| 
       415 
444 
     | 
    
         
             
                #
         
     | 
| 
       416 
     | 
    
         
            -
                def  
     | 
| 
       417 
     | 
    
         
            -
                   
     | 
| 
      
 445 
     | 
    
         
            +
                def select_from_dropdown(option, locator)
         
     | 
| 
      
 446 
     | 
    
         
            +
                  return_error_status do
         
     | 
| 
      
 447 
     | 
    
         
            +
                    @browser.select(xpath('select', locator), option)
         
     | 
| 
      
 448 
     | 
    
         
            +
                  end
         
     | 
| 
       418 
449 
     | 
    
         
             
                end
         
     | 
| 
       419 
450 
     | 
    
         | 
| 
       420 
451 
     | 
    
         | 
| 
       421 
     | 
    
         
            -
                #  
     | 
| 
      
 452 
     | 
    
         
            +
                # Check whether an option exists in a dropdown/combo box.
         
     | 
| 
      
 453 
     | 
    
         
            +
                #
         
     | 
| 
      
 454 
     | 
    
         
            +
                # @param [String] locator
         
     | 
| 
      
 455 
     | 
    
         
            +
                #   Label, name, or id of the dropdown
         
     | 
| 
      
 456 
     | 
    
         
            +
                # @param [String] option
         
     | 
| 
      
 457 
     | 
    
         
            +
                #   The option to look for
         
     | 
| 
       422 
458 
     | 
    
         
             
                #
         
     | 
| 
       423 
459 
     | 
    
         
             
                # @example
         
     | 
| 
       424 
     | 
    
         
            -
                #   |  
     | 
| 
       425 
     | 
    
         
            -
                # 
     | 
| 
      
 460 
     | 
    
         
            +
                #   | Dropdown | Height | includes | Tall |
         
     | 
| 
      
 461 
     | 
    
         
            +
                #
         
     | 
| 
      
 462 
     | 
    
         
            +
                # @since 0.0.2
         
     | 
| 
       426 
463 
     | 
    
         
             
                #
         
     | 
| 
       427 
     | 
    
         
            -
                def  
     | 
| 
       428 
     | 
    
         
            -
                   
     | 
| 
      
 464 
     | 
    
         
            +
                def dropdown_includes(locator, option)
         
     | 
| 
      
 465 
     | 
    
         
            +
                  dropdown = XPath::HTML.select(locator)
         
     | 
| 
      
 466 
     | 
    
         
            +
                  opt = dropdown[XPath::HTML.option(option)]
         
     | 
| 
      
 467 
     | 
    
         
            +
                  opt_str = opt.to_xpaths.join(' | ')
         
     | 
| 
      
 468 
     | 
    
         
            +
                  return @browser.element?("xpath=#{opt_str}")
         
     | 
| 
       429 
469 
     | 
    
         
             
                end
         
     | 
| 
       430 
470 
     | 
    
         | 
| 
       431 
471 
     | 
    
         | 
| 
       432 
     | 
    
         
            -
                #  
     | 
| 
      
 472 
     | 
    
         
            +
                # Check whether an option is currently selected in a dropdown/combo box.
         
     | 
| 
       433 
473 
     | 
    
         
             
                #
         
     | 
| 
       434 
     | 
    
         
            -
                # @param [String] value
         
     | 
| 
       435 
     | 
    
         
            -
                #   The value to choose from the dropdown
         
     | 
| 
       436 
474 
     | 
    
         
             
                # @param [String] locator
         
     | 
| 
       437 
475 
     | 
    
         
             
                #   Label, name, or id of the dropdown
         
     | 
| 
      
 476 
     | 
    
         
            +
                # @param [String] option
         
     | 
| 
      
 477 
     | 
    
         
            +
                #   The option you expect to be selected
         
     | 
| 
       438 
478 
     | 
    
         
             
                #
         
     | 
| 
       439 
479 
     | 
    
         
             
                # @example
         
     | 
| 
       440 
     | 
    
         
            -
                #   |  
     | 
| 
       441 
     | 
    
         
            -
                #   | select | Tall | from dropdown | Height |
         
     | 
| 
      
 480 
     | 
    
         
            +
                #   | Dropdown | Height | equals | Tall |
         
     | 
| 
       442 
481 
     | 
    
         
             
                #
         
     | 
| 
       443 
     | 
    
         
            -
                 
     | 
| 
       444 
     | 
    
         
            -
             
     | 
| 
       445 
     | 
    
         
            -
             
     | 
| 
      
 482 
     | 
    
         
            +
                # @since 0.0.2
         
     | 
| 
      
 483 
     | 
    
         
            +
                #
         
     | 
| 
      
 484 
     | 
    
         
            +
                def dropdown_equals(locator, option)
         
     | 
| 
      
 485 
     | 
    
         
            +
                  begin
         
     | 
| 
      
 486 
     | 
    
         
            +
                    selected = @browser.get_selected_label(xpath('select', locator))
         
     | 
| 
      
 487 
     | 
    
         
            +
                  rescue
         
     | 
| 
      
 488 
     | 
    
         
            +
                    return false
         
     | 
| 
      
 489 
     | 
    
         
            +
                  else
         
     | 
| 
      
 490 
     | 
    
         
            +
                    return selected == option
         
     | 
| 
       446 
491 
     | 
    
         
             
                  end
         
     | 
| 
       447 
492 
     | 
    
         
             
                end
         
     | 
| 
       448 
493 
     | 
    
         | 
| 
         @@ -497,6 +542,7 @@ module Rsel 
     | 
|
| 
       497 
542 
     | 
    
         
             
                  end
         
     | 
| 
       498 
543 
     | 
    
         
             
                end
         
     | 
| 
       499 
544 
     | 
    
         | 
| 
      
 545 
     | 
    
         
            +
             
     | 
| 
       500 
546 
     | 
    
         
             
                # Return a Selenium-style xpath for the given locator.
         
     | 
| 
       501 
547 
     | 
    
         
             
                #
         
     | 
| 
       502 
548 
     | 
    
         
             
                # @param [String] kind
         
     | 
    
        data/rsel.gemspec
    CHANGED
    
    
    
        data/spec/selenium_test_spec.rb
    CHANGED
    
    | 
         @@ -1,25 +1,25 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            require File.expand_path(File.dirname(__FILE__) +  
     | 
| 
      
 1 
     | 
    
         
            +
            require File.expand_path(File.dirname(__FILE__) + "/spec_helper")
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            describe Rsel::SeleniumTest do
         
     | 
| 
       4 
     | 
    
         
            -
              context  
     | 
| 
      
 4 
     | 
    
         
            +
              context "initialization" do
         
     | 
| 
       5 
5 
     | 
    
         
             
                before(:each) do
         
     | 
| 
       6 
     | 
    
         
            -
                  @st.visit( 
     | 
| 
      
 6 
     | 
    
         
            +
                  @st.visit("/")
         
     | 
| 
       7 
7 
     | 
    
         
             
                end
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
                it "sets correct default configuration" do
         
     | 
| 
       10 
     | 
    
         
            -
                  @st.url.should ==  
     | 
| 
       11 
     | 
    
         
            -
                  @st.browser.host.should ==  
     | 
| 
      
 10 
     | 
    
         
            +
                  @st.url.should == "http://localhost:8070/"
         
     | 
| 
      
 11 
     | 
    
         
            +
                  @st.browser.host.should == "localhost"
         
     | 
| 
       12 
12 
     | 
    
         
             
                  @st.browser.port.should == 4444
         
     | 
| 
       13 
13 
     | 
    
         
             
                end
         
     | 
| 
       14 
14 
     | 
    
         
             
              end
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
              context  
     | 
| 
      
 17 
     | 
    
         
            +
              context "checkbox" do
         
     | 
| 
       18 
18 
     | 
    
         
             
                before(:each) do
         
     | 
| 
       19 
     | 
    
         
            -
                  @st.visit( 
     | 
| 
      
 19 
     | 
    
         
            +
                  @st.visit("/form").should be_true
         
     | 
| 
       20 
20 
     | 
    
         
             
                end
         
     | 
| 
       21 
21 
     | 
    
         | 
| 
       22 
     | 
    
         
            -
                 
     | 
| 
      
 22 
     | 
    
         
            +
                describe "#enable_checkbox" do
         
     | 
| 
       23 
23 
     | 
    
         
             
                  context "passes when" do
         
     | 
| 
       24 
24 
     | 
    
         
             
                    it "checkbox with the given label is present" do
         
     | 
| 
       25 
25 
     | 
    
         
             
                      @st.enable_checkbox("I like cheese").should be_true
         
     | 
| 
         @@ -35,7 +35,7 @@ describe Rsel::SeleniumTest do 
     | 
|
| 
       35 
35 
     | 
    
         
             
                  end
         
     | 
| 
       36 
36 
     | 
    
         
             
                end
         
     | 
| 
       37 
37 
     | 
    
         | 
| 
       38 
     | 
    
         
            -
                 
     | 
| 
      
 38 
     | 
    
         
            +
                describe "#disable_checkbox" do
         
     | 
| 
       39 
39 
     | 
    
         
             
                  context "passes when" do
         
     | 
| 
       40 
40 
     | 
    
         
             
                    it "checkbox with the given label is present" do
         
     | 
| 
       41 
41 
     | 
    
         
             
                      @st.disable_checkbox("I like cheese").should be_true
         
     | 
| 
         @@ -50,7 +50,7 @@ describe Rsel::SeleniumTest do 
     | 
|
| 
       50 
50 
     | 
    
         
             
                  end
         
     | 
| 
       51 
51 
     | 
    
         
             
                end
         
     | 
| 
       52 
52 
     | 
    
         | 
| 
       53 
     | 
    
         
            -
                 
     | 
| 
      
 53 
     | 
    
         
            +
                describe "#checkbox_is_enabled" do
         
     | 
| 
       54 
54 
     | 
    
         
             
                  context "passes when" do
         
     | 
| 
       55 
55 
     | 
    
         
             
                    it "checkbox with the given label exists and is checked" do
         
     | 
| 
       56 
56 
     | 
    
         
             
                      @st.enable_checkbox("I like cheese").should be_true
         
     | 
| 
         @@ -70,7 +70,7 @@ describe Rsel::SeleniumTest do 
     | 
|
| 
       70 
70 
     | 
    
         
             
                  end
         
     | 
| 
       71 
71 
     | 
    
         
             
                end
         
     | 
| 
       72 
72 
     | 
    
         | 
| 
       73 
     | 
    
         
            -
                 
     | 
| 
      
 73 
     | 
    
         
            +
                describe "#checkbox_is_disabled" do
         
     | 
| 
       74 
74 
     | 
    
         
             
                  context "passes when" do
         
     | 
| 
       75 
75 
     | 
    
         
             
                    it "checkbox with the given label exists and is unchecked" do
         
     | 
| 
       76 
76 
     | 
    
         
             
                      @st.disable_checkbox("I like cheese").should be_true
         
     | 
| 
         @@ -92,21 +92,21 @@ describe Rsel::SeleniumTest do 
     | 
|
| 
       92 
92 
     | 
    
         
             
              end
         
     | 
| 
       93 
93 
     | 
    
         | 
| 
       94 
94 
     | 
    
         | 
| 
       95 
     | 
    
         
            -
              context  
     | 
| 
      
 95 
     | 
    
         
            +
              context "dropdowns" do
         
     | 
| 
       96 
96 
     | 
    
         
             
                before(:each) do
         
     | 
| 
       97 
     | 
    
         
            -
                  @st.visit( 
     | 
| 
      
 97 
     | 
    
         
            +
                  @st.visit("/form").should be_true
         
     | 
| 
       98 
98 
     | 
    
         
             
                end
         
     | 
| 
       99 
99 
     | 
    
         | 
| 
       100 
     | 
    
         
            -
                context " 
     | 
| 
      
 100 
     | 
    
         
            +
                context "#select_from_dropdown" do
         
     | 
| 
       101 
101 
     | 
    
         
             
                  context "passes when" do
         
     | 
| 
       102 
     | 
    
         
            -
                    it " 
     | 
| 
      
 102 
     | 
    
         
            +
                    it "option exists in the dropdown" do
         
     | 
| 
       103 
103 
     | 
    
         
             
                      @st.select_from_dropdown("Tall", "Height").should be_true
         
     | 
| 
       104 
104 
     | 
    
         
             
                      @st.select_from_dropdown("Medium", "Weight").should be_true
         
     | 
| 
       105 
105 
     | 
    
         
             
                    end
         
     | 
| 
       106 
106 
     | 
    
         
             
                  end
         
     | 
| 
       107 
107 
     | 
    
         | 
| 
       108 
108 
     | 
    
         
             
                  context "fails when" do
         
     | 
| 
       109 
     | 
    
         
            -
                    it "dropdown exists, but the  
     | 
| 
      
 109 
     | 
    
         
            +
                    it "dropdown exists, but the option doesn't" do
         
     | 
| 
       110 
110 
     | 
    
         
             
                      @st.select_from_dropdown("Giant", "Height").should be_false
         
     | 
| 
       111 
111 
     | 
    
         
             
                      @st.select_from_dropdown("Obese", "Weight").should be_false
         
     | 
| 
       112 
112 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -117,18 +117,69 @@ describe Rsel::SeleniumTest do 
     | 
|
| 
       117 
117 
     | 
    
         
             
                  end
         
     | 
| 
       118 
118 
     | 
    
         
             
                end
         
     | 
| 
       119 
119 
     | 
    
         | 
| 
       120 
     | 
    
         
            -
                context " 
     | 
| 
       121 
     | 
    
         
            -
                   
     | 
| 
      
 120 
     | 
    
         
            +
                context "#dropdown_includes" do
         
     | 
| 
      
 121 
     | 
    
         
            +
                  context "passes when" do
         
     | 
| 
      
 122 
     | 
    
         
            +
                    it "option exists in the dropdown" do
         
     | 
| 
      
 123 
     | 
    
         
            +
                      @st.dropdown_includes("Height", "Tall").should be_true
         
     | 
| 
      
 124 
     | 
    
         
            +
                      @st.dropdown_includes("Weight", "Medium").should be_true
         
     | 
| 
      
 125 
     | 
    
         
            +
                    end
         
     | 
| 
      
 126 
     | 
    
         
            +
                  end
         
     | 
| 
      
 127 
     | 
    
         
            +
             
     | 
| 
      
 128 
     | 
    
         
            +
                  context "fails when" do
         
     | 
| 
      
 129 
     | 
    
         
            +
                    it "dropdown exists, but the option doesn't" do
         
     | 
| 
      
 130 
     | 
    
         
            +
                      @st.dropdown_includes("Height", "Giant").should be_false
         
     | 
| 
      
 131 
     | 
    
         
            +
                      @st.dropdown_includes("Weight", "Obese").should be_false
         
     | 
| 
      
 132 
     | 
    
         
            +
                    end
         
     | 
| 
      
 133 
     | 
    
         
            +
             
     | 
| 
      
 134 
     | 
    
         
            +
                    it "no such dropdown exists" do
         
     | 
| 
      
 135 
     | 
    
         
            +
                      @st.dropdown_includes("Eggs", "Over easy").should be_false
         
     | 
| 
      
 136 
     | 
    
         
            +
                    end
         
     | 
| 
      
 137 
     | 
    
         
            +
                  end
         
     | 
| 
      
 138 
     | 
    
         
            +
                end
         
     | 
| 
      
 139 
     | 
    
         
            +
             
     | 
| 
      
 140 
     | 
    
         
            +
                context "#dropdown_equals" do
         
     | 
| 
      
 141 
     | 
    
         
            +
                  context "passes when" do
         
     | 
| 
      
 142 
     | 
    
         
            +
                    it "option is selected in the dropdown" do
         
     | 
| 
      
 143 
     | 
    
         
            +
                      @st.select_from_dropdown("Short", "Height")
         
     | 
| 
      
 144 
     | 
    
         
            +
                      @st.dropdown_equals("Height", "Short").should be_true
         
     | 
| 
      
 145 
     | 
    
         
            +
             
     | 
| 
      
 146 
     | 
    
         
            +
                      @st.select_from_dropdown("Average", "Height")
         
     | 
| 
      
 147 
     | 
    
         
            +
                      @st.dropdown_equals("Height", "Average").should be_true
         
     | 
| 
      
 148 
     | 
    
         
            +
             
     | 
| 
      
 149 
     | 
    
         
            +
                      @st.select_from_dropdown("Tall", "Height")
         
     | 
| 
      
 150 
     | 
    
         
            +
                      @st.dropdown_equals("Height", "Tall").should be_true
         
     | 
| 
      
 151 
     | 
    
         
            +
                    end
         
     | 
| 
      
 152 
     | 
    
         
            +
                  end
         
     | 
| 
      
 153 
     | 
    
         
            +
             
     | 
| 
      
 154 
     | 
    
         
            +
                  context "fails when" do
         
     | 
| 
      
 155 
     | 
    
         
            +
                    it "dropdown exists, but the option is not selected" do
         
     | 
| 
      
 156 
     | 
    
         
            +
                      @st.select_from_dropdown("Short", "Height")
         
     | 
| 
      
 157 
     | 
    
         
            +
                      @st.dropdown_equals("Height", "Average").should be_false
         
     | 
| 
      
 158 
     | 
    
         
            +
                      @st.dropdown_equals("Height", "Tall").should be_false
         
     | 
| 
      
 159 
     | 
    
         
            +
             
     | 
| 
      
 160 
     | 
    
         
            +
                      @st.select_from_dropdown("Average", "Height")
         
     | 
| 
      
 161 
     | 
    
         
            +
                      @st.dropdown_equals("Height", "Short").should be_false
         
     | 
| 
      
 162 
     | 
    
         
            +
                      @st.dropdown_equals("Height", "Tall").should be_false
         
     | 
| 
      
 163 
     | 
    
         
            +
             
     | 
| 
      
 164 
     | 
    
         
            +
                      @st.select_from_dropdown("Tall", "Height")
         
     | 
| 
      
 165 
     | 
    
         
            +
                      @st.dropdown_equals("Height", "Short").should be_false
         
     | 
| 
      
 166 
     | 
    
         
            +
                      @st.dropdown_equals("Height", "Average").should be_false
         
     | 
| 
      
 167 
     | 
    
         
            +
                    end
         
     | 
| 
      
 168 
     | 
    
         
            +
             
     | 
| 
      
 169 
     | 
    
         
            +
                    it "no such dropdown exists" do
         
     | 
| 
      
 170 
     | 
    
         
            +
                      @st.dropdown_equals("Eggs", "Over easy").should be_false
         
     | 
| 
      
 171 
     | 
    
         
            +
                    end
         
     | 
| 
      
 172 
     | 
    
         
            +
                  end
         
     | 
| 
       122 
173 
     | 
    
         
             
                end
         
     | 
| 
       123 
174 
     | 
    
         
             
              end
         
     | 
| 
       124 
175 
     | 
    
         | 
| 
       125 
176 
     | 
    
         | 
| 
       126 
     | 
    
         
            -
              context  
     | 
| 
      
 177 
     | 
    
         
            +
              context "navigation" do
         
     | 
| 
       127 
178 
     | 
    
         
             
                before(:each) do
         
     | 
| 
       128 
     | 
    
         
            -
                  @st.visit( 
     | 
| 
      
 179 
     | 
    
         
            +
                  @st.visit("/").should be_true
         
     | 
| 
       129 
180 
     | 
    
         
             
                end
         
     | 
| 
       130 
181 
     | 
    
         | 
| 
       131 
     | 
    
         
            -
                 
     | 
| 
      
 182 
     | 
    
         
            +
                describe "#visit" do
         
     | 
| 
       132 
183 
     | 
    
         
             
                  context "passes when" do
         
     | 
| 
       133 
184 
     | 
    
         
             
                    it "page exists" do
         
     | 
| 
       134 
185 
     | 
    
         
             
                      @st.visit("/about").should be_true
         
     | 
| 
         @@ -146,7 +197,7 @@ describe Rsel::SeleniumTest do 
     | 
|
| 
       146 
197 
     | 
    
         
             
                  # TODO
         
     | 
| 
       147 
198 
     | 
    
         
             
                end
         
     | 
| 
       148 
199 
     | 
    
         | 
| 
       149 
     | 
    
         
            -
                 
     | 
| 
      
 200 
     | 
    
         
            +
                describe "#click_back" do
         
     | 
| 
       150 
201 
     | 
    
         
             
                  it "passes and loads the correct URL" do
         
     | 
| 
       151 
202 
     | 
    
         
             
                    @st.visit("/about")
         
     | 
| 
       152 
203 
     | 
    
         
             
                    @st.visit("/")
         
     | 
| 
         @@ -159,8 +210,15 @@ describe Rsel::SeleniumTest do 
     | 
|
| 
       159 
210 
     | 
    
         
             
                    # same session
         
     | 
| 
       160 
211 
     | 
    
         
             
                  #end
         
     | 
| 
       161 
212 
     | 
    
         
             
                end
         
     | 
| 
      
 213 
     | 
    
         
            +
              end
         
     | 
| 
      
 214 
     | 
    
         
            +
             
     | 
| 
      
 215 
     | 
    
         
            +
             
     | 
| 
      
 216 
     | 
    
         
            +
              context "links" do
         
     | 
| 
      
 217 
     | 
    
         
            +
                before(:each) do
         
     | 
| 
      
 218 
     | 
    
         
            +
                  @st.visit("/").should be_true
         
     | 
| 
      
 219 
     | 
    
         
            +
                end
         
     | 
| 
       162 
220 
     | 
    
         | 
| 
       163 
     | 
    
         
            -
                 
     | 
| 
      
 221 
     | 
    
         
            +
                describe "#click_link" do
         
     | 
| 
       164 
222 
     | 
    
         
             
                  it "passes and loads the correct page when a link exists" do
         
     | 
| 
       165 
223 
     | 
    
         
             
                    @st.click_link("About this site").should be_true
         
     | 
| 
       166 
224 
     | 
    
         
             
                    @st.see_title("About this site").should be_true
         
     | 
| 
         @@ -168,18 +226,75 @@ describe Rsel::SeleniumTest do 
     | 
|
| 
       168 
226 
     | 
    
         
             
                  end
         
     | 
| 
       169 
227 
     | 
    
         | 
| 
       170 
228 
     | 
    
         
             
                  it "fails when a link does not exist" do
         
     | 
| 
       171 
     | 
    
         
            -
                    @st. 
     | 
| 
      
 229 
     | 
    
         
            +
                    @st.click_link("Bogus link").should be_false
         
     | 
| 
      
 230 
     | 
    
         
            +
                  end
         
     | 
| 
      
 231 
     | 
    
         
            +
                end
         
     | 
| 
      
 232 
     | 
    
         
            +
             
     | 
| 
      
 233 
     | 
    
         
            +
                describe "#link_exists" do
         
     | 
| 
      
 234 
     | 
    
         
            +
                  context "passes when" do
         
     | 
| 
      
 235 
     | 
    
         
            +
                    it "link with the given text exists" do
         
     | 
| 
      
 236 
     | 
    
         
            +
                      @st.link_exists("About this site").should be_true
         
     | 
| 
      
 237 
     | 
    
         
            +
                      @st.link_exists("Form test").should be_true
         
     | 
| 
      
 238 
     | 
    
         
            +
                    end
         
     | 
| 
      
 239 
     | 
    
         
            +
                  end
         
     | 
| 
      
 240 
     | 
    
         
            +
             
     | 
| 
      
 241 
     | 
    
         
            +
                  context "fails when" do
         
     | 
| 
      
 242 
     | 
    
         
            +
                    it "no such link exists" do
         
     | 
| 
      
 243 
     | 
    
         
            +
                      @st.link_exists("Welcome").should be_false
         
     | 
| 
      
 244 
     | 
    
         
            +
                      @st.link_exists("Don't click here").should be_false
         
     | 
| 
      
 245 
     | 
    
         
            +
                    end
         
     | 
| 
      
 246 
     | 
    
         
            +
                  end
         
     | 
| 
      
 247 
     | 
    
         
            +
                end
         
     | 
| 
      
 248 
     | 
    
         
            +
              end
         
     | 
| 
      
 249 
     | 
    
         
            +
             
     | 
| 
      
 250 
     | 
    
         
            +
             
     | 
| 
      
 251 
     | 
    
         
            +
              context "buttons" do
         
     | 
| 
      
 252 
     | 
    
         
            +
                before(:each) do
         
     | 
| 
      
 253 
     | 
    
         
            +
                  @st.visit("/form").should be_true
         
     | 
| 
      
 254 
     | 
    
         
            +
                end
         
     | 
| 
      
 255 
     | 
    
         
            +
             
     | 
| 
      
 256 
     | 
    
         
            +
                describe "#click_button" do
         
     | 
| 
      
 257 
     | 
    
         
            +
                  context "passes when" do
         
     | 
| 
      
 258 
     | 
    
         
            +
                    it "button exists and is enabled" do
         
     | 
| 
      
 259 
     | 
    
         
            +
                      @st.click_button("Submit person form").should be_true
         
     | 
| 
      
 260 
     | 
    
         
            +
                    end
         
     | 
| 
      
 261 
     | 
    
         
            +
                  end
         
     | 
| 
      
 262 
     | 
    
         
            +
             
     | 
| 
      
 263 
     | 
    
         
            +
                  context "fails when" do
         
     | 
| 
      
 264 
     | 
    
         
            +
                    it "button does not exist" do
         
     | 
| 
      
 265 
     | 
    
         
            +
                      @st.click_button("No such button").should be_false
         
     | 
| 
      
 266 
     | 
    
         
            +
                    end
         
     | 
| 
      
 267 
     | 
    
         
            +
             
     | 
| 
      
 268 
     | 
    
         
            +
                    it "button exists but is disabled" do
         
     | 
| 
      
 269 
     | 
    
         
            +
                      # TODO
         
     | 
| 
      
 270 
     | 
    
         
            +
                    end
         
     | 
| 
      
 271 
     | 
    
         
            +
                  end
         
     | 
| 
      
 272 
     | 
    
         
            +
                end
         
     | 
| 
      
 273 
     | 
    
         
            +
             
     | 
| 
      
 274 
     | 
    
         
            +
                describe "#button_exists" do
         
     | 
| 
      
 275 
     | 
    
         
            +
                  context "passes when" do
         
     | 
| 
      
 276 
     | 
    
         
            +
                    it "button with the given text exists" do
         
     | 
| 
      
 277 
     | 
    
         
            +
                      @st.button_exists("Submit person form").should be_true
         
     | 
| 
      
 278 
     | 
    
         
            +
                      @st.button_exists("Save preferences").should be_true
         
     | 
| 
      
 279 
     | 
    
         
            +
                    end
         
     | 
| 
      
 280 
     | 
    
         
            +
                  end
         
     | 
| 
      
 281 
     | 
    
         
            +
             
     | 
| 
      
 282 
     | 
    
         
            +
                  context "fails when" do
         
     | 
| 
      
 283 
     | 
    
         
            +
                    it "no such button exists" do
         
     | 
| 
      
 284 
     | 
    
         
            +
                      @st.button_exists("Apple").should be_false
         
     | 
| 
      
 285 
     | 
    
         
            +
                      @st.button_exists("Big Red").should be_false
         
     | 
| 
      
 286 
     | 
    
         
            +
                    end
         
     | 
| 
       172 
287 
     | 
    
         
             
                  end
         
     | 
| 
       173 
288 
     | 
    
         
             
                end
         
     | 
| 
       174 
289 
     | 
    
         
             
              end
         
     | 
| 
       175 
290 
     | 
    
         | 
| 
       176 
291 
     | 
    
         | 
| 
       177 
     | 
    
         
            -
              context  
     | 
| 
      
 292 
     | 
    
         
            +
              context "fields" do
         
     | 
| 
       178 
293 
     | 
    
         
             
                before(:each) do
         
     | 
| 
       179 
     | 
    
         
            -
                  @st.visit( 
     | 
| 
      
 294 
     | 
    
         
            +
                  @st.visit("/form").should be_true
         
     | 
| 
       180 
295 
     | 
    
         
             
                end
         
     | 
| 
       181 
296 
     | 
    
         | 
| 
       182 
     | 
    
         
            -
                 
     | 
| 
      
 297 
     | 
    
         
            +
                describe "#type_into_field" do
         
     | 
| 
       183 
298 
     | 
    
         
             
                  context "passes when" do
         
     | 
| 
       184 
299 
     | 
    
         
             
                    it "text field with the given label exists" do
         
     | 
| 
       185 
300 
     | 
    
         
             
                      @st.type_into_field("Eric", "First name").should be_true
         
     | 
| 
         @@ -210,7 +325,7 @@ describe Rsel::SeleniumTest do 
     | 
|
| 
       210 
325 
     | 
    
         
             
                  end
         
     | 
| 
       211 
326 
     | 
    
         
             
                end
         
     | 
| 
       212 
327 
     | 
    
         | 
| 
       213 
     | 
    
         
            -
                 
     | 
| 
      
 328 
     | 
    
         
            +
                describe "#field_contains" do
         
     | 
| 
       214 
329 
     | 
    
         
             
                  context "passes when" do
         
     | 
| 
       215 
330 
     | 
    
         
             
                    it "textarea contains the text" do
         
     | 
| 
       216 
331 
     | 
    
         
             
                      @st.fill_in_with("Life story", "Blah dee blah")
         
     | 
| 
         @@ -226,7 +341,7 @@ describe Rsel::SeleniumTest do 
     | 
|
| 
       226 
341 
     | 
    
         
             
                  end
         
     | 
| 
       227 
342 
     | 
    
         
             
                end
         
     | 
| 
       228 
343 
     | 
    
         | 
| 
       229 
     | 
    
         
            -
                 
     | 
| 
      
 344 
     | 
    
         
            +
                describe "#field_equals" do
         
     | 
| 
       230 
345 
     | 
    
         
             
                  context "passes when" do
         
     | 
| 
       231 
346 
     | 
    
         
             
                    it "textarea equals the text" do
         
     | 
| 
       232 
347 
     | 
    
         
             
                      @st.fill_in_with("Life story", "Blah dee blah")
         
     | 
| 
         @@ -244,50 +359,50 @@ describe Rsel::SeleniumTest do 
     | 
|
| 
       244 
359 
     | 
    
         
             
              end
         
     | 
| 
       245 
360 
     | 
    
         | 
| 
       246 
361 
     | 
    
         | 
| 
       247 
     | 
    
         
            -
              context  
     | 
| 
      
 362 
     | 
    
         
            +
              context "visibility" do
         
     | 
| 
       248 
363 
     | 
    
         
             
                before(:each) do
         
     | 
| 
       249 
     | 
    
         
            -
                  @st.visit( 
     | 
| 
      
 364 
     | 
    
         
            +
                  @st.visit("/").should be_true
         
     | 
| 
       250 
365 
     | 
    
         
             
                end
         
     | 
| 
       251 
366 
     | 
    
         | 
| 
       252 
     | 
    
         
            -
                 
     | 
| 
      
 367 
     | 
    
         
            +
                describe "#see" do
         
     | 
| 
       253 
368 
     | 
    
         
             
                  context "passes when" do
         
     | 
| 
       254 
369 
     | 
    
         
             
                    it "text is present" do
         
     | 
| 
       255 
     | 
    
         
            -
                      @st.see( 
     | 
| 
       256 
     | 
    
         
            -
                      @st.see( 
     | 
| 
      
 370 
     | 
    
         
            +
                      @st.see("Welcome").should be_true
         
     | 
| 
      
 371 
     | 
    
         
            +
                      @st.see("This is a Sinatra webapp").should be_true
         
     | 
| 
       257 
372 
     | 
    
         
             
                    end
         
     | 
| 
       258 
373 
     | 
    
         
             
                  end
         
     | 
| 
       259 
374 
     | 
    
         | 
| 
       260 
375 
     | 
    
         
             
                  context "fails when" do
         
     | 
| 
       261 
376 
     | 
    
         
             
                    it "text is absent" do
         
     | 
| 
       262 
     | 
    
         
            -
                      @st.see( 
     | 
| 
       263 
     | 
    
         
            -
                      @st.see( 
     | 
| 
      
 377 
     | 
    
         
            +
                      @st.see("Nonexistent").should be_false
         
     | 
| 
      
 378 
     | 
    
         
            +
                      @st.see("Some bogus text").should be_false
         
     | 
| 
       264 
379 
     | 
    
         
             
                    end
         
     | 
| 
       265 
380 
     | 
    
         
             
                  end
         
     | 
| 
       266 
381 
     | 
    
         | 
| 
       267 
382 
     | 
    
         
             
                  it "is case-sensitive" do
         
     | 
| 
       268 
     | 
    
         
            -
                    @st.see( 
     | 
| 
       269 
     | 
    
         
            -
                    @st.see( 
     | 
| 
      
 383 
     | 
    
         
            +
                    @st.see("Sinatra webapp").should be_true
         
     | 
| 
      
 384 
     | 
    
         
            +
                    @st.see("sinatra Webapp").should be_false
         
     | 
| 
       270 
385 
     | 
    
         
             
                  end
         
     | 
| 
       271 
386 
     | 
    
         
             
                end
         
     | 
| 
       272 
387 
     | 
    
         | 
| 
       273 
     | 
    
         
            -
                 
     | 
| 
      
 388 
     | 
    
         
            +
                describe "#do_not_see" do
         
     | 
| 
       274 
389 
     | 
    
         
             
                  context "passes when" do
         
     | 
| 
       275 
390 
     | 
    
         
             
                    it "text is absent" do
         
     | 
| 
       276 
     | 
    
         
            -
                      @st.do_not_see( 
     | 
| 
       277 
     | 
    
         
            -
                      @st.do_not_see( 
     | 
| 
      
 391 
     | 
    
         
            +
                      @st.do_not_see("Nonexistent").should be_true
         
     | 
| 
      
 392 
     | 
    
         
            +
                      @st.do_not_see("Some bogus text").should be_true
         
     | 
| 
       278 
393 
     | 
    
         
             
                    end
         
     | 
| 
       279 
394 
     | 
    
         
             
                  end
         
     | 
| 
       280 
395 
     | 
    
         | 
| 
       281 
396 
     | 
    
         
             
                  context "fails when" do
         
     | 
| 
       282 
397 
     | 
    
         
             
                    it "fails when test is present" do
         
     | 
| 
       283 
     | 
    
         
            -
                      @st.do_not_see( 
     | 
| 
       284 
     | 
    
         
            -
                      @st.do_not_see( 
     | 
| 
      
 398 
     | 
    
         
            +
                      @st.do_not_see("Welcome").should be_false
         
     | 
| 
      
 399 
     | 
    
         
            +
                      @st.do_not_see("This is a Sinatra webapp").should be_false
         
     | 
| 
       285 
400 
     | 
    
         
             
                    end
         
     | 
| 
       286 
401 
     | 
    
         
             
                  end
         
     | 
| 
       287 
402 
     | 
    
         | 
| 
       288 
403 
     | 
    
         
             
                  it "is case-sensitive" do
         
     | 
| 
       289 
     | 
    
         
            -
                    @st.do_not_see( 
     | 
| 
       290 
     | 
    
         
            -
                    @st.do_not_see( 
     | 
| 
      
 404 
     | 
    
         
            +
                    @st.do_not_see("Sinatra webapp").should be_false
         
     | 
| 
      
 405 
     | 
    
         
            +
                    @st.do_not_see("sinatra Webapp").should be_true
         
     | 
| 
       291 
406 
     | 
    
         
             
                  end
         
     | 
| 
       292 
407 
     | 
    
         
             
                end
         
     | 
| 
       293 
408 
     | 
    
         
             
              end
         
     | 
    
        data/test/app.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,13 +1,13 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification 
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: rsel
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       4 
     | 
    
         
            -
              hash:  
     | 
| 
      
 4 
     | 
    
         
            +
              hash: 27
         
     | 
| 
       5 
5 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       6 
6 
     | 
    
         
             
              segments: 
         
     | 
| 
       7 
7 
     | 
    
         
             
              - 0
         
     | 
| 
       8 
8 
     | 
    
         
             
              - 0
         
     | 
| 
       9 
     | 
    
         
            -
              -  
     | 
| 
       10 
     | 
    
         
            -
              version: 0.0. 
     | 
| 
      
 9 
     | 
    
         
            +
              - 2
         
     | 
| 
      
 10 
     | 
    
         
            +
              version: 0.0.2
         
     | 
| 
       11 
11 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       12 
12 
     | 
    
         
             
            authors: 
         
     | 
| 
       13 
13 
     | 
    
         
             
            - Marcus French
         
     | 
| 
         @@ -17,7 +17,7 @@ autorequire: 
     | 
|
| 
       17 
17 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       18 
18 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       19 
19 
     | 
    
         | 
| 
       20 
     | 
    
         
            -
            date: 2011-07- 
     | 
| 
      
 20 
     | 
    
         
            +
            date: 2011-07-21 00:00:00 -06:00
         
     | 
| 
       21 
21 
     | 
    
         
             
            default_executable: 
         
     | 
| 
       22 
22 
     | 
    
         
             
            dependencies: 
         
     | 
| 
       23 
23 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
         @@ -153,6 +153,7 @@ files: 
     | 
|
| 
       153 
153 
     | 
    
         
             
            - Rakefile
         
     | 
| 
       154 
154 
     | 
    
         
             
            - docs/custom.md
         
     | 
| 
       155 
155 
     | 
    
         
             
            - docs/development.md
         
     | 
| 
      
 156 
     | 
    
         
            +
            - docs/history.md
         
     | 
| 
       156 
157 
     | 
    
         
             
            - docs/index.md
         
     | 
| 
       157 
158 
     | 
    
         
             
            - docs/install.md
         
     | 
| 
       158 
159 
     | 
    
         
             
            - docs/todo.md
         
     | 
| 
         @@ -168,6 +169,7 @@ files: 
     | 
|
| 
       168 
169 
     | 
    
         
             
            - test/views/about.erb
         
     | 
| 
       169 
170 
     | 
    
         
             
            - test/views/form.erb
         
     | 
| 
       170 
171 
     | 
    
         
             
            - test/views/index.erb
         
     | 
| 
      
 172 
     | 
    
         
            +
            - test/views/thanks.erb
         
     | 
| 
       171 
173 
     | 
    
         
             
            - vendor/rubyslim-0.1.1/.gitignore
         
     | 
| 
       172 
174 
     | 
    
         
             
            - vendor/rubyslim-0.1.1/README.md
         
     | 
| 
       173 
175 
     | 
    
         
             
            - vendor/rubyslim-0.1.1/Rakefile
         
     |