acceptance_test 1.4.7 → 1.4.8
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.
- checksums.yaml +8 -8
- data/.idea/acceptance_test.iml +121 -44
- data/.idea/runConfigurations/wikipedia_search__acceptance_test.xml +43 -0
- data/.rspec +1 -0
- data/CHANGES +5 -1
- data/Gemfile +1 -0
- data/Gemfile.lock +4 -0
- data/features/wikipedia/step_definitions/steps.rb +12 -20
- data/features/wikipedia/wikipedia_search.feature +3 -3
- data/features/wikipedia/{wikipedia_from_csv.feature → wikipedia_search_from_csv.feature} +3 -3
- data/lib/acceptance_test/acceptance_test.rb +19 -3
- data/lib/acceptance_test/gherkin_helper.rb +61 -0
- data/lib/acceptance_test/version.rb +1 -1
- data/{features/wikipedia/support → spec/features}/data.csv +0 -0
- data/spec/features/steps/wikipedia_steps.rb +50 -0
- data/spec/features/wikipedia_search.feature +28 -0
- data/spec/features/wikipedia_search_from_csv.feature +16 -0
- data/spec/turnip_helper.rb +12 -0
- data/spec/wikipedia_search_with_steps.rb +2 -5
- metadata +17 -7
- data/lib/acceptance_test/cucumber_helper.rb +0 -44
    
        checksums.yaml
    CHANGED
    
    | @@ -1,15 +1,15 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            !binary "U0hBMQ==":
         | 
| 3 3 | 
             
              metadata.gz: !binary |-
         | 
| 4 | 
            -
                 | 
| 4 | 
            +
                OTVlMzRiMGIyNWJmNWRjNTIyMjFlZWNjNmFlMmE4Yjg0MmYwN2MzYQ==
         | 
| 5 5 | 
             
              data.tar.gz: !binary |-
         | 
| 6 | 
            -
                 | 
| 6 | 
            +
                Nzg3ODQ5MmMwZDQwODZiNzYyYWM0MzA5ZGY5NjlkNWJlOTk0N2M5Mg==
         | 
| 7 7 | 
             
            SHA512:
         | 
| 8 8 | 
             
              metadata.gz: !binary |-
         | 
| 9 | 
            -
                 | 
| 10 | 
            -
                 | 
| 11 | 
            -
                 | 
| 9 | 
            +
                MzFjN2ZiOTg4ZGZmM2JmNTI0MDgyMGNlMTVmMTU5ZDc4OTNiNzM0NjUzY2Zi
         | 
| 10 | 
            +
                NGRlZTY2MzdjN2M5NDFjYmE5Y2ViNWQ3ZmM2NjhlMmNiYWIwMDg2MmVlOTUy
         | 
| 11 | 
            +
                NTA3OWM5M2ZlN2IzNjViMWM3YmFkNjJhNTAxMWVkYzBmMzc2ZjQ=
         | 
| 12 12 | 
             
              data.tar.gz: !binary |-
         | 
| 13 | 
            -
                 | 
| 14 | 
            -
                 | 
| 15 | 
            -
                 | 
| 13 | 
            +
                ZTVhODQyYzA1MTkxOGNkYWMyM2U5MmU2ODg1NDc4MDM3NzNmYzE2MjQwYTll
         | 
| 14 | 
            +
                NmViOWE3M2FkYzQzM2I4MTUxODIxNTNmMjJiYzY5YTVjNDM4ZGE4MGEyYjRh
         | 
| 15 | 
            +
                MDZjM2Q2MGM1ZmYzZmEwZjU2YTU1MDY2MTgyZWZlYWIxNzM3YzU=
         | 
    
        data/.idea/acceptance_test.iml
    CHANGED
    
    | @@ -10,18 +10,57 @@ | |
| 10 10 | 
             
                </facet>
         | 
| 11 11 | 
             
              </component>
         | 
| 12 12 | 
             
              <component name="ModuleRunConfigurationManager">
         | 
| 13 | 
            -
                <configuration default="false" name=" | 
| 13 | 
            +
                <configuration default="false" name="wikipedia_search: acceptance_test" type="CucumberRunConfigurationType" factoryName="Cucumber">
         | 
| 14 | 
            +
                  <predefined_log_file id="RUBY_CUCUMBER" enabled="true" />
         | 
| 15 | 
            +
                  <module name="acceptance_test" />
         | 
| 16 | 
            +
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
         | 
| 17 | 
            +
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$MODULE_DIR$/spec" />
         | 
| 18 | 
            +
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
         | 
| 19 | 
            +
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
         | 
| 20 | 
            +
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
         | 
| 21 | 
            +
                  <envs>
         | 
| 22 | 
            +
                    <env name="JRUBY_OPTS" value="-X+O" />
         | 
| 23 | 
            +
                  </envs>
         | 
| 24 | 
            +
                  <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
         | 
| 25 | 
            +
                  <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
         | 
| 26 | 
            +
                  <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
         | 
| 27 | 
            +
                    <COVERAGE_PATTERN ENABLED="true">
         | 
| 28 | 
            +
                      <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
         | 
| 29 | 
            +
                    </COVERAGE_PATTERN>
         | 
| 30 | 
            +
                  </EXTENSION>
         | 
| 31 | 
            +
                  <EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
         | 
| 32 | 
            +
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="" />
         | 
| 33 | 
            +
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
         | 
| 34 | 
            +
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
         | 
| 35 | 
            +
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/spec/features/wikipedia_search.feature" />
         | 
| 36 | 
            +
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TAGS_FILTER" VALUE="" />
         | 
| 37 | 
            +
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_NAME_FILTER" VALUE="" />
         | 
| 38 | 
            +
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_ARGS" VALUE="--color -r features" />
         | 
| 39 | 
            +
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
         | 
| 40 | 
            +
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
         | 
| 41 | 
            +
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="VERBOSE_OPTION" VALUE="false" />
         | 
| 42 | 
            +
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
         | 
| 43 | 
            +
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
         | 
| 44 | 
            +
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
         | 
| 45 | 
            +
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_RUNNER_PATH" VALUE="" />
         | 
| 46 | 
            +
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_RUNNER" VALUE="false" />
         | 
| 47 | 
            +
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SETTINGS_VERSION" VALUE="2" />
         | 
| 48 | 
            +
                  <RunnerSettings RunnerId="RubyDebugRunner" />
         | 
| 49 | 
            +
                  <RunnerSettings RunnerId="RubyRunner" />
         | 
| 50 | 
            +
                  <ConfigurationWrapper RunnerId="RubyDebugRunner" />
         | 
| 51 | 
            +
                  <ConfigurationWrapper RunnerId="RubyRunner" />
         | 
| 52 | 
            +
                  <method />
         | 
| 53 | 
            +
                </configuration>
         | 
| 54 | 
            +
                <configuration default="false" name="turnip" type="RSpecRunConfigurationType" factoryName="RSpec">
         | 
| 14 55 | 
             
                  <predefined_log_file id="RUBY_RSPEC" enabled="true" />
         | 
| 15 56 | 
             
                  <module name="acceptance_test" />
         | 
| 16 57 | 
             
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
         | 
| 17 | 
            -
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE=" | 
| 58 | 
            +
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
         | 
| 18 59 | 
             
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
         | 
| 19 60 | 
             
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
         | 
| 20 61 | 
             
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
         | 
| 21 | 
            -
                  <envs | 
| 22 | 
            -
             | 
| 23 | 
            -
                  </envs>
         | 
| 24 | 
            -
                  <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
         | 
| 62 | 
            +
                  <envs />
         | 
| 63 | 
            +
                  <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
         | 
| 25 64 | 
             
                  <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
         | 
| 26 65 | 
             
                  <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
         | 
| 27 66 | 
             
                    <COVERAGE_PATTERN ENABLED="true">
         | 
| @@ -30,7 +69,7 @@ | |
| 30 69 | 
             
                  </EXTENSION>
         | 
| 31 70 | 
             
                  <EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
         | 
| 32 71 | 
             
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
         | 
| 33 | 
            -
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/spec/ | 
| 72 | 
            +
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/spec/features/wikipedia_search.feature" />
         | 
| 34 73 | 
             
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_RUNNER_PATH" VALUE="" />
         | 
| 35 74 | 
             
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*_spec.rb" />
         | 
| 36 75 | 
             
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_EXAMPLE_NAME" VALUE="" />
         | 
| @@ -42,22 +81,22 @@ | |
| 42 81 | 
             
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
         | 
| 43 82 | 
             
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
         | 
| 44 83 | 
             
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
         | 
| 84 | 
            +
                  <RunnerSettings RunnerId="RubyDebugRunner" />
         | 
| 45 85 | 
             
                  <RunnerSettings RunnerId="RubyRunner" />
         | 
| 86 | 
            +
                  <ConfigurationWrapper RunnerId="RubyDebugRunner" />
         | 
| 46 87 | 
             
                  <ConfigurationWrapper RunnerId="RubyRunner" />
         | 
| 47 88 | 
             
                  <method />
         | 
| 48 89 | 
             
                </configuration>
         | 
| 49 | 
            -
                <configuration default="false" name=" | 
| 50 | 
            -
                  <predefined_log_file id=" | 
| 90 | 
            +
                <configuration default="false" name="turnip2" type="RSpecRunConfigurationType" factoryName="RSpec">
         | 
| 91 | 
            +
                  <predefined_log_file id="RUBY_RSPEC" enabled="true" />
         | 
| 51 92 | 
             
                  <module name="acceptance_test" />
         | 
| 52 | 
            -
                  < | 
| 53 | 
            -
                  < | 
| 54 | 
            -
                  < | 
| 55 | 
            -
                  < | 
| 56 | 
            -
                  < | 
| 57 | 
            -
                  <envs | 
| 58 | 
            -
             | 
| 59 | 
            -
                  </envs>
         | 
| 60 | 
            -
                  <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
         | 
| 93 | 
            +
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
         | 
| 94 | 
            +
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
         | 
| 95 | 
            +
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
         | 
| 96 | 
            +
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
         | 
| 97 | 
            +
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
         | 
| 98 | 
            +
                  <envs />
         | 
| 99 | 
            +
                  <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
         | 
| 61 100 | 
             
                  <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
         | 
| 62 101 | 
             
                  <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
         | 
| 63 102 | 
             
                    <COVERAGE_PATTERN ENABLED="true">
         | 
| @@ -65,29 +104,48 @@ | |
| 65 104 | 
             
                    </COVERAGE_PATTERN>
         | 
| 66 105 | 
             
                  </EXTENSION>
         | 
| 67 106 | 
             
                  <EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
         | 
| 68 | 
            -
                  < | 
| 69 | 
            -
                  < | 
| 70 | 
            -
                  < | 
| 71 | 
            -
                  < | 
| 72 | 
            -
                  < | 
| 73 | 
            -
                  < | 
| 74 | 
            -
                  < | 
| 75 | 
            -
                  < | 
| 76 | 
            -
                  < | 
| 77 | 
            -
                  < | 
| 78 | 
            -
                  < | 
| 79 | 
            -
                  < | 
| 80 | 
            -
                  < | 
| 81 | 
            -
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_RUNNER_PATH" VALUE="" />
         | 
| 82 | 
            -
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_RUNNER" VALUE="false" />
         | 
| 83 | 
            -
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SETTINGS_VERSION" VALUE="2" />
         | 
| 107 | 
            +
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
         | 
| 108 | 
            +
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/spec/features/wikipedia_search_from_csv.feature" />
         | 
| 109 | 
            +
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_RUNNER_PATH" VALUE="" />
         | 
| 110 | 
            +
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*_spec.rb" />
         | 
| 111 | 
            +
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_EXAMPLE_NAME" VALUE="" />
         | 
| 112 | 
            +
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
         | 
| 113 | 
            +
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_ARGS" VALUE="" />
         | 
| 114 | 
            +
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
         | 
| 115 | 
            +
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_SPEC_RUNNER" VALUE="false" />
         | 
| 116 | 
            +
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
         | 
| 117 | 
            +
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
         | 
| 118 | 
            +
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
         | 
| 119 | 
            +
                  <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
         | 
| 84 120 | 
             
                  <RunnerSettings RunnerId="RubyDebugRunner" />
         | 
| 85 121 | 
             
                  <RunnerSettings RunnerId="RubyRunner" />
         | 
| 86 122 | 
             
                  <ConfigurationWrapper RunnerId="RubyDebugRunner" />
         | 
| 87 123 | 
             
                  <ConfigurationWrapper RunnerId="RubyRunner" />
         | 
| 88 124 | 
             
                  <method />
         | 
| 89 125 | 
             
                </configuration>
         | 
| 90 | 
            -
                <configuration default="false" name=" | 
| 126 | 
            +
                <configuration default="false" name="wikipedia_search_with_steps" type="RubyRunConfigurationType" factoryName="Ruby" temporary="true">
         | 
| 127 | 
            +
                  <module name="acceptance_test" />
         | 
| 128 | 
            +
                  <RUBY_RUN_CONFIG NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
         | 
| 129 | 
            +
                  <RUBY_RUN_CONFIG NAME="WORK DIR" VALUE="$MODULE_DIR$/spec" />
         | 
| 130 | 
            +
                  <RUBY_RUN_CONFIG NAME="SHOULD_USE_SDK" VALUE="false" />
         | 
| 131 | 
            +
                  <RUBY_RUN_CONFIG NAME="ALTERN_SDK_NAME" VALUE="" />
         | 
| 132 | 
            +
                  <RUBY_RUN_CONFIG NAME="myPassParentEnvs" VALUE="true" />
         | 
| 133 | 
            +
                  <envs />
         | 
| 134 | 
            +
                  <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
         | 
| 135 | 
            +
                  <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
         | 
| 136 | 
            +
                  <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
         | 
| 137 | 
            +
                    <COVERAGE_PATTERN ENABLED="true">
         | 
| 138 | 
            +
                      <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
         | 
| 139 | 
            +
                    </COVERAGE_PATTERN>
         | 
| 140 | 
            +
                  </EXTENSION>
         | 
| 141 | 
            +
                  <EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
         | 
| 142 | 
            +
                  <RUBY_RUN_CONFIG NAME="SCRIPT_PATH" VALUE="$MODULE_DIR$/spec/wikipedia_search_with_steps.rb" />
         | 
| 143 | 
            +
                  <RUBY_RUN_CONFIG NAME="SCRIPT_ARGS" VALUE="" />
         | 
| 144 | 
            +
                  <RunnerSettings RunnerId="RubyRunner" />
         | 
| 145 | 
            +
                  <ConfigurationWrapper RunnerId="RubyRunner" />
         | 
| 146 | 
            +
                  <method />
         | 
| 147 | 
            +
                </configuration>
         | 
| 148 | 
            +
                <configuration default="false" name="wikipedia_search: acceptance_test (1)" type="CucumberRunConfigurationType" factoryName="Cucumber" temporary="true">
         | 
| 91 149 | 
             
                  <predefined_log_file id="RUBY_CUCUMBER" enabled="true" />
         | 
| 92 150 | 
             
                  <module name="acceptance_test" />
         | 
| 93 151 | 
             
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
         | 
| @@ -109,7 +167,7 @@ | |
| 109 167 | 
             
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*.feature" />
         | 
| 110 168 | 
             
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
         | 
| 111 169 | 
             
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
         | 
| 112 | 
            -
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/features/wikipedia/ | 
| 170 | 
            +
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/features/wikipedia/wikipedia_search.feature" />
         | 
| 113 171 | 
             
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TAGS_FILTER" VALUE="" />
         | 
| 114 172 | 
             
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_NAME_FILTER" VALUE="" />
         | 
| 115 173 | 
             
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_ARGS" VALUE="--color -r features" />
         | 
| @@ -122,13 +180,11 @@ | |
| 122 180 | 
             
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_RUNNER_PATH" VALUE="" />
         | 
| 123 181 | 
             
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_RUNNER" VALUE="false" />
         | 
| 124 182 | 
             
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SETTINGS_VERSION" VALUE="2" />
         | 
| 125 | 
            -
                  <RunnerSettings RunnerId="RubyDebugRunner" />
         | 
| 126 183 | 
             
                  <RunnerSettings RunnerId="RubyRunner" />
         | 
| 127 | 
            -
                  <ConfigurationWrapper RunnerId="RubyDebugRunner" />
         | 
| 128 184 | 
             
                  <ConfigurationWrapper RunnerId="RubyRunner" />
         | 
| 129 185 | 
             
                  <method />
         | 
| 130 186 | 
             
                </configuration>
         | 
| 131 | 
            -
                <configuration default="false" name=" | 
| 187 | 
            +
                <configuration default="false" name="wikipedia_search_from_csv: acceptance_test (1)" type="CucumberRunConfigurationType" factoryName="Cucumber" temporary="true">
         | 
| 132 188 | 
             
                  <predefined_log_file id="RUBY_CUCUMBER" enabled="true" />
         | 
| 133 189 | 
             
                  <module name="acceptance_test" />
         | 
| 134 190 | 
             
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
         | 
| @@ -150,9 +206,9 @@ | |
| 150 206 | 
             
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*.feature" />
         | 
| 151 207 | 
             
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
         | 
| 152 208 | 
             
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
         | 
| 153 | 
            -
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/features/wikipedia/ | 
| 209 | 
            +
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/features/wikipedia/wikipedia_search_from_csv.feature" />
         | 
| 154 210 | 
             
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TAGS_FILTER" VALUE="" />
         | 
| 155 | 
            -
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_NAME_FILTER" VALUE=" | 
| 211 | 
            +
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_NAME_FILTER" VALUE="" />
         | 
| 156 212 | 
             
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_ARGS" VALUE="--color -r features" />
         | 
| 157 213 | 
             
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
         | 
| 158 214 | 
             
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
         | 
| @@ -163,9 +219,7 @@ | |
| 163 219 | 
             
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_RUNNER_PATH" VALUE="" />
         | 
| 164 220 | 
             
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_RUNNER" VALUE="false" />
         | 
| 165 221 | 
             
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SETTINGS_VERSION" VALUE="2" />
         | 
| 166 | 
            -
                  <RunnerSettings RunnerId="RubyDebugRunner" />
         | 
| 167 222 | 
             
                  <RunnerSettings RunnerId="RubyRunner" />
         | 
| 168 | 
            -
                  <ConfigurationWrapper RunnerId="RubyDebugRunner" />
         | 
| 169 223 | 
             
                  <ConfigurationWrapper RunnerId="RubyRunner" />
         | 
| 170 224 | 
             
                  <method />
         | 
| 171 225 | 
             
                </configuration>
         | 
| @@ -191,7 +245,7 @@ | |
| 191 245 | 
             
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*.feature" />
         | 
| 192 246 | 
             
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
         | 
| 193 247 | 
             
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
         | 
| 194 | 
            -
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/features/wikipedia/ | 
| 248 | 
            +
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/features/wikipedia/wikipedia_search_from_csv.feature" />
         | 
| 195 249 | 
             
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TAGS_FILTER" VALUE="" />
         | 
| 196 250 | 
             
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_NAME_FILTER" VALUE="^Searching with selenium for a term with submit$" />
         | 
| 197 251 | 
             
                  <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_ARGS" VALUE="--color -r features" />
         | 
| @@ -210,6 +264,28 @@ | |
| 210 264 | 
             
                  <ConfigurationWrapper RunnerId="RubyRunner" />
         | 
| 211 265 | 
             
                  <method />
         | 
| 212 266 | 
             
                </configuration>
         | 
| 267 | 
            +
                <configuration default="false" name="steps" type="RubyRunConfigurationType" factoryName="Ruby" temporary="true">
         | 
| 268 | 
            +
                  <module name="acceptance_test" />
         | 
| 269 | 
            +
                  <RUBY_RUN_CONFIG NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
         | 
| 270 | 
            +
                  <RUBY_RUN_CONFIG NAME="WORK DIR" VALUE="$MODULE_DIR$/features/wikipedia/step_definitions" />
         | 
| 271 | 
            +
                  <RUBY_RUN_CONFIG NAME="SHOULD_USE_SDK" VALUE="false" />
         | 
| 272 | 
            +
                  <RUBY_RUN_CONFIG NAME="ALTERN_SDK_NAME" VALUE="" />
         | 
| 273 | 
            +
                  <RUBY_RUN_CONFIG NAME="myPassParentEnvs" VALUE="true" />
         | 
| 274 | 
            +
                  <envs />
         | 
| 275 | 
            +
                  <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
         | 
| 276 | 
            +
                  <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
         | 
| 277 | 
            +
                  <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
         | 
| 278 | 
            +
                    <COVERAGE_PATTERN ENABLED="true">
         | 
| 279 | 
            +
                      <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
         | 
| 280 | 
            +
                    </COVERAGE_PATTERN>
         | 
| 281 | 
            +
                  </EXTENSION>
         | 
| 282 | 
            +
                  <EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
         | 
| 283 | 
            +
                  <RUBY_RUN_CONFIG NAME="SCRIPT_PATH" VALUE="$MODULE_DIR$/features/wikipedia/step_definitions/steps.rb" />
         | 
| 284 | 
            +
                  <RUBY_RUN_CONFIG NAME="SCRIPT_ARGS" VALUE="" />
         | 
| 285 | 
            +
                  <RunnerSettings RunnerId="RubyRunner" />
         | 
| 286 | 
            +
                  <ConfigurationWrapper RunnerId="RubyRunner" />
         | 
| 287 | 
            +
                  <method />
         | 
| 288 | 
            +
                </configuration>
         | 
| 213 289 | 
             
              </component>
         | 
| 214 290 | 
             
              <component name="NewModuleRootManager">
         | 
| 215 291 | 
             
                <content url="file://$MODULE_DIR$" />
         | 
| @@ -256,6 +332,7 @@ | |
| 256 332 | 
             
                <orderEntry type="library" scope="PROVIDED" name="rubyzip (v1.1.6, RVM: ruby-1.9.3-p547 [acceptance_test]) [gem]" level="application" />
         | 
| 257 333 | 
             
                <orderEntry type="library" scope="PROVIDED" name="selenium-webdriver (v2.43.0, RVM: ruby-1.9.3-p547 [acceptance_test]) [gem]" level="application" />
         | 
| 258 334 | 
             
                <orderEntry type="library" scope="PROVIDED" name="thread_safe (v0.3.4, RVM: ruby-1.9.3-p547 [acceptance_test]) [gem]" level="application" />
         | 
| 335 | 
            +
                <orderEntry type="library" scope="PROVIDED" name="turnip (v1.2.4, RVM: ruby-1.9.3-p547 [acceptance_test]) [gem]" level="application" />
         | 
| 259 336 | 
             
                <orderEntry type="library" scope="PROVIDED" name="tzinfo (v1.2.2, RVM: ruby-1.9.3-p547 [acceptance_test]) [gem]" level="application" />
         | 
| 260 337 | 
             
                <orderEntry type="library" scope="PROVIDED" name="websocket (v1.2.1, RVM: ruby-1.9.3-p547 [acceptance_test]) [gem]" level="application" />
         | 
| 261 338 | 
             
                <orderEntry type="library" scope="PROVIDED" name="websocket-driver (v0.3.4, RVM: ruby-1.9.3-p547 [acceptance_test]) [gem]" level="application" />
         | 
| @@ -0,0 +1,43 @@ | |
| 1 | 
            +
            <component name="ProjectRunConfigurationManager">
         | 
| 2 | 
            +
              <configuration default="false" name="wikipedia_search: acceptance_test" type="CucumberRunConfigurationType" factoryName="Cucumber">
         | 
| 3 | 
            +
                <predefined_log_file id="RUBY_CUCUMBER" enabled="true" />
         | 
| 4 | 
            +
                <module name="acceptance_test" />
         | 
| 5 | 
            +
                <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
         | 
| 6 | 
            +
                <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$MODULE_DIR$/spec" />
         | 
| 7 | 
            +
                <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
         | 
| 8 | 
            +
                <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
         | 
| 9 | 
            +
                <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
         | 
| 10 | 
            +
                <envs>
         | 
| 11 | 
            +
                  <env name="JRUBY_OPTS" value="-X+O" />
         | 
| 12 | 
            +
                </envs>
         | 
| 13 | 
            +
                <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
         | 
| 14 | 
            +
                <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
         | 
| 15 | 
            +
                <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
         | 
| 16 | 
            +
                  <COVERAGE_PATTERN ENABLED="true">
         | 
| 17 | 
            +
                    <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
         | 
| 18 | 
            +
                  </COVERAGE_PATTERN>
         | 
| 19 | 
            +
                </EXTENSION>
         | 
| 20 | 
            +
                <EXTENSION ID="org.jetbrains.plugins.ruby.motion.run.MotionSimulatorRunExtension" />
         | 
| 21 | 
            +
                <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="" />
         | 
| 22 | 
            +
                <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
         | 
| 23 | 
            +
                <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
         | 
| 24 | 
            +
                <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/spec/features/wikipedia_search.feature" />
         | 
| 25 | 
            +
                <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TAGS_FILTER" VALUE="" />
         | 
| 26 | 
            +
                <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_NAME_FILTER" VALUE="" />
         | 
| 27 | 
            +
                <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_ARGS" VALUE="--color -r features" />
         | 
| 28 | 
            +
                <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
         | 
| 29 | 
            +
                <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
         | 
| 30 | 
            +
                <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="VERBOSE_OPTION" VALUE="false" />
         | 
| 31 | 
            +
                <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
         | 
| 32 | 
            +
                <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
         | 
| 33 | 
            +
                <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
         | 
| 34 | 
            +
                <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_RUNNER_PATH" VALUE="" />
         | 
| 35 | 
            +
                <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_RUNNER" VALUE="false" />
         | 
| 36 | 
            +
                <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SETTINGS_VERSION" VALUE="2" />
         | 
| 37 | 
            +
                <RunnerSettings RunnerId="RubyDebugRunner" />
         | 
| 38 | 
            +
                <RunnerSettings RunnerId="RubyRunner" />
         | 
| 39 | 
            +
                <ConfigurationWrapper RunnerId="RubyDebugRunner" />
         | 
| 40 | 
            +
                <ConfigurationWrapper RunnerId="RubyRunner" />
         | 
| 41 | 
            +
                <method />
         | 
| 42 | 
            +
              </configuration>
         | 
| 43 | 
            +
            </component>
         | 
    
        data/.rspec
    ADDED
    
    | @@ -0,0 +1 @@ | |
| 1 | 
            +
            -r turnip/rspec
         | 
    
        data/CHANGES
    CHANGED
    
    
    
        data/Gemfile
    CHANGED
    
    
    
        data/Gemfile.lock
    CHANGED
    
    | @@ -86,6 +86,9 @@ GEM | |
| 86 86 | 
             
                  rubyzip (~> 1.0)
         | 
| 87 87 | 
             
                  websocket (~> 1.0)
         | 
| 88 88 | 
             
                thread_safe (0.3.4)
         | 
| 89 | 
            +
                turnip (1.2.4)
         | 
| 90 | 
            +
                  gherkin (>= 2.5)
         | 
| 91 | 
            +
                  rspec (>= 2.14.0, < 4.0)
         | 
| 89 92 | 
             
                tzinfo (1.2.2)
         | 
| 90 93 | 
             
                  thread_safe (~> 0.1)
         | 
| 91 94 | 
             
                websocket (1.2.1)
         | 
| @@ -112,3 +115,4 @@ DEPENDENCIES | |
| 112 115 | 
             
              ruby-debug-base19x (= 0.11.30.pre12)
         | 
| 113 116 | 
             
              ruby-debug-ide (= 0.4.17)
         | 
| 114 117 | 
             
              selenium-webdriver (~> 2.43.0)
         | 
| 118 | 
            +
              turnip (~> 1.2.4)
         | 
| @@ -1,34 +1,26 @@ | |
| 1 | 
            -
            require 'acceptance_test'
         | 
| 2 | 
            -
            require 'acceptance_test/cucumber_helper.rb'
         | 
| 3 | 
            -
             | 
| 4 1 | 
             
            require 'csv'
         | 
| 2 | 
            +
            require 'yaml'
         | 
| 5 3 |  | 
| 6 | 
            -
            acceptance_test | 
| 7 | 
            -
             | 
| 8 | 
            -
            cucumber_helper = CucumberHelper.instance
         | 
| 4 | 
            +
            require 'acceptance_test'
         | 
| 9 5 |  | 
| 10 | 
            -
             | 
| 11 | 
            -
              source_path = cucumber_helper.source_path(scenario)
         | 
| 6 | 
            +
            require 'acceptance_test/gherkin_helper'
         | 
| 12 7 |  | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 8 | 
            +
            data_reader = lambda {|source_path| CSV.read(File.expand_path(source_path)) }
         | 
| 9 | 
            +
            GherkinHelper.instance.enable_external_source data_reader
         | 
| 15 10 |  | 
| 16 | 
            -
             | 
| 11 | 
            +
            acceptance_test = nil
         | 
| 17 12 |  | 
| 13 | 
            +
            Before do |scenario|
         | 
| 18 14 | 
             
              config_name = File.expand_path("spec/acceptance_config.yml")
         | 
| 19 15 | 
             
              config = HashWithIndifferentAccess.new(YAML.load_file(config_name))
         | 
| 20 16 |  | 
| 21 | 
            -
              AcceptanceTest.new config
         | 
| 22 | 
            -
            end
         | 
| 17 | 
            +
              acceptance_test = AcceptanceTest.new config
         | 
| 23 18 |  | 
| 24 | 
            -
             | 
| 25 | 
            -
              acceptance_test = create_acceptance_test(scenario, cucumber_helper)
         | 
| 26 | 
            -
             | 
| 27 | 
            -
              acceptance_test.before cucumber_helper.metadata_from_scenario(scenario)
         | 
| 19 | 
            +
              acceptance_test.before acceptance_test.metadata_from_scenario(scenario)
         | 
| 28 20 | 
             
            end
         | 
| 29 21 |  | 
| 30 22 | 
             
            After do |scenario|
         | 
| 31 | 
            -
              acceptance_test.after  | 
| 23 | 
            +
              acceptance_test.after acceptance_test.metadata_from_scenario(scenario)
         | 
| 32 24 |  | 
| 33 25 | 
             
              reset_session!
         | 
| 34 26 | 
             
            end
         | 
| @@ -55,7 +47,7 @@ Then /^I should see css "([^"]*)"$/ do |css| | |
| 55 47 | 
             
              expect(page).to have_css(css)
         | 
| 56 48 | 
             
            end
         | 
| 57 49 |  | 
| 58 | 
            -
            When(/^click submit button$/) do
         | 
| 50 | 
            +
            When(/^I click submit button$/) do
         | 
| 59 51 | 
             
              find(".formBtn", match: :first).click
         | 
| 60 52 | 
             
            end
         | 
| 61 53 |  | 
| @@ -65,4 +57,4 @@ end | |
| 65 57 |  | 
| 66 58 | 
             
            Then(/^I should see keyword results: (.*)$/) do |keyword|
         | 
| 67 59 | 
             
              expect(page).to have_content keyword
         | 
| 68 | 
            -
            end
         | 
| 60 | 
            +
            end
         | 
| @@ -8,7 +8,7 @@ Feature: Using Wikipedia | |
| 8 8 |  | 
| 9 9 | 
             
                Given I am on wikipedia.com
         | 
| 10 10 | 
             
                When I enter "Capybara"
         | 
| 11 | 
            -
                And click submit button
         | 
| 11 | 
            +
                And I click submit button
         | 
| 12 12 | 
             
                Then I should see results: "Capybara"
         | 
| 13 13 |  | 
| 14 14 | 
             
              @webkit
         | 
| @@ -16,7 +16,7 @@ Feature: Using Wikipedia | |
| 16 16 |  | 
| 17 17 | 
             
                Given I am on wikipedia.com
         | 
| 18 18 | 
             
                When I enter "Capybara"
         | 
| 19 | 
            -
                And click submit button
         | 
| 19 | 
            +
                And I click submit button
         | 
| 20 20 | 
             
                Then I should see results: "Capybara"
         | 
| 21 21 |  | 
| 22 22 | 
             
              @poltergeist
         | 
| @@ -24,5 +24,5 @@ Feature: Using Wikipedia | |
| 24 24 |  | 
| 25 25 | 
             
                Given I am on wikipedia.com
         | 
| 26 26 | 
             
                When I enter "Capybara"
         | 
| 27 | 
            -
                And click submit button
         | 
| 27 | 
            +
                And I click submit button
         | 
| 28 28 | 
             
                Then I should see results: "Capybara"
         | 
| @@ -8,9 +8,9 @@ Feature: Using Wikipedia | |
| 8 8 |  | 
| 9 9 | 
             
                Given I am on wikipedia.com
         | 
| 10 10 | 
             
                When I enter word <keyword>
         | 
| 11 | 
            -
                And click submit button
         | 
| 11 | 
            +
                And I click submit button
         | 
| 12 12 | 
             
                Then I should see keyword results: <keyword>
         | 
| 13 13 |  | 
| 14 14 | 
             
                Examples:
         | 
| 15 | 
            -
                  |  | 
| 16 | 
            -
                  | features/ | 
| 15 | 
            +
                  | keyword |
         | 
| 16 | 
            +
                  | file:spec/features/data.csv |
         | 
| @@ -88,11 +88,11 @@ class AcceptanceTest | |
| 88 88 | 
             
                    @acceptance_test = acceptance_test
         | 
| 89 89 | 
             
                  end
         | 
| 90 90 |  | 
| 91 | 
            -
                   | 
| 91 | 
            +
                  around do |example|
         | 
| 92 92 | 
             
                    acceptance_test.before example.metadata
         | 
| 93 | 
            -
                  end
         | 
| 94 93 |  | 
| 95 | 
            -
             | 
| 94 | 
            +
                    example.run
         | 
| 95 | 
            +
             | 
| 96 96 | 
             
                    acceptance_test.after example.metadata, example.exception, page
         | 
| 97 97 |  | 
| 98 98 | 
             
                    self.reset_session!
         | 
| @@ -106,6 +106,22 @@ class AcceptanceTest | |
| 106 106 | 
             
                end
         | 
| 107 107 | 
             
              end
         | 
| 108 108 |  | 
| 109 | 
            +
              def metadata_from_scenario scenario
         | 
| 110 | 
            +
                tags = scenario.source_tag_names.collect { |a| a.gsub("@", '') }
         | 
| 111 | 
            +
             | 
| 112 | 
            +
                metadata = {}
         | 
| 113 | 
            +
             | 
| 114 | 
            +
                if tags.size > 0
         | 
| 115 | 
            +
                  tag = tags.first.to_sym
         | 
| 116 | 
            +
             | 
| 117 | 
            +
                  if AcceptanceTest.supported_drivers.include? tag
         | 
| 118 | 
            +
                    metadata[:driver] = tag
         | 
| 119 | 
            +
                  end
         | 
| 120 | 
            +
                end
         | 
| 121 | 
            +
             | 
| 122 | 
            +
                metadata
         | 
| 123 | 
            +
              end
         | 
| 124 | 
            +
             | 
| 109 125 | 
             
              def driver metadata
         | 
| 110 126 | 
             
                driver = ENV['DRIVER'].nil? ? nil : ENV['DRIVER'].to_sym
         | 
| 111 127 |  | 
| @@ -0,0 +1,61 @@ | |
| 1 | 
            +
            require 'singleton'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            require 'gherkin/lexer/i18n_lexer'
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            class GherkinHelper
         | 
| 6 | 
            +
              include Singleton
         | 
| 7 | 
            +
             | 
| 8 | 
            +
              def enable_external_source data_reader
         | 
| 9 | 
            +
                lexer = Gherkin::Lexer::I18nLexer
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                lexer.class_eval do
         | 
| 12 | 
            +
                  @data_reader = data_reader # class instance variable
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                  def self.data_reader # access to class instance variable
         | 
| 15 | 
            +
                    @data_reader
         | 
| 16 | 
            +
                  end
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                  alias_method :old_scan, :scan
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                  def scan(source)
         | 
| 21 | 
            +
                    old_scan self.class.modify_source(source)
         | 
| 22 | 
            +
                  end
         | 
| 23 | 
            +
             | 
| 24 | 
            +
                  private
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                  def self.modify_source source
         | 
| 27 | 
            +
                    if source =~ /file\s?:/
         | 
| 28 | 
            +
                      new_source = ""
         | 
| 29 | 
            +
             | 
| 30 | 
            +
                      source.each_line do |line|
         | 
| 31 | 
            +
                        if line =~ /file\s?:/
         | 
| 32 | 
            +
                          source_path = line.gsub('file:', '').gsub('|', '').strip
         | 
| 33 | 
            +
             | 
| 34 | 
            +
                          if source_path
         | 
| 35 | 
            +
                            values = self.data_reader.call(source_path)
         | 
| 36 | 
            +
             | 
| 37 | 
            +
                            values.each do |row|
         | 
| 38 | 
            +
                              new_source += "  |"
         | 
| 39 | 
            +
             | 
| 40 | 
            +
                              row.each do |element|
         | 
| 41 | 
            +
                                new_source += " #{element} |"
         | 
| 42 | 
            +
                              end
         | 
| 43 | 
            +
                              new_source += "\n"
         | 
| 44 | 
            +
                            end
         | 
| 45 | 
            +
                          end
         | 
| 46 | 
            +
                        else
         | 
| 47 | 
            +
                          new_source += line
         | 
| 48 | 
            +
                        end
         | 
| 49 | 
            +
             | 
| 50 | 
            +
                        new_source += "\n"
         | 
| 51 | 
            +
                      end
         | 
| 52 | 
            +
             | 
| 53 | 
            +
                      new_source
         | 
| 54 | 
            +
                    else
         | 
| 55 | 
            +
                      source
         | 
| 56 | 
            +
                    end
         | 
| 57 | 
            +
                  end
         | 
| 58 | 
            +
                end
         | 
| 59 | 
            +
              end
         | 
| 60 | 
            +
             | 
| 61 | 
            +
            end
         | 
| 
            File without changes
         | 
| @@ -0,0 +1,50 @@ | |
| 1 | 
            +
            require 'acceptance_test'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            require 'csv'
         | 
| 4 | 
            +
            require 'yaml'
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            require 'acceptance_test/gherkin_helper'
         | 
| 7 | 
            +
             | 
| 8 | 
            +
            data_reader = lambda {|source_path| CSV.read(File.expand_path(source_path)) }
         | 
| 9 | 
            +
             | 
| 10 | 
            +
            GherkinHelper.instance.enable_external_source data_reader
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            config_name = File.expand_path("spec/acceptance_config.yml")
         | 
| 13 | 
            +
            acceptance_config = HashWithIndifferentAccess.new(YAML.load_file(config_name))
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            acceptance_test = AcceptanceTest.new acceptance_config
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            RSpec.configure do |config|
         | 
| 18 | 
            +
              config.around(:each) do |example|
         | 
| 19 | 
            +
                acceptance_test.before({})
         | 
| 20 | 
            +
             | 
| 21 | 
            +
                example.run
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                acceptance_test.after({})
         | 
| 24 | 
            +
             | 
| 25 | 
            +
                reset_session!
         | 
| 26 | 
            +
              end
         | 
| 27 | 
            +
            end
         | 
| 28 | 
            +
             | 
| 29 | 
            +
            module WikipediaSteps
         | 
| 30 | 
            +
              step "I am within wikipedia.com" do
         | 
| 31 | 
            +
            #    Capybara.app_host = "http://wikipedia.com"
         | 
| 32 | 
            +
                # Capybara.default_driver = :selenium
         | 
| 33 | 
            +
              end
         | 
| 34 | 
            +
             | 
| 35 | 
            +
              step "I am on wikipedia.com" do
         | 
| 36 | 
            +
                visit('/')
         | 
| 37 | 
            +
              end
         | 
| 38 | 
            +
             | 
| 39 | 
            +
              step "I enter word :word" do |word|
         | 
| 40 | 
            +
                fill_in "searchInput", :with => word
         | 
| 41 | 
            +
              end
         | 
| 42 | 
            +
             | 
| 43 | 
            +
              step "I click submit button" do
         | 
| 44 | 
            +
                find(".formBtn", match: :first).click
         | 
| 45 | 
            +
              end
         | 
| 46 | 
            +
             | 
| 47 | 
            +
              step "I should see results: :content" do |text|
         | 
| 48 | 
            +
                expect(page).to have_content text
         | 
| 49 | 
            +
              end
         | 
| 50 | 
            +
            end
         | 
| @@ -0,0 +1,28 @@ | |
| 1 | 
            +
            Feature: Using Wikipedia
         | 
| 2 | 
            +
             | 
| 3 | 
            +
              Background: within wikipedia.com context
         | 
| 4 | 
            +
                Given I am within wikipedia.com
         | 
| 5 | 
            +
             | 
| 6 | 
            +
              @selenium
         | 
| 7 | 
            +
              Scenario: Searching with selenium for a term with submit
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                Given I am on wikipedia.com
         | 
| 10 | 
            +
                When I enter word "Capybara"
         | 
| 11 | 
            +
                And I click submit button
         | 
| 12 | 
            +
                Then I should see results: "Capybara"
         | 
| 13 | 
            +
             | 
| 14 | 
            +
              @webkit
         | 
| 15 | 
            +
              Scenario: Searching with selenium for a term with submit
         | 
| 16 | 
            +
             | 
| 17 | 
            +
                Given I am on wikipedia.com
         | 
| 18 | 
            +
                When I enter word "Capybara"
         | 
| 19 | 
            +
                And I click submit button
         | 
| 20 | 
            +
                Then I should see results: "Capybara"
         | 
| 21 | 
            +
             | 
| 22 | 
            +
              @poltergeist
         | 
| 23 | 
            +
              Scenario: Searching with selenium for a term with submit
         | 
| 24 | 
            +
             | 
| 25 | 
            +
                Given I am on wikipedia.com
         | 
| 26 | 
            +
                When I enter word "Capybara"
         | 
| 27 | 
            +
                And I click submit button
         | 
| 28 | 
            +
                Then I should see results: "Capybara"
         | 
| @@ -0,0 +1,16 @@ | |
| 1 | 
            +
            Feature: Using Wikipedia
         | 
| 2 | 
            +
             | 
| 3 | 
            +
              Background: within wikipedia.com context
         | 
| 4 | 
            +
                Given I am within wikipedia.com
         | 
| 5 | 
            +
             | 
| 6 | 
            +
              @selenium
         | 
| 7 | 
            +
              Scenario Outline: Searching with selenium for a term with submit
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                Given I am on wikipedia.com
         | 
| 10 | 
            +
                When I enter word <keyword>
         | 
| 11 | 
            +
                And I click submit button
         | 
| 12 | 
            +
                Then I should see results: <keyword>
         | 
| 13 | 
            +
             | 
| 14 | 
            +
              Examples:
         | 
| 15 | 
            +
                | keyword |
         | 
| 16 | 
            +
                | file:spec/features/data.csv |
         | 
| @@ -1,6 +1,3 @@ | |
| 1 | 
            -
            # ENV["RAILS_ENV"] ||= 'test'
         | 
| 2 | 
            -
            # puts "Environment: #{ENV["RAILS_ENV"]}"
         | 
| 3 | 
            -
            #
         | 
| 4 1 | 
             
            require 'rspec'
         | 
| 5 2 | 
             
            require 'rspec/example_steps'
         | 
| 6 3 | 
             
            require "capybara-webkit"
         | 
| @@ -13,6 +10,7 @@ Capybara.app_host = "http://www.wikipedia.org" | |
| 13 10 | 
             
            Capybara.default_driver = :selenium
         | 
| 14 11 |  | 
| 15 12 | 
             
            RSpec.describe "Searching" do
         | 
| 13 | 
            +
             | 
| 16 14 | 
             
              Steps "Result found" do
         | 
| 17 15 | 
             
                Given "I am on wikipedia.com" do
         | 
| 18 16 | 
             
                  visit('/')
         | 
| @@ -22,7 +20,7 @@ RSpec.describe "Searching" do | |
| 22 20 | 
             
                  fill_in "searchInput", :with => "Capybara"
         | 
| 23 21 | 
             
                end
         | 
| 24 22 |  | 
| 25 | 
            -
                When "click submit button" do
         | 
| 23 | 
            +
                When "I click submit button" do
         | 
| 26 24 | 
             
                  find(".formBtn", match: :first).click
         | 
| 27 25 | 
             
                end
         | 
| 28 26 |  | 
| @@ -30,6 +28,5 @@ RSpec.describe "Searching" do | |
| 30 28 | 
             
                  expect(page).to have_content "Hydrochoerus hydrochaeris"
         | 
| 31 29 | 
             
                end
         | 
| 32 30 | 
             
              end
         | 
| 33 | 
            -
             | 
| 34 31 | 
             
            end
         | 
| 35 32 |  | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: acceptance_test
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.4. | 
| 4 | 
            +
              version: 1.4.8
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Alexander Shvets
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2014- | 
| 11 | 
            +
            date: 2014-10-01 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: gemspec_deps_gen
         | 
| @@ -51,8 +51,10 @@ files: | |
| 51 51 | 
             
            - .idea/jenkinsSettings.xml
         | 
| 52 52 | 
             
            - .idea/misc.xml
         | 
| 53 53 | 
             
            - .idea/modules.xml
         | 
| 54 | 
            +
            - .idea/runConfigurations/wikipedia_search__acceptance_test.xml
         | 
| 54 55 | 
             
            - .idea/scopes/scope_settings.xml
         | 
| 55 56 | 
             
            - .idea/vcs.xml
         | 
| 57 | 
            +
            - .rspec
         | 
| 56 58 | 
             
            - .ruby-gemset
         | 
| 57 59 | 
             
            - .ruby-version
         | 
| 58 60 | 
             
            - CHANGES
         | 
| @@ -64,18 +66,22 @@ files: | |
| 64 66 | 
             
            - acceptance_test.gemspec
         | 
| 65 67 | 
             
            - acceptance_test.gemspec.erb
         | 
| 66 68 | 
             
            - features/wikipedia/step_definitions/steps.rb
         | 
| 67 | 
            -
            - features/wikipedia/support/data.csv
         | 
| 68 69 | 
             
            - features/wikipedia/support/env.rb
         | 
| 69 | 
            -
            - features/wikipedia/wikipedia_from_csv.feature
         | 
| 70 70 | 
             
            - features/wikipedia/wikipedia_search.feature
         | 
| 71 | 
            +
            - features/wikipedia/wikipedia_search_from_csv.feature
         | 
| 71 72 | 
             
            - lib/acceptance_test.rb
         | 
| 72 73 | 
             
            - lib/acceptance_test/acceptance_test.rb
         | 
| 73 | 
            -
            - lib/acceptance_test/ | 
| 74 | 
            +
            - lib/acceptance_test/gherkin_helper.rb
         | 
| 74 75 | 
             
            - lib/acceptance_test/page.rb
         | 
| 75 76 | 
             
            - lib/acceptance_test/page_set.rb
         | 
| 76 77 | 
             
            - lib/acceptance_test/screenshot_maker.rb
         | 
| 77 78 | 
             
            - lib/acceptance_test/version.rb
         | 
| 78 79 | 
             
            - spec/acceptance_config.yml
         | 
| 80 | 
            +
            - spec/features/data.csv
         | 
| 81 | 
            +
            - spec/features/steps/wikipedia_steps.rb
         | 
| 82 | 
            +
            - spec/features/wikipedia_search.feature
         | 
| 83 | 
            +
            - spec/features/wikipedia_search_from_csv.feature
         | 
| 84 | 
            +
            - spec/turnip_helper.rb
         | 
| 79 85 | 
             
            - spec/wikipedia_search_spec.rb
         | 
| 80 86 | 
             
            - spec/wikipedia_search_with_config_spec.rb
         | 
| 81 87 | 
             
            - spec/wikipedia_search_with_steps.rb
         | 
| @@ -105,11 +111,15 @@ specification_version: 4 | |
| 105 111 | 
             
            summary: Simplifies congiguration and run of acceptance tests.
         | 
| 106 112 | 
             
            test_files:
         | 
| 107 113 | 
             
            - features/wikipedia/step_definitions/steps.rb
         | 
| 108 | 
            -
            - features/wikipedia/support/data.csv
         | 
| 109 114 | 
             
            - features/wikipedia/support/env.rb
         | 
| 110 | 
            -
            - features/wikipedia/wikipedia_from_csv.feature
         | 
| 111 115 | 
             
            - features/wikipedia/wikipedia_search.feature
         | 
| 116 | 
            +
            - features/wikipedia/wikipedia_search_from_csv.feature
         | 
| 112 117 | 
             
            - spec/acceptance_config.yml
         | 
| 118 | 
            +
            - spec/features/data.csv
         | 
| 119 | 
            +
            - spec/features/steps/wikipedia_steps.rb
         | 
| 120 | 
            +
            - spec/features/wikipedia_search.feature
         | 
| 121 | 
            +
            - spec/features/wikipedia_search_from_csv.feature
         | 
| 122 | 
            +
            - spec/turnip_helper.rb
         | 
| 113 123 | 
             
            - spec/wikipedia_search_spec.rb
         | 
| 114 124 | 
             
            - spec/wikipedia_search_with_config_spec.rb
         | 
| 115 125 | 
             
            - spec/wikipedia_search_with_steps.rb
         | 
| @@ -1,44 +0,0 @@ | |
| 1 | 
            -
            require 'singleton'
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            require 'cucumber/ast/outline_table'
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            class CucumberHelper
         | 
| 6 | 
            -
              include Singleton
         | 
| 7 | 
            -
             | 
| 8 | 
            -
              def source_type scenario
         | 
| 9 | 
            -
                examples(scenario)[0][0][5][0][0]
         | 
| 10 | 
            -
              end
         | 
| 11 | 
            -
             | 
| 12 | 
            -
              def source_path scenario
         | 
| 13 | 
            -
                examples(scenario)[0][0][5][1][0]
         | 
| 14 | 
            -
              end
         | 
| 15 | 
            -
             | 
| 16 | 
            -
              def set_outline_table scenario, keys, values
         | 
| 17 | 
            -
                if scenario.kind_of?(Cucumber::Ast::ScenarioOutline) and source_type(scenario) == 'file'
         | 
| 18 | 
            -
                  examples(scenario)[0][0][5] = keys + values
         | 
| 19 | 
            -
                end
         | 
| 20 | 
            -
              end
         | 
| 21 | 
            -
             | 
| 22 | 
            -
              def metadata_from_scenario scenario
         | 
| 23 | 
            -
                tags = scenario.source_tag_names.collect { |a| a.gsub("@", '') }
         | 
| 24 | 
            -
             | 
| 25 | 
            -
                metadata = {}
         | 
| 26 | 
            -
             | 
| 27 | 
            -
                if tags.size > 0
         | 
| 28 | 
            -
                  tag = tags.first.to_sym
         | 
| 29 | 
            -
             | 
| 30 | 
            -
                  if AcceptanceTest.supported_drivers.include? tag
         | 
| 31 | 
            -
                    metadata[:driver] = tag
         | 
| 32 | 
            -
                  end
         | 
| 33 | 
            -
                end
         | 
| 34 | 
            -
             | 
| 35 | 
            -
                metadata
         | 
| 36 | 
            -
              end
         | 
| 37 | 
            -
             | 
| 38 | 
            -
              private
         | 
| 39 | 
            -
             | 
| 40 | 
            -
              def examples scenario
         | 
| 41 | 
            -
                scenario.instance_variable_get(:@example_sections)
         | 
| 42 | 
            -
              end
         | 
| 43 | 
            -
             | 
| 44 | 
            -
            end
         |