1. 09 3月, 2017 1 次提交
    • E
      Refactor system test driver/browser · 4dbebe48
      eileencodes 提交于
      Since using a browser is only for selenium it doesn't really make sense
      to have a separate class for handling it there. This brings a lot of the
      if/else out of the main SystemTestCase class and into the Driver class
      so we can abstract away all that extra work.
      4dbebe48
  2. 04 3月, 2017 1 次提交
    • Y
      Do not take screenshot if driver does not support screenshot · 2ee4058c
      yuuji.yaginuma 提交于
      `Capybara::RackTest::Driver` does not support taking screenshots. If call
      `#save_screenshot` on `Capybara::RackTest::Driver` will raise the error.
      
      ```ruby
      Error:
      UsersTest#test_visiting_the_index:
      Capybara::NotSupportedByDriverError: Capybara::Driver::Base#save_screenshot
      ```
      
      To prevent errors, if driver does not support screenshot, do not call it.
      2ee4058c
  3. 26 2月, 2017 1 次提交
    • A
      Commit flash changes when using a redirect route. · 558336ee
      Andrew White 提交于
      In ca324a0d the flash middleware was effectively removed by its
      constructor returning the app it was passed and the `commit_flash`
      call was moved to the `ActionController::Metal#dispatch` method.
      This broke any redirect routes that modified the flash because the
      redirect happens before `dispatch` gets called.
      
      To fix it, this commit adds a `commit_flash` call in the `serve`
      method of `ActionDispatch::Routing::Redirect`.
      
      Fixes #27992.
      558336ee
  4. 25 2月, 2017 2 次提交
  5. 23 2月, 2017 2 次提交
  6. 21 2月, 2017 12 次提交
    • A
      Split direct method into two · d7c1e62c
      Andrew White 提交于
      Use a separate method called `resolve` for the custom polymorphic
      mapping to clarify the API.
      d7c1e62c
    • A
      Removed `model_name` method to prevent warning · 050d7b1b
      Andrew White 提交于
      050d7b1b
    • A
      Support mapping of non-model classes · 81a6761a
      Andrew White 提交于
      81a6761a
    • A
      Raise an error if `direct` is inside a scope block · 80dcfd01
      Andrew White 提交于
      80dcfd01
    • A
      Add custom polymorphic mapping · 3bf47b01
      Andrew White 提交于
      Allow the use of `direct` to specify custom mappings for polymorphic_url, e.g:
      
        resource :basket
        direct(class: "Basket") { [:basket] }
      
      This will then generate the following:
      
        >> link_to "Basket", @basket
        => <a href="/basket">Basket</a>
      
      More importantly it will generate the correct url when used with `form_for`.
      
      Fixes #1769.
      3bf47b01
    • A
      Add test for calling a url helper in Mapper#direct · d67e2520
      Andrew White 提交于
      d67e2520
    • A
      Only accept symbols and strings for Mapper#direct · e96da0a7
      Andrew White 提交于
      e96da0a7
    • A
      Rename url_helper to direct · 47a27e89
      Andrew White 提交于
      47a27e89
    • A
      Add support for defining custom url helpers in routes.rb · ce7d5fb2
      Andrew White 提交于
      Allow the definition of custom url helpers that will be available
      automatically wherever standard url helpers are available. The
      current solution is to create helper methods in ApplicationHelper
      or some other helper module and this isn't a great solution since
      the url helper module can be called directly or included in another
      class which doesn't include the normal helper modules.
      
      Reference #22512.
      ce7d5fb2
    • E
      Fix default host in setup, move teardown to helper file · 161cf89e
      eileencodes 提交于
      * Override integration test default host
      
      Integration tests automatically set the default host to
      'http://example.com'. This works fine for integration tests because they
      are not real browser sessions, but doesn't work fine for system tests
      because they are real browser sessions.
      
      We can override this by setting the `host!` in `before_setup. The
      `Capybara.always_include_port` will allow the test to look at
      `127.0.0.1:port capybara picks` and properly redirect the test.
      
      Any application can override this by setting the `host!` in
      their system test helper. Generally though, applications are going to be
      using localhost.
      
      In this commit I also moved the setup and teardown into their own module
      for tidiness.
      
      * Move teardown settings into system test case
      
      These configuration options can be put into the system test case file
      instead of the generated system tests helper file. This is an
      implementation detail and therefore shouldn't be generated with the
      template.
      161cf89e
    • E
      Fix screenshot helper to provide correct file name · 983275eb
      eileencodes 提交于
      We only want the file name to include the word `failures` if it failed,
      not any time the user wants to take a screenshot during a test run.
      983275eb
    • E
      Move and rename system tests · 1a0ca84a
      eileencodes 提交于
      * Move system tests back into Action Pack
      * Rename `ActionSystemTest` to `ActionDispatch::SystemTestCase`
      * Remove private base module and only make file for public
      `SystemTestCase` class, name private module `SystemTesting`
      * Rename `ActionSystemTestCase` to `ApplicationSystemTestCase`
      * Update corresponding documentation and guides
      * Delete old `ActionSystemTest` files
      1a0ca84a
  7. 12 2月, 2017 1 次提交
  8. 06 2月, 2017 1 次提交
    • B
      Correct spelling · c8b5d828
      Benjamin Fleischer 提交于
      ```
      go get -u github.com/client9/misspell/cmd/misspell
      misspell  -w -error -source=text .
      ```
      c8b5d828
  9. 01 2月, 2017 1 次提交
  10. 19 1月, 2017 1 次提交
  11. 18 1月, 2017 1 次提交
  12. 14 1月, 2017 1 次提交
  13. 12 1月, 2017 2 次提交
  14. 10 1月, 2017 1 次提交
    • A
      Fix inconsistent results when parsing large durations and constructing durations from code · cb9d0e48
      Andrey Novikov 提交于
          ActiveSupport::Duration.parse('P3Y') == 3.years # It should be true
      
      Duration parsing made independent from any moment of time:
      Fixed length in seconds is assigned to each duration part during parsing.
      
      Changed duration of months and years in seconds to more accurate and logical:
      
       1. The value of 365.2425 days in Gregorian year is more accurate
          as it accounts for every 400th non-leap year.
      
       2. Month's length is bound to year's duration, which makes
          sensible comparisons like `12.months == 1.year` to be `true`
          and nonsensical ones like `30.days == 1.month` to be `false`.
      
      Calculations on times and dates with durations shouldn't be affected as
      duration's numeric value isn't used in calculations, only parts are used.
      
      Methods on `Numeric` like `2.days` now use these predefined durations
      to avoid duplicating of duration constants through the codebase and
      eliminate creation of intermediate durations.
      cb9d0e48
  15. 06 1月, 2017 1 次提交
    • J
      Update `cookies` helper on all HTTP requests · c5da6414
      Jon Moss 提交于
      Regression introduced by ae291421 / 8363b879.
      
      Previously, cookies were only updated on `GET` requests. Now we will
      update the helper for all requests, as part of `process`. Added
      regression tests for all available HTTP method helpers in
      `ActionController::TestCase`.
      c5da6414
  16. 05 1月, 2017 1 次提交
  17. 29 12月, 2016 1 次提交
  18. 25 12月, 2016 1 次提交
  19. 23 12月, 2016 1 次提交
  20. 12 12月, 2016 1 次提交
  21. 10 12月, 2016 1 次提交
  22. 03 12月, 2016 1 次提交
  23. 30 11月, 2016 1 次提交
  24. 29 10月, 2016 2 次提交
    • R
      Add more rubocop rules about whitespaces · fe1f4b2a
      Rafael Mendonça França 提交于
      fe1f4b2a
    • G
      Support plain loggers in DebugExceptions · f99c3758
      Genadi Samokovarov 提交于
      I have been seeing people setting `Logger` instances for `config.logger`
      and it blowing up on `rails/web-console` usage.
      
      Now, I doubt many folks are manually setting `ActionView::Base.logger`,
      but given that `DebugExceptions` is running in a pretty fragile
      environment already, having it crash (and being silent) in those cases
      can be pretty tricky to trace down.
      
      I'm proposing we verify whether the `ActionView::Base.logger` supports
      silencing before we try to do it, to save us the headache of tracing it
      down.
      f99c3758
  25. 25 10月, 2016 1 次提交