friendly-cukes 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +14 -0
- data/DETAILED_DESCRIPTION.md +235 -0
- data/Gemfile +17 -0
- data/LICENSE.txt +22 -0
- data/README.md +108 -0
- data/Rakefile +2 -0
- data/bin/build-extractor +69 -0
- data/bin/friendly-cukes +48 -0
- data/friendly-cukes.gemspec +41 -0
- data/lib/friendly/build_extractor.rb +647 -0
- data/lib/friendly/cukes.rb +29 -0
- data/lib/friendly/cukes/framework/Gemfile +16 -0
- data/lib/friendly/cukes/framework/Gemfile.lock +113 -0
- data/lib/friendly/cukes/framework/Rakefile.rb +19 -0
- data/lib/friendly/cukes/framework/config/config.yml +87 -0
- data/lib/friendly/cukes/framework/config/cucumber.yml +49 -0
- data/lib/friendly/cukes/framework/coverage/.last_run.json +5 -0
- data/lib/friendly/cukes/framework/coverage/.resultset.json +3519 -0
- data/lib/friendly/cukes/framework/coverage/.resultset.json.lock +0 -0
- data/lib/friendly/cukes/framework/coverage/rcov/assets/0.2.3/jquery-1.3.2.min.js +19 -0
- data/lib/friendly/cukes/framework/coverage/rcov/assets/0.2.3/jquery.tablesorter.min.js +15 -0
- data/lib/friendly/cukes/framework/coverage/rcov/assets/0.2.3/print.css +12 -0
- data/lib/friendly/cukes/framework/coverage/rcov/assets/0.2.3/rcov.js +42 -0
- data/lib/friendly/cukes/framework/coverage/rcov/assets/0.2.3/screen.css +270 -0
- data/lib/friendly/cukes/framework/coverage/rcov/index.html +392 -0
- data/lib/friendly/cukes/framework/coverage/rcov/library-app_init-app_driver_rb.html +98 -0
- data/lib/friendly/cukes/framework/coverage/rcov/library-app_utils-data_file_names_rb.html +65 -0
- data/lib/friendly/cukes/framework/coverage/rcov/library-app_utils-page_utils_rb.html +533 -0
- data/lib/friendly/cukes/framework/coverage/rcov/library-generic-create_log_rb.html +521 -0
- data/lib/friendly/cukes/framework/coverage/rcov/library-generic-custom_html_report_rb.html +2522 -0
- data/lib/friendly/cukes/framework/coverage/rcov/library-generic-datetime_library_rb.html +296 -0
- data/lib/friendly/cukes/framework/coverage/rcov/library-generic-file_library_rb.html +995 -0
- data/lib/friendly/cukes/framework/coverage/rcov/library-generic-performance_report_rb.html +1613 -0
- data/lib/friendly/cukes/framework/coverage/rcov/library-generic-read_from_yml_rb.html +944 -0
- data/lib/friendly/cukes/framework/coverage/rcov/object_repository-desktop-gem_search_rb.html +773 -0
- data/lib/friendly/cukes/framework/coverage/rcov/object_repository-desktop-google_search_rb.html +230 -0
- data/lib/friendly/cukes/framework/coverage/rcov/object_repository-mobile-mobile_google_search_rb.html +230 -0
- data/lib/friendly/cukes/framework/coverage/rcov/step_definitions-desktop-gem_search_rb.html +188 -0
- data/lib/friendly/cukes/framework/coverage/rcov/step_definitions-desktop-google_search_steps_rb.html +167 -0
- data/lib/friendly/cukes/framework/coverage/rcov/step_definitions-mobile-mobile_google_search_steps_rb.html +167 -0
- data/lib/friendly/cukes/framework/coverage/rcov/support-browser_settings_rb.html +851 -0
- data/lib/friendly/cukes/framework/coverage/rcov/support-env_rb.html +242 -0
- data/lib/friendly/cukes/framework/coverage/rcov/support-hooks_rb.html +878 -0
- data/lib/friendly/cukes/framework/coverage/rcov/support-html_formatter_rb.html +230 -0
- data/lib/friendly/cukes/framework/features/desktop/google_search/google_search.feature +19 -0
- data/lib/friendly/cukes/framework/features/desktop/rubygems_search/gem_name_tc_04.yml +2 -0
- data/lib/friendly/cukes/framework/features/desktop/rubygems_search/gem_search.feature +37 -0
- data/lib/friendly/cukes/framework/features/desktop/test_data/gem_name.yml +2 -0
- data/lib/friendly/cukes/framework/features/mobile/google_search/mobile_google_search.feature +19 -0
- data/lib/friendly/cukes/framework/library/app_init/app_init.rb +13 -0
- data/lib/friendly/cukes/framework/library/app_utils/data_file_names.rb +2 -0
- data/lib/friendly/cukes/framework/library/app_utils/page_utils.rb +157 -0
- data/lib/friendly/cukes/framework/library/generic/app_logo_1.png +0 -0
- data/lib/friendly/cukes/framework/library/generic/create_log.rb +154 -0
- data/lib/friendly/cukes/framework/library/generic/custom_html_report.rb +852 -0
- data/lib/friendly/cukes/framework/library/generic/datetime_library.rb +79 -0
- data/lib/friendly/cukes/framework/library/generic/file_library.rb +311 -0
- data/lib/friendly/cukes/framework/library/generic/performance_report.rb +518 -0
- data/lib/friendly/cukes/framework/library/generic/read_from_yml.rb +294 -0
- data/lib/friendly/cukes/framework/object_repository/desktop/desktop_web_object_repo.rb +50 -0
- data/lib/friendly/cukes/framework/object_repository/mobile/mobile_web_object_repo.rb +22 -0
- data/lib/friendly/cukes/framework/page_objects/desktop/gem_search.rb +213 -0
- data/lib/friendly/cukes/framework/page_objects/desktop/google_search.rb +53 -0
- data/lib/friendly/cukes/framework/page_objects/mobile/mobile_google_search.rb +53 -0
- data/lib/friendly/cukes/framework/step_definitions/desktop/gem_search.rb +43 -0
- data/lib/friendly/cukes/framework/step_definitions/desktop/google_search_steps.rb +36 -0
- data/lib/friendly/cukes/framework/step_definitions/mobile/mobile_google_search_steps.rb +36 -0
- data/lib/friendly/cukes/framework/support/browser_settings.rb +264 -0
- data/lib/friendly/cukes/framework/support/env.rb +65 -0
- data/lib/friendly/cukes/framework/support/hooks.rb +274 -0
- data/lib/friendly/cukes/framework/support/html_formatter.rb +57 -0
- data/lib/friendly/cukes/framework/test_result/test_report_21_05_2015-11_03_33/app_env.log +15 -0
- data/lib/friendly/cukes/framework/test_result/test_report_21_05_2015-11_03_33/custom_report/detailed_report/app_logo_1.png +0 -0
- data/lib/friendly/cukes/framework/test_result/test_report_21_05_2015-11_03_33/custom_report/detailed_report/desktop_gem_search.html +647 -0
- data/lib/friendly/cukes/framework/test_result/test_report_21_05_2015-11_03_33/custom_report/detailed_report/desktop_google_search.html +590 -0
- data/lib/friendly/cukes/framework/test_result/test_report_21_05_2015-11_03_33/custom_report/report_home.html +593 -0
- data/lib/friendly/cukes/framework/test_result/test_report_21_05_2015-11_03_33/desktop_rubygems_search.log +84 -0
- data/lib/friendly/cukes/framework/test_result/test_report_21_05_2015-11_03_33/report_21_05_2015-11_04_54.html +472 -0
- data/lib/friendly/cukes/framework/test_result/test_report_21_05_2015-11_03_33/report_21_05_2015-11_04_54.json +299 -0
- data/lib/friendly/cukes/framework/test_result/test_report_21_05_2015-11_03_37/app_env.log +15 -0
- data/lib/friendly/cukes/framework/test_result/test_report_21_05_2015-11_03_37/desktop_google_search.log +22 -0
- data/lib/friendly/cukes/framework/test_result/test_report_21_05_2015-11_03_37/report_21_05_2015-11_03_49.html +472 -0
- data/lib/friendly/cukes/framework/test_result/test_report_21_05_2015-11_03_37/report_21_05_2015-11_03_49.json +155 -0
- data/lib/friendly/cukes/framework/test_result/test_report_21_05_2015-17_28_10/app_env.log +15 -0
- data/lib/friendly/cukes/framework/test_result/test_report_21_05_2015-17_28_10/mobile_google_search.log +22 -0
- data/lib/friendly/cukes/framework/test_result/test_report_21_05_2015-17_28_10/report_21_05_2015-17_29_26.html +472 -0
- data/lib/friendly/cukes/framework/test_result/test_report_21_05_2015-17_28_10/report_21_05_2015-17_29_26.json +143 -0
- data/lib/friendly/cukes/version.rb +61 -0
- metadata +309 -0
@@ -0,0 +1,65 @@
|
|
1
|
+
=begin
|
2
|
+
*Name : env.rb
|
3
|
+
*Description : requires the important classes/modules for application execution
|
4
|
+
*Author : Chandra sekaran
|
5
|
+
*Creation Date : 24/04/2015
|
6
|
+
*Updation Date :
|
7
|
+
=end
|
8
|
+
|
9
|
+
# Code Coverage report
|
10
|
+
# the cucumber run command should include the command line argument CODE_COVERAGE=yes (or true) in order to get code
|
11
|
+
# coverage report, which is a html report that pictorizes script LOC (Lines of COde) execution coverage
|
12
|
+
if !ENV["CODE_COVERAGE"].nil? && (["yes", "true"].include?(ENV["CODE_COVERAGE"].downcase))
|
13
|
+
require "simplecov"
|
14
|
+
require "simplecov-json"
|
15
|
+
require "simplecov-rcov"
|
16
|
+
SimpleCov.formatters = [
|
17
|
+
SimpleCov::Formatter::RcovFormatter
|
18
|
+
]
|
19
|
+
#SimpleCov::Formatter::HTMLFormatter, SimpleCov::Formatter::JSONFormatter
|
20
|
+
SimpleCov.start
|
21
|
+
end
|
22
|
+
|
23
|
+
require "rubygems"
|
24
|
+
require "page-object"
|
25
|
+
require "watir-webdriver"
|
26
|
+
require "yaml"
|
27
|
+
require "logger"
|
28
|
+
require "fileutils"
|
29
|
+
require "time_difference"
|
30
|
+
require "data_magic"
|
31
|
+
require "require_all"
|
32
|
+
require "nokogiri"
|
33
|
+
require "base64"
|
34
|
+
require "open3" # for capturing STDOUT, STDERR messages
|
35
|
+
require "json" # for json file manipulation in performance report
|
36
|
+
require "dbi" # for storing execution performance data in Sybase DB
|
37
|
+
require "appium_lib" if ENV["PLATFORM"].downcase == "mobile" # for mobile automation
|
38
|
+
|
39
|
+
require_all "library"
|
40
|
+
require_all "object_repository"
|
41
|
+
require_all "page_objects"
|
42
|
+
|
43
|
+
World(PageObject::PageFactory) # make PageObject available throughout the application
|
44
|
+
|
45
|
+
# environment variables moved to constants that is available throughout the application
|
46
|
+
PLATFORM = ENV["PLATFORM"] || nil # for platform if desktop/mobile
|
47
|
+
BROWSER = ENV["BROWSER"] || nil # for browser if firefox/chrome/internet_explorer/safari/android
|
48
|
+
BOX = ENV["BOX"] || nil # for box name having multiple profiles
|
49
|
+
DEVICE = ENV["DEVICE"] || nil # for mobile device if it is attached to the machine
|
50
|
+
|
51
|
+
# for resetting the profiles (in config.yml) the cucumber run command line argument should include RESET_CONFIG_VALUES=yes (or true)
|
52
|
+
# which will reset all the profiles
|
53
|
+
RESET_CONFIG_VALUES = ENV["RESET_CONFIG_VALUES"] || nil
|
54
|
+
|
55
|
+
$REPORT_FILE_NAME = "report_#{$$}" # name of the cucumber generated report file (appended with process id as unique value)
|
56
|
+
|
57
|
+
# validating command environment variables
|
58
|
+
raise "Command Line Exception : PLATFORM can not be nil" if PLATFORM.nil?
|
59
|
+
raise "Command Line Exception : BROWSER can not be nil" if BROWSER.nil?
|
60
|
+
|
61
|
+
PageObject.javascript_framework = :jquery # for handling AJAX
|
62
|
+
|
63
|
+
World(CUKES::PageUtils) # make PageUtils methods global to entire TAF
|
64
|
+
|
65
|
+
World(CUKES::ObjectRepository) # make ObjectRepository modules global to entire TAF
|
@@ -0,0 +1,274 @@
|
|
1
|
+
=begin
|
2
|
+
*Name : hooks.rb
|
3
|
+
*Description : hooks definition to perform task pre/post a scenario and/or step execution
|
4
|
+
*Author : Chandra sekaran
|
5
|
+
*Creation Date : 24/04/2015
|
6
|
+
*Updation Date :
|
7
|
+
=end
|
8
|
+
|
9
|
+
$log = CUKES::CreateLog.new("app_env") # base log to hold the environment details
|
10
|
+
|
11
|
+
$obj_yml = CUKES::Read_From_YML.new("config/config.yml") # read the config file content
|
12
|
+
|
13
|
+
# for resetting config values
|
14
|
+
if !RESET_CONFIG_VALUES.nil?
|
15
|
+
$obj_yml.set_value("environment/parallel_execution_count", 0) # reset parallel execution count
|
16
|
+
$obj_yml.release_all_profiles # release all unused profiles
|
17
|
+
end
|
18
|
+
|
19
|
+
# set dynamic profile for a specific box or any free box
|
20
|
+
if ENV["PROFILE"].downcase == "development"
|
21
|
+
if BOX.nil?
|
22
|
+
BOX, PROFILE = $obj_yml.get_any_profile("development")
|
23
|
+
else
|
24
|
+
PROFILE = $obj_yml.get_specific_profile("development")
|
25
|
+
end
|
26
|
+
elsif ENV["PROFILE"].downcase == "test"
|
27
|
+
if BOX.nil?
|
28
|
+
BOX, PROFILE = $obj_yml.get_any_profile("test")
|
29
|
+
else
|
30
|
+
PROFILE = $obj_yml.get_specific_profile("test")
|
31
|
+
end
|
32
|
+
else
|
33
|
+
raise "Invalid profile name : #{ENV["PROFILE"]}"
|
34
|
+
end
|
35
|
+
|
36
|
+
GOOGLE_URL = $obj_yml.get_value("application/#{BOX}/#{PROFILE}/url/google") # get the google url to be launched
|
37
|
+
RUBYGEMS_URL = $obj_yml.get_value("application/#{BOX}/#{PROFILE}/url/rubygems") # get the rubygems url to be launched
|
38
|
+
|
39
|
+
# Since I have used two different applications, I use two different urls, else this is not required and you can use
|
40
|
+
# the url present in config.yml file (the environment argument APP is just for demonstration only)
|
41
|
+
# For the present feature files, if you want to run rubygems feature, kindly add APP=GOOGLE in cucumber run command
|
42
|
+
# and for google feature add APP=GOOGLE in cucumber run command
|
43
|
+
if ENV["APP"].nil?
|
44
|
+
launch_url = "#{GOOGLE_URL}"
|
45
|
+
elsif ENV["APP"].downcase.include? "google"
|
46
|
+
launch_url = "#{GOOGLE_URL}"
|
47
|
+
elsif ENV["APP"].downcase.include? "rubygems"
|
48
|
+
launch_url = "#{RUBYGEMS_URL}"
|
49
|
+
end
|
50
|
+
|
51
|
+
# Login credentials
|
52
|
+
USER_NAME = $obj_yml.get_value("application/#{BOX}/#{PROFILE}/login_credentials/user_name")
|
53
|
+
PASSWORD = $obj_yml.get_value("application/#{BOX}/#{PROFILE}/login_credentials/password")
|
54
|
+
|
55
|
+
# Application framework setting details
|
56
|
+
LOGGER_LEVEL = $obj_yml.get_value("environment/logger_level") # get the Logger Level
|
57
|
+
DATETIME_FORMAT = $obj_yml.get_value("environment/datetime_pattern") # get the datetime format
|
58
|
+
FEATURE_ID_PREFIX = $obj_yml.get_value("environment/feature_id_prefix") # get the feature id prefix
|
59
|
+
SCENARIO_ID_PREFIX = $obj_yml.get_value("environment/scenario_id_prefix") # get the scenario id prefix
|
60
|
+
|
61
|
+
# for including Feature ID/Scenario ID columns in custom html report (report_home.html)
|
62
|
+
INCLUDE_FEATUREID_IN_REPORT = $obj_yml.get_value("environment/include_featureid_in_html_report") # get the value whether or not to include Feature ID in html report
|
63
|
+
INCLUDE_SCENARIOID_IN_REPORT = $obj_yml.get_value("environment/include_scenarioid_in_html_report") # get the value whether or not to include Feature ID in html report
|
64
|
+
|
65
|
+
# for consolidated html report
|
66
|
+
NO_OF_PARALLEL_THREADS = $obj_yml.get_value("environment/no_of_parallel_threads") # get the parallel threads count
|
67
|
+
DELAY_BETWEEN_PARALLEL_THREADS = $obj_yml.get_value("environment/delay_between_parallel_threads") # get the delay between parallel threads
|
68
|
+
|
69
|
+
# Performance report
|
70
|
+
# the cucumber execution details are extracted from report(s) generated and saved into Sybase database
|
71
|
+
# below are the database details
|
72
|
+
PERFORMANCE_REPORT = $obj_yml.get_value("environment/performance_report")
|
73
|
+
if ["yes", "true"].include?(PERFORMANCE_REPORT.to_s.downcase)
|
74
|
+
DB_SERVER = $obj_yml.get_value("environment/db_server")
|
75
|
+
DB_NAME = $obj_yml.get_value("environment/db_name")
|
76
|
+
DB_USER_NAME = $obj_yml.get_value("environment/db_user_name")
|
77
|
+
DB_PASSWORD = $obj_yml.get_value("environment/db_password")
|
78
|
+
end
|
79
|
+
|
80
|
+
# log test execution environment details
|
81
|
+
$log.info("__________________________________________________________")
|
82
|
+
$log.info("Test Machine : #{ENV["COMPUTERNAME"]}(#{ENV['OS']})")
|
83
|
+
$log.info("Test Browser : #{BROWSER}")
|
84
|
+
$log.info("Test URL : #{launch_url}") # the actual url under test can be given here
|
85
|
+
$log.info("__________________________________________________________")
|
86
|
+
|
87
|
+
$current_log_dir = $log.get_current_log_dir # global variable to hold the base log directory name
|
88
|
+
|
89
|
+
$start_time = $log.get_current_datetime # start time of the execution
|
90
|
+
|
91
|
+
$log_env = $log # to hold base log file object for log entries after test execution
|
92
|
+
|
93
|
+
$current_log_file = nil # hold the current log file name
|
94
|
+
|
95
|
+
PageObject.default_element_wait = $obj_yml.get_value("environment/default_element_wait") # set default timeout for element wait
|
96
|
+
PageObject.default_page_wait = $obj_yml.get_value("environment/default_page_wait") # set default timeout for page wait
|
97
|
+
|
98
|
+
$browser = CUKES::BrowserSettings.browser_setup(BROWSER) # launches the browser
|
99
|
+
|
100
|
+
# if you want to launch the URL only once (at the beginning), then you can use the below script
|
101
|
+
$browser.navigate.to(launch_url)
|
102
|
+
|
103
|
+
$scenario_count = 0 # holds scenario count for each feature file
|
104
|
+
|
105
|
+
# Description : called before the execution of a scenario
|
106
|
+
# Author : Chandra sekaran
|
107
|
+
# Arguments :
|
108
|
+
# scenario : scenario object
|
109
|
+
#
|
110
|
+
Before do |scenario|
|
111
|
+
@step_count = nil # step counter used in AfterStep to get current step name
|
112
|
+
|
113
|
+
@scenario_start_time = $log.get_current_datetime # scenario execution start time
|
114
|
+
|
115
|
+
@browser = $browser # passes the browser object to the page class constructor (implicitly)
|
116
|
+
@browser.manage.timeouts.implicit_wait = 3 # set 3s implicit wait time
|
117
|
+
$browser_version = @browser.capabilities[:version] # current browser version
|
118
|
+
|
119
|
+
$world = self # for overriding puts method to print the argument into html file and in console as well
|
120
|
+
|
121
|
+
$str_feature_file_path = scenario.file # absolute path of current feature file
|
122
|
+
|
123
|
+
@str_feature_module_name = $log.get_feature_module_name($str_feature_file_path) # extracts module (and/or submodule) name from str_file_path
|
124
|
+
if $current_log_file.nil? || !($current_log_file.include? @str_feature_module_name)
|
125
|
+
$log = CUKES::CreateLog.new(@str_feature_module_name) # creates a new log file with the module ame
|
126
|
+
$current_log_file = $log.get_current_log_file
|
127
|
+
end
|
128
|
+
|
129
|
+
$log.info("__________________________________________________________")
|
130
|
+
|
131
|
+
# feature name
|
132
|
+
case scenario
|
133
|
+
when Cucumber::Ast::Scenario
|
134
|
+
@feature_name = scenario.feature.name
|
135
|
+
when Cucumber::Ast::OutlineTable::ExampleRow
|
136
|
+
@feature_name = scenario.scenario_outline.feature.name
|
137
|
+
end
|
138
|
+
$log.info("Test Feature : " + @feature_name)
|
139
|
+
|
140
|
+
# check for a new feature and set $scenario_count accordingly
|
141
|
+
if $feature_name_old != @feature_name
|
142
|
+
$scenario_count = 0
|
143
|
+
$feature_name_old = @feature_name
|
144
|
+
end
|
145
|
+
|
146
|
+
# scenario name
|
147
|
+
case scenario
|
148
|
+
when Cucumber::Ast::Scenario
|
149
|
+
@scenario_name = scenario.name
|
150
|
+
when Cucumber::Ast::OutlineTable::ExampleRow
|
151
|
+
@scenario_name = scenario.scenario_outline.name
|
152
|
+
end
|
153
|
+
$log.info("Test Scenario : " + @scenario_name)
|
154
|
+
Kernel.puts("\n [#{Time.now.strftime(DATETIME_FORMAT)}] Currently running scenario : \n #{@scenario_name.to_s}") # for logging in console
|
155
|
+
|
156
|
+
# tags name
|
157
|
+
$scenario_tags = scenario.source_tag_names
|
158
|
+
$log.info("Test tag(s) : " + $scenario_tags.to_s)
|
159
|
+
Kernel.puts("\n \tWith tag(s) : #{$scenario_tags.to_s}") # for logging in console
|
160
|
+
|
161
|
+
# get first step name of first scenario
|
162
|
+
@current_feature = if scenario.respond_to?('scenario_outline')
|
163
|
+
# execute the following code only for scenarios outline (starting from the second example)
|
164
|
+
scenario.scenario_outline.feature
|
165
|
+
else
|
166
|
+
# execute the following code only for a scenario and a scenario outline (the first example only)
|
167
|
+
scenario.feature
|
168
|
+
end
|
169
|
+
$log.info("__________________________________________________________")
|
170
|
+
@arr_steps = []
|
171
|
+
@arr_steps = get_steps(@current_feature) # get all steps under the current scenario
|
172
|
+
end
|
173
|
+
|
174
|
+
# Description : called after the execution of a step
|
175
|
+
# Author : Chandra sekaran
|
176
|
+
# Arguments :
|
177
|
+
# scenario : scenario object
|
178
|
+
#
|
179
|
+
AfterStep do |scenario|
|
180
|
+
sleep 1
|
181
|
+
@step_count = 0 if @step_count.nil? # @step_count ||= 0
|
182
|
+
|
183
|
+
begin
|
184
|
+
$log.info("Test Step (#{scenario.failed? ? 'failed' : 'success'}) : " + @arr_steps[@step_count])
|
185
|
+
rescue Exception => e
|
186
|
+
$log.error("Error in AfterStep hook for step_count (#{@step_count}): #{e}")
|
187
|
+
$log.info("Test Step (#{scenario.failed? ? 'failed' : 'success'}) : " + @arr_steps[@step_count-1]) rescue Exception
|
188
|
+
end
|
189
|
+
Kernel.puts("\n \t\t[#{Time.now.strftime(DATETIME_FORMAT)}] #{@arr_steps[@step_count].to_s}") rescue Exception # for logging in console
|
190
|
+
|
191
|
+
@step_count += 1 # increase step counter
|
192
|
+
end
|
193
|
+
|
194
|
+
# Description : called after support has been loaded but before features are loaded
|
195
|
+
# Author : Chandra sekaran
|
196
|
+
# Arguments :
|
197
|
+
# config : config object
|
198
|
+
#
|
199
|
+
AfterConfiguration do |config|
|
200
|
+
|
201
|
+
end
|
202
|
+
|
203
|
+
# Description : called after the execution of a scenario
|
204
|
+
# Author : Chandra sekaran
|
205
|
+
# Arguments :
|
206
|
+
# scenario : scenario object
|
207
|
+
#
|
208
|
+
After do |scenario|
|
209
|
+
@step_count = 0 if @step_count.nil?
|
210
|
+
@scenario_end_time = $log.get_current_datetime # scenario execution finish time
|
211
|
+
|
212
|
+
if scenario.failed?
|
213
|
+
begin
|
214
|
+
$log.info("Test Step (failed) : " + @arr_steps[@step_count])
|
215
|
+
rescue Exception => e
|
216
|
+
$log.error("Error in After hook for step_count (#{@step_count}): #{e}")
|
217
|
+
$log.info("Test Step (failed) : " + @arr_steps[@step_count-1]) rescue Exception
|
218
|
+
end
|
219
|
+
str_img_path = CUKES::BrowserSettings.capture_screenshot(@str_feature_module_name) # takes the screenshot of webpage
|
220
|
+
|
221
|
+
# attaches a link to html page, on click of which shows the image in the web page
|
222
|
+
embed(str_img_path, "image/png", "Click to view screenshot") rescue Exception
|
223
|
+
end
|
224
|
+
|
225
|
+
$scenario_count += 1 # increment scenario count by 1
|
226
|
+
|
227
|
+
$log.info("__________________________________________________________")
|
228
|
+
$log.info("Scenario start time : " + $log.get_formatted_datetime(@scenario_start_time))
|
229
|
+
$log.info("Scenario end time : " + $log.get_formatted_datetime(@scenario_end_time))
|
230
|
+
$log.info("Total elapsed time : " + $log.get_datetime_diff(@scenario_start_time, @scenario_end_time))
|
231
|
+
$log.info("__________________________________________________________")
|
232
|
+
end
|
233
|
+
|
234
|
+
# Description : called after the execution of all features
|
235
|
+
# Author : Chandra sekaran
|
236
|
+
#
|
237
|
+
at_exit do
|
238
|
+
$obj_yml.set_value("application/#{BOX}/#{PROFILE}/in_use", "no") # releases the current profile
|
239
|
+
$log_env.info("Releasing the currently used profile '#{PROFILE}' under '#{BOX}' box")
|
240
|
+
|
241
|
+
$obj_yml.change_execution_count("environment/parallel_execution_count", $obj_yml.get_value("application/#{BOX}/#{PROFILE}/in_use"))
|
242
|
+
|
243
|
+
$end_time = $log_env.get_current_datetime
|
244
|
+
|
245
|
+
# logs into the base log file created with the name 'app_env.log'
|
246
|
+
$log_env.info("__________________________________________________________")
|
247
|
+
$log_env.info("Execution start time : " + $log_env.get_formatted_datetime($start_time))
|
248
|
+
$log_env.info("Execution end time : " + $log_env.get_formatted_datetime($end_time))
|
249
|
+
$log_env.info("Total elapsed time : " + $log_env.get_datetime_diff($start_time, $end_time).to_s)
|
250
|
+
$log_env.info("__________________________________________________________")
|
251
|
+
|
252
|
+
# rename the html report file and move it to respective log report directory
|
253
|
+
$log_env.create_html_report
|
254
|
+
|
255
|
+
# creates a new custom HTML report based on cucumber report(s) generated only after complete (single or parallel) execution
|
256
|
+
if $obj_yml.get_value("environment/parallel_execution_count").to_i == 0
|
257
|
+
# get the html report files of current execution
|
258
|
+
arr_report_file = $log_env.get_files_absolute_path("test_result", "html", $start_time - $world.get_execution_delay_time.seconds)
|
259
|
+
$log.info("Report file names (html): #{arr_report_file.to_s}")
|
260
|
+
|
261
|
+
obj = CUKES::CustomHtmlReport.new(arr_report_file)
|
262
|
+
obj.create_custom_report
|
263
|
+
|
264
|
+
if ["yes", "true"].include?(PERFORMANCE_REPORT.to_s.downcase)
|
265
|
+
# get the json report files of current execution
|
266
|
+
arr_report_file = $log_env.get_files_absolute_path("test_result", "json", $start_time - $world.get_execution_delay_time.seconds)
|
267
|
+
$log.info("Report directory names (json): #{arr_report_file.to_s}")
|
268
|
+
|
269
|
+
obj = CUKES::PerformanceReport.new(arr_report_file)
|
270
|
+
obj.create_performance_report
|
271
|
+
end
|
272
|
+
end
|
273
|
+
CUKES::BrowserSettings.quit_browser # closes the current browser
|
274
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
=begin
|
2
|
+
*Name : HtmlFormatter
|
3
|
+
*Description : class that defines wrapper methods for Cucumber generated report
|
4
|
+
*Author : Chandra sekaran
|
5
|
+
*Creation Date : 24/04/2015
|
6
|
+
*Updation Date :
|
7
|
+
=end
|
8
|
+
|
9
|
+
require 'cucumber/formatter/html'
|
10
|
+
|
11
|
+
module Formatter
|
12
|
+
class HtmlFormatter < Cucumber::Formatter::Html # for uaing @builder object
|
13
|
+
|
14
|
+
# Description : embeds the given input file type to cucumber report
|
15
|
+
# Author : Chandra sekaran
|
16
|
+
# Arguments :
|
17
|
+
# str_src : relative path of the file
|
18
|
+
# str_mime_type : type of file
|
19
|
+
# str_label : link text on click of click of which shows the embedded file
|
20
|
+
#
|
21
|
+
def embed(str_src, str_mime_type, str_label)
|
22
|
+
case str_mime_type
|
23
|
+
when /^image\/(png|gif|jpg|jpeg)/
|
24
|
+
embed_image(str_src, str_label)
|
25
|
+
when /^text\/plain/
|
26
|
+
embed_file(str_src, str_label)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
# Description : embeds a link with the given input string
|
31
|
+
# Author : Chandra sekaran
|
32
|
+
# Arguments :
|
33
|
+
# str_src : relative path of the file
|
34
|
+
# str_label : link text
|
35
|
+
#
|
36
|
+
def embed_link(str_src, str_label)
|
37
|
+
@builder.span(:class => 'embed') do |pre|
|
38
|
+
pre << %{<a href="#{str_src}" target="_blank">"#{str_label}"</a> }
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
# Description : embeds the given input file type to cucumber report
|
43
|
+
# Author : Chandra sekaran
|
44
|
+
# Arguments :
|
45
|
+
# str_src : relative path of the file
|
46
|
+
# str_label : link text on click of click of which shows the embedded file
|
47
|
+
#
|
48
|
+
def embed_file(str_src, str_label = "Click to view embedded file")
|
49
|
+
id = "object_#{Time.now.strftime("%y%m%d%H%M%S")}"
|
50
|
+
@builder.span(:class => 'embed') do |pre|
|
51
|
+
pre << %{<a href="" onclick="o=document.getElementById('#{id}'); o.style.display = (o.style.display == 'none' ? 'block' : 'none');return false">#{str_label}</a><br>
|
52
|
+
<object id="#{id}" data="#{str_src}" type="text/plain" width="100%" style="height: 10em;display: none"></object>}
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# Logfile created on 2015-05-21 11:03:33 +0530 by logger.rb/41954
|
2
|
+
[21_05_2015-11_03_33] INFO: Currently using 'test1' under 'test' profile under 'test_box1' box
|
3
|
+
[21_05_2015-11_03_33] INFO: __________________________________________________________
|
4
|
+
[21_05_2015-11_03_33] INFO: Test Machine : ASPIRE1339(Windows_NT)
|
5
|
+
[21_05_2015-11_03_33] INFO: Test Browser : firefox
|
6
|
+
[21_05_2015-11_03_33] INFO: Test URL : https://rubygems.org
|
7
|
+
[21_05_2015-11_03_33] INFO: __________________________________________________________
|
8
|
+
[21_05_2015-11_03_40] INFO: Successfully launched desktop firefox browser (Version : 32.0.3, Resolution : '1366x768')
|
9
|
+
[21_05_2015-11_04_54] INFO: Releasing the currently used profile 'test1' under 'test_box1' box
|
10
|
+
[21_05_2015-11_04_54] INFO: __________________________________________________________
|
11
|
+
[21_05_2015-11_04_54] INFO: Execution start time : 21_05_2015-11_03_33
|
12
|
+
[21_05_2015-11_04_54] INFO: Execution end time : 21_05_2015-11_04_54
|
13
|
+
[21_05_2015-11_04_54] INFO: Total elapsed time : 0:1:21
|
14
|
+
[21_05_2015-11_04_54] INFO: __________________________________________________________
|
15
|
+
[21_05_2015-11_04_57] INFO: Current browser closed successfully
|
Binary file
|
@@ -0,0 +1,647 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
2
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
3
|
+
<head>
|
4
|
+
<meta content="text/html; charset=IBM437" http-equiv="Content-Type">
|
5
|
+
<title>Cucumber</title>
|
6
|
+
<style type="text/css">/* cucumber.css is generated from cucumber.sass */
|
7
|
+
/* Regenerate with rake sass */
|
8
|
+
body {
|
9
|
+
font-size: 0px;
|
10
|
+
color: white;
|
11
|
+
margin: 0px;
|
12
|
+
padding: 0px;
|
13
|
+
}
|
14
|
+
|
15
|
+
.cucumber, td, th {
|
16
|
+
font: normal 11px "Lucida Grande", Helvetica, sans-serif;
|
17
|
+
background: white;
|
18
|
+
color: black;
|
19
|
+
}
|
20
|
+
.cucumber #cucumber-header, td #cucumber-header, th #cucumber-header {
|
21
|
+
background: #65c400;
|
22
|
+
color: white;
|
23
|
+
height: 6em;
|
24
|
+
}
|
25
|
+
.cucumber #cucumber-header #expand-collapse p, td #cucumber-header #expand-collapse p, th #cucumber-header #expand-collapse p {
|
26
|
+
float: right;
|
27
|
+
margin: 0 0 0 10px;
|
28
|
+
}
|
29
|
+
.cucumber .scenario h3, td .scenario h3, th .scenario h3, .background h3 {
|
30
|
+
font-size: 11px;
|
31
|
+
padding: 3px;
|
32
|
+
margin: 0;
|
33
|
+
background: #65c400;
|
34
|
+
color: white;
|
35
|
+
font-weight: bold;
|
36
|
+
}
|
37
|
+
|
38
|
+
.background h3 {
|
39
|
+
font-size: 1.2em;
|
40
|
+
background: #666;
|
41
|
+
}
|
42
|
+
|
43
|
+
.cucumber h1, td h1, th h1 {
|
44
|
+
margin: 0px 10px 0px 10px;
|
45
|
+
padding: 10px;
|
46
|
+
font-family: "Lucida Grande", Helvetica, sans-serif;
|
47
|
+
font-size: 2em;
|
48
|
+
position: absolute;
|
49
|
+
}
|
50
|
+
.cucumber h4, td h4, th h4 {
|
51
|
+
margin-bottom: 2px;
|
52
|
+
}
|
53
|
+
.cucumber div.feature, td div.feature, th div.feature {
|
54
|
+
padding: 2px;
|
55
|
+
margin: 0px 10px 5px 10px;
|
56
|
+
}
|
57
|
+
.cucumber div.examples, td div.examples, th div.examples {
|
58
|
+
padding: 0em 0em 0em 1em;
|
59
|
+
}
|
60
|
+
.cucumber .stats, td .stats, th .stats {
|
61
|
+
margin: 2em;
|
62
|
+
}
|
63
|
+
.cucumber .summary ul.features li, td .summary ul.features li, th .summary ul.features li {
|
64
|
+
display: inline;
|
65
|
+
}
|
66
|
+
.cucumber .step_name, td .step_name, th .step_name {
|
67
|
+
float: left;
|
68
|
+
}
|
69
|
+
.cucumber .step_file, td .step_file, th .step_file {
|
70
|
+
text-align: right;
|
71
|
+
color: #999999;
|
72
|
+
}
|
73
|
+
.cucumber .step_file a, td .step_file a, th .step_file a {
|
74
|
+
color: #999999;
|
75
|
+
}
|
76
|
+
.cucumber .scenario_file, td .scenario_file, th .scenario_file {
|
77
|
+
float: right;
|
78
|
+
color: #999999;
|
79
|
+
}
|
80
|
+
.cucumber .tag, td .tag, th .tag {
|
81
|
+
font-weight: bold;
|
82
|
+
color: #246ac1;
|
83
|
+
}
|
84
|
+
.cucumber .backtrace, td .backtrace, th .backtrace {
|
85
|
+
margin-top: 0;
|
86
|
+
margin-bottom: 0;
|
87
|
+
margin-left: 1em;
|
88
|
+
color: black;
|
89
|
+
}
|
90
|
+
.cucumber a, td a, th a {
|
91
|
+
text-decoration: none;
|
92
|
+
color: #be5c00;
|
93
|
+
}
|
94
|
+
.cucumber a:hover, td a:hover, th a:hover {
|
95
|
+
text-decoration: underline;
|
96
|
+
}
|
97
|
+
.cucumber a:visited, td a:visited, th a:visited {
|
98
|
+
font-weight: normal;
|
99
|
+
}
|
100
|
+
.cucumber a div.examples, td a div.examples, th a div.examples {
|
101
|
+
margin: 5px 0px 5px 15px;
|
102
|
+
color: black;
|
103
|
+
}
|
104
|
+
.cucumber .outline table, td .outline table, th .outline table {
|
105
|
+
margin: 0px 0px 5px 10px;
|
106
|
+
}
|
107
|
+
.cucumber table, td table, th table {
|
108
|
+
border-collapse: collapse;
|
109
|
+
}
|
110
|
+
.cucumber table td, td table td, th table td {
|
111
|
+
padding: 3px 3px 3px 5px;
|
112
|
+
}
|
113
|
+
.cucumber table td.failed, .cucumber table td.passed, .cucumber table td.skipped, .cucumber table td.pending, .cucumber table td.undefined, td table td.failed, td table td.passed, td table td.skipped, td table td.pending, td table td.undefined, th table td.failed, th table td.passed, th table td.skipped, th table td.pending, th table td.undefined {
|
114
|
+
padding-left: 18px;
|
115
|
+
padding-right: 10px;
|
116
|
+
}
|
117
|
+
.cucumber table td.failed, td table td.failed, th table td.failed {
|
118
|
+
border-left: 5px solid #c20000;
|
119
|
+
border-bottom: 1px solid #c20000;
|
120
|
+
background: #fffbd3;
|
121
|
+
color: #c20000;
|
122
|
+
}
|
123
|
+
.cucumber table td.passed, td table td.passed, th table td.passed {
|
124
|
+
border-left: 5px solid #65c400;
|
125
|
+
border-bottom: 1px solid #65c400;
|
126
|
+
background: #dbffb4;
|
127
|
+
color: #3d7700;
|
128
|
+
}
|
129
|
+
.cucumber table td.skipped, td table td.skipped, th table td.skipped {
|
130
|
+
border-left: 5px solid aqua;
|
131
|
+
border-bottom: 1px solid aqua;
|
132
|
+
background: #e0ffff;
|
133
|
+
color: #001111;
|
134
|
+
}
|
135
|
+
.cucumber table td.pending, td table td.pending, th table td.pending {
|
136
|
+
border-left: 5px solid #faf834;
|
137
|
+
border-bottom: 1px solid #faf834;
|
138
|
+
background: #fcfb98;
|
139
|
+
color: #131313;
|
140
|
+
}
|
141
|
+
.cucumber table td.undefined, td table td.undefined, th table td.undefined {
|
142
|
+
border-left: 5px solid #faf834;
|
143
|
+
border-bottom: 1px solid #faf834;
|
144
|
+
background: #fcfb98;
|
145
|
+
color: #131313;
|
146
|
+
}
|
147
|
+
.cucumber table td.message, td table td.message, th table td.message {
|
148
|
+
border-left: 5px solid aqua;
|
149
|
+
border-bottom: 1px solid aqua;
|
150
|
+
background: #e0ffff;
|
151
|
+
color: #001111;
|
152
|
+
}
|
153
|
+
.cucumber ol, td ol, th ol {
|
154
|
+
list-style: none;
|
155
|
+
margin: 0px;
|
156
|
+
padding: 0px;
|
157
|
+
}
|
158
|
+
.cucumber ol li.step, td ol li.step, th ol li.step {
|
159
|
+
padding: 3px 3px 3px 18px;
|
160
|
+
margin: 5px 0px 5px 5px;
|
161
|
+
}
|
162
|
+
.cucumber ol li, td ol li, th ol li {
|
163
|
+
margin: 0em 0em 0em 1em;
|
164
|
+
padding: 0em 0em 0em 0.2em;
|
165
|
+
}
|
166
|
+
.cucumber ol li span.param, td ol li span.param, th ol li span.param {
|
167
|
+
font-weight: bold;
|
168
|
+
}
|
169
|
+
.cucumber ol li.failed, td ol li.failed, th ol li.failed {
|
170
|
+
border-left: 5px solid #c20000;
|
171
|
+
border-bottom: 1px solid #c20000;
|
172
|
+
background: #fffbd3;
|
173
|
+
color: #c20000;
|
174
|
+
}
|
175
|
+
.cucumber ol li.passed, td ol li.passed, th ol li.passed {
|
176
|
+
border-left: 5px solid #65c400;
|
177
|
+
border-bottom: 1px solid #65c400;
|
178
|
+
background: #dbffb4;
|
179
|
+
color: #3d7700;
|
180
|
+
}
|
181
|
+
.cucumber ol li.skipped, td ol li.skipped, th ol li.skipped {
|
182
|
+
border-left: 5px solid aqua;
|
183
|
+
border-bottom: 1px solid aqua;
|
184
|
+
background: #e0ffff;
|
185
|
+
color: #001111;
|
186
|
+
}
|
187
|
+
.cucumber ol li.pending, td ol li.pending, th ol li.pending {
|
188
|
+
border-left: 5px solid #faf834;
|
189
|
+
border-bottom: 1px solid #faf834;
|
190
|
+
background: #fcfb98;
|
191
|
+
color: #131313;
|
192
|
+
}
|
193
|
+
.cucumber ol li.undefined, td ol li.undefined, th ol li.undefined {
|
194
|
+
border-left: 5px solid #faf834;
|
195
|
+
border-bottom: 1px solid #faf834;
|
196
|
+
background: #fcfb98;
|
197
|
+
color: #131313;
|
198
|
+
}
|
199
|
+
.cucumber ol li.message, td ol li.message, th ol li.message {
|
200
|
+
border-left: 5px solid aqua;
|
201
|
+
border-bottom: 1px solid aqua;
|
202
|
+
background: #e0ffff;
|
203
|
+
color: #001111;
|
204
|
+
margin-left: 10px;
|
205
|
+
}
|
206
|
+
.cucumber #summary, td #summary, th #summary {
|
207
|
+
margin: 0px;
|
208
|
+
padding: 5px 10px;
|
209
|
+
text-align: right;
|
210
|
+
top: 0px;
|
211
|
+
right: 0px;
|
212
|
+
float: right;
|
213
|
+
}
|
214
|
+
.cucumber #summary p, td #summary p, th #summary p {
|
215
|
+
margin: 0 0 0 2px;
|
216
|
+
}
|
217
|
+
.cucumber #summary #totals, td #summary #totals, th #summary #totals {
|
218
|
+
font-size: 1.2em;
|
219
|
+
}
|
220
|
+
|
221
|
+
.ruby {
|
222
|
+
font-size: 12px;
|
223
|
+
font-family: monospace;
|
224
|
+
color: white;
|
225
|
+
background: black;
|
226
|
+
padding: 0.1em 0 0.2em 0;
|
227
|
+
}
|
228
|
+
.ruby .keyword {
|
229
|
+
color: #ff6600;
|
230
|
+
}
|
231
|
+
.ruby .constant {
|
232
|
+
color: #339999;
|
233
|
+
}
|
234
|
+
.ruby .attribute {
|
235
|
+
color: white;
|
236
|
+
}
|
237
|
+
.ruby .global {
|
238
|
+
color: white;
|
239
|
+
}
|
240
|
+
.ruby .module {
|
241
|
+
color: white;
|
242
|
+
}
|
243
|
+
.ruby .class {
|
244
|
+
color: white;
|
245
|
+
}
|
246
|
+
.ruby .string {
|
247
|
+
color: #66ff00;
|
248
|
+
}
|
249
|
+
.ruby .ident {
|
250
|
+
color: white;
|
251
|
+
}
|
252
|
+
.ruby .method {
|
253
|
+
color: #ffcc00;
|
254
|
+
}
|
255
|
+
.ruby .number {
|
256
|
+
color: white;
|
257
|
+
}
|
258
|
+
.ruby .char {
|
259
|
+
color: white;
|
260
|
+
}
|
261
|
+
.ruby .comment {
|
262
|
+
color: #9933cc;
|
263
|
+
}
|
264
|
+
.ruby .symbol {
|
265
|
+
color: white;
|
266
|
+
}
|
267
|
+
.ruby .regex {
|
268
|
+
color: #44b4cc;
|
269
|
+
}
|
270
|
+
.ruby .punct {
|
271
|
+
color: white;
|
272
|
+
}
|
273
|
+
.ruby .escape {
|
274
|
+
color: white;
|
275
|
+
}
|
276
|
+
.ruby .interp {
|
277
|
+
color: white;
|
278
|
+
}
|
279
|
+
.ruby .expr {
|
280
|
+
color: white;
|
281
|
+
}
|
282
|
+
.ruby .offending {
|
283
|
+
background: #333333;
|
284
|
+
}
|
285
|
+
.ruby .linenum {
|
286
|
+
width: 75px;
|
287
|
+
padding: 0.1em 1em 0.2em 0;
|
288
|
+
color: black;
|
289
|
+
background: #fffbd3;
|
290
|
+
}
|
291
|
+
</style>
|
292
|
+
<script type="text/javascript">/*!
|
293
|
+
* jQuery JavaScript Library v1.4.2
|
294
|
+
* http://jquery.com/
|
295
|
+
*
|
296
|
+
* Copyright 2010, John Resig
|
297
|
+
* Dual licensed under the MIT or GPL Version 2 licenses.
|
298
|
+
* http://jquery.org/license
|
299
|
+
*
|
300
|
+
* Includes Sizzle.js
|
301
|
+
* http://sizzlejs.com/
|
302
|
+
* Copyright 2010, The Dojo Foundation
|
303
|
+
* Released under the MIT, BSD, and GPL Licenses.
|
304
|
+
*
|
305
|
+
* Date: Sat Feb 13 22:33:48 2010 -0500
|
306
|
+
*/
|
307
|
+
(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i?
|
308
|
+
e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r=
|
309
|
+
j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g,
|
310
|
+
"&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e=
|
311
|
+
true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,
|
312
|
+
Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&
|
313
|
+
(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,
|
314
|
+
a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b===
|
315
|
+
"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,
|
316
|
+
function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)||
|
317
|
+
c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded",
|
318
|
+
L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,
|
319
|
+
"isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+
|
320
|
+
a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f],
|
321
|
+
d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]===
|
322
|
+
a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&&
|
323
|
+
!c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari=
|
324
|
+
true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML=" <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
|
325
|
+
var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,
|
326
|
+
parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=
|
327
|
+
false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n=
|
328
|
+
s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,
|
329
|
+
applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando];
|
330
|
+
else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,
|
331
|
+
a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===
|
332
|
+
w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i,
|
333
|
+
cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.className+" ",
|
334
|
+
i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" ",
|
335
|
+
" ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=
|
336
|
+
this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i=
|
337
|
+
e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected=
|
338
|
+
c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");
|
339
|
+
a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g,
|
340
|
+
function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split(".");
|
341
|
+
k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a),
|
342
|
+
C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!=
|
343
|
+
null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type=
|
344
|
+
e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&&
|
345
|
+
f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;
|
346
|
+
if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
|
347
|
+
fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
|
348
|
+
d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this,
|
349
|
+
"events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=
|
350
|
+
a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y,
|
351
|
+
isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submitBubbles)c.event.special.submit=
|
352
|
+
{setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};
|
353
|
+
if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",
|
354
|
+
e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,
|
355
|
+
"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a,
|
356
|
+
d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&
|
357
|
+
!a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=0;for(var f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}},
|
358
|
+
toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector,
|
359
|
+
u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),
|
360
|
+
function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});(function(){function a(g){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];
|
361
|
+
if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
|
362
|
+
e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift();
|
363
|
+
t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D||
|
364
|
+
g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q;if(!g)return[];
|
365
|
+
for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length-
|
366
|
+
1)!=="\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
|
367
|
+
CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},
|
368
|
+
relative:{"+":function(g,h){var l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m++)if(p=g[m])g[m]=
|
369
|
+
l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[];
|
370
|
+
h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},
|
371
|
+
CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m,
|
372
|
+
g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},
|
373
|
+
text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},
|
374
|
+
setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=
|
375
|
+
h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m=
|
376
|
+
m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m===
|
377
|
+
"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g,
|
378
|
+
h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocumentPosition||
|
379
|
+
!h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createRange(),m=
|
380
|
+
h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&&
|
381
|
+
q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="<a href='#'></a>";
|
382
|
+
if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}();
|
383
|
+
(function(){var g=s.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}:
|
384
|
+
function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/,
|
385
|
+
gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,e)===d});else if(b.nodeType)return c.grep(a,function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Ua.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length;
|
386
|
+
c.find(a,this[f],b);if(f>0)for(var j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j=
|
387
|
+
{},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a===
|
388
|
+
"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",
|
389
|
+
d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?
|
390
|
+
a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType===
|
391
|
+
1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b,d){return hb.test(d)?
|
392
|
+
a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
|
393
|
+
c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
|
394
|
+
wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
|
395
|
+
prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
|
396
|
+
this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
|
397
|
+
return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja,
|
398
|
+
""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&
|
399
|
+
this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,b,f))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]||
|
400
|
+
u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length===
|
401
|
+
1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]);
|
402
|
+
return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["",
|
403
|
+
""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e=
|
404
|
+
c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]?
|
405
|
+
c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja=
|
406
|
+
function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=
|
407
|
+
Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,
|
408
|
+
"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=
|
409
|
+
a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=
|
410
|
+
a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!==
|
411
|
+
"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this},
|
412
|
+
serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),
|
413
|
+
function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,
|
414
|
+
global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&
|
415
|
+
e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)?
|
416
|
+
"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===
|
417
|
+
false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B=
|
418
|
+
false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since",
|
419
|
+
c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E||
|
420
|
+
d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x);
|
421
|
+
g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===
|
422
|
+
1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b===
|
423
|
+
"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional;
|
424
|
+
if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");
|
425
|
+
this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a],
|
426
|
+
"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)},
|
427
|
+
animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing=
|
428
|
+
j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);
|
429
|
+
this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration===
|
430
|
+
"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||
|
431
|
+
c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;
|
432
|
+
this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=
|
433
|
+
this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,
|
434
|
+
e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||
|
435
|
+
c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in s.documentElement?
|
436
|
+
function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b=
|
437
|
+
this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle;
|
438
|
+
k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&&
|
439
|
+
f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
|
440
|
+
a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b);
|
441
|
+
c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,
|
442
|
+
d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-
|
443
|
+
f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset":
|
444
|
+
"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in
|
445
|
+
e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window);
|
446
|
+
|
447
|
+
SCENARIOS = "h3[id^='scenario_'],h3[id^=background_]";
|
448
|
+
|
449
|
+
$(document).ready(function() {
|
450
|
+
$(SCENARIOS).css('cursor', 'pointer');
|
451
|
+
$(SCENARIOS).click(function() {
|
452
|
+
$(this).siblings().toggle(250);
|
453
|
+
});
|
454
|
+
|
455
|
+
$("#collapser").css('cursor', 'pointer');
|
456
|
+
$("#collapser").click(function() {
|
457
|
+
$(SCENARIOS).siblings().hide();
|
458
|
+
});
|
459
|
+
|
460
|
+
$("#expander").css('cursor', 'pointer');
|
461
|
+
$("#expander").click(function() {
|
462
|
+
$(SCENARIOS).siblings().show();
|
463
|
+
});
|
464
|
+
})
|
465
|
+
|
466
|
+
function moveProgressBar(percentDone) {
|
467
|
+
$("cucumber-header").css('width', percentDone +"%");
|
468
|
+
}
|
469
|
+
function makeRed(element_id) {
|
470
|
+
$('#'+element_id).css('background', '#C40D0D');
|
471
|
+
$('#'+element_id).css('color', '#FFFFFF');
|
472
|
+
}
|
473
|
+
function makeYellow(element_id) {
|
474
|
+
$('#'+element_id).css('background', '#FAF834');
|
475
|
+
$('#'+element_id).css('color', '#000000');
|
476
|
+
}
|
477
|
+
|
478
|
+
</script>
|
479
|
+
</head>
|
480
|
+
<body>
|
481
|
+
<!-- Step count 13--><div class="cucumber">
|
482
|
+
<div id="cucumber-header">
|
483
|
+
<div id="label">
|
484
|
+
<br><h1>Desktop Gem Search - DETAILED REPORT</h1>
|
485
|
+
</div>
|
486
|
+
<div id="summary">
|
487
|
+
<p></p>
|
488
|
+
<p></p>
|
489
|
+
<div id="expand-collapse">
|
490
|
+
<p id="expander">Expand All</p>
|
491
|
+
<p id="collapser">Collapse All</p>
|
492
|
+
</div>
|
493
|
+
</div>
|
494
|
+
<style type="text/css">td, th {color: black; font: normal 11.5px 'Lucida Grande', Helvetica, sans-serif;}</script></div></style>
|
495
|
+
<div class="feature">
|
496
|
+
<br><br><br><br><pre><font color="black"><pre class="comment"># Name : Gem Search<br># Description : covers scenarios under RubyGem search<br># Author : Chandra sekaran<br># Important Note : To run this feature add APP=RUBYGEMS in cucumber run command<br># Cucumber run cmd : cucumber -p desktop_dev_chrome -t @rq_rubygems APP=RUBYGEMS<br># : you can use any desktop browser profile in -p<br># Rake run cmd : rake desktop_rubygems_search<br></pre></font><table style="width:80%; font:13px;" border="2" align="center">
|
497
|
+
<tr>
|
498
|
+
<td style="background-color: #d3ecfc;"></td>
|
499
|
+
<td colspan="2" style="background-color: #d3ecfc;"></td>
|
500
|
+
<td colspan="6" align="center" style="background-color: #d3ecfc;"><b>Steps</b></td>
|
501
|
+
<td style="background-color: #d3ecfc;"></td>
|
502
|
+
</tr>
|
503
|
+
<tr>
|
504
|
+
<th style="background-color: #d3ecfc;" font="size: 15px;"><b>Sr No</b></th>
|
505
|
+
<th style="background-color: #d3ecfc;" font="size: 15px;"><b>Scenario ID</b></th>
|
506
|
+
<th style="background-color: #d3ecfc;" font="size: 15px;"><b>Scenario Title</b></th>
|
507
|
+
<th style="background-color: #d3ecfc;" font="size: 15px;"><b>Total</b></th>
|
508
|
+
<th style="background-color: #d3ecfc;" font="size: 15px;"><b>Passed</b></th>
|
509
|
+
<th style="background-color: #d3ecfc;" font="size: 15px;"><b>Failed</b></th>
|
510
|
+
<th style="background-color: #d3ecfc;" font="size: 15px;"><b>Skipped</b></th>
|
511
|
+
<th style="background-color: #d3ecfc;" font="size: 15px;"><b>Pending</b></th>
|
512
|
+
<th style="background-color: #d3ecfc;" font="size: 15px;"><b>Undefined</b></th>
|
513
|
+
<th style="background-color: #d3ecfc;" font="size: 15px;"><b>Result</b></th>
|
514
|
+
</tr>
|
515
|
+
<tr>
|
516
|
+
<td>1</td>
|
517
|
+
<td><span style="color:green">02</span></td>
|
518
|
+
<td width="40%"> Find a given static gem name in rubygems.org web site</td>
|
519
|
+
<td>7</td>
|
520
|
+
<td style="background-color: #b0f9c3;">7</td>
|
521
|
+
<td>0</td>
|
522
|
+
<td>0</td>
|
523
|
+
<td>0</td>
|
524
|
+
<td>0</td>
|
525
|
+
<td style="background-color: #b0f9c3;">Passed</td>
|
526
|
+
</tr>
|
527
|
+
<tr>
|
528
|
+
<td>2</td>
|
529
|
+
<td><span style="color:green">03</span></td>
|
530
|
+
<td width="40%"> Find a given gem from global test data file in rubygems.org web site</td>
|
531
|
+
<td>6</td>
|
532
|
+
<td style="background-color: #b0f9c3;">6</td>
|
533
|
+
<td>0</td>
|
534
|
+
<td>0</td>
|
535
|
+
<td>0</td>
|
536
|
+
<td>0</td>
|
537
|
+
<td style="background-color: #b0f9c3;">Passed</td>
|
538
|
+
</tr>
|
539
|
+
<tr>
|
540
|
+
<td style="background-color: #d3ecfc;"></td>
|
541
|
+
<td style="background-color: #d3ecfc;"></td>
|
542
|
+
<td align="right" style="background-color: #d3ecfc;"><b>Total<b></b></b></td>
|
543
|
+
<td style="background-color: #d3ecfc;"><b>13</b></td>
|
544
|
+
<td style="background-color: #d3ecfc;"><b>13</b></td>
|
545
|
+
<td style="background-color: #d3ecfc;"><b>0</b></td>
|
546
|
+
<td style="background-color: #d3ecfc;"><b>0</b></td>
|
547
|
+
<td style="background-color: #d3ecfc;"><b>0</b></td>
|
548
|
+
<td style="background-color: #d3ecfc;"><b>0</b></td>
|
549
|
+
<td style="background-color: #d3ecfc;"></td>
|
550
|
+
</tr>
|
551
|
+
</table></pre>
|
552
|
+
<span class="tag">@rq_rubygems</span><h2 style="color: black;"><span class="val">Feature: Fetch the details of a gem from rubygems.org having the maximum downloads</span></h2>
|
553
|
+
<p class="narrative"></p>
|
554
|
+
<div class="background">
|
555
|
+
<h3 id="background_0">
|
556
|
+
<span class="keyword">Background</span> <span class="val">Login to rubygems.org website</span>
|
557
|
+
</h3>
|
558
|
+
<ol>
|
559
|
+
<li id="features\desktop\rubygems_search\gem_search_feature_14" class="step passed">
|
560
|
+
<div class="step_name">
|
561
|
+
<span class="keyword">Given </span><span class="step val">the user is on the rubygems.org home page</span>
|
562
|
+
</div>
|
563
|
+
<div class="step_file"><span>step_definitions/desktop/gem_search.rb:5</span></div>
|
564
|
+
</li> <script type="text/javascript">moveProgressBar('7.6');</script><li id="features\desktop\rubygems_search\gem_search_feature_15" class="step passed">
|
565
|
+
<div class="step_name">
|
566
|
+
<span class="keyword">And </span><span class="step val">the user is signed in</span>
|
567
|
+
</div>
|
568
|
+
<div class="step_file"><span>step_definitions/desktop/gem_search.rb:10</span></div>
|
569
|
+
</li>
|
570
|
+
<li class="step message">Sign in successful</li> <script type="text/javascript">moveProgressBar('15.3');</script>
|
571
|
+
</ol>
|
572
|
+
</div>
|
573
|
+
<div class="scenario">
|
574
|
+
<span class="tag">@tc_02</span><span class="scenario_file">features/desktop/rubygems_search/gem_search.feature:18</span><h3 id="scenario_1">
|
575
|
+
<span class="keyword">Scenario:</span> <span class="val">Find a given static gem name in rubygems.org web site</span>
|
576
|
+
</h3>
|
577
|
+
<ol> <script type="text/javascript">moveProgressBar('23.0');</script> <script type="text/javascript">moveProgressBar('30.7');</script><li id="features\desktop\rubygems_search\gem_search_feature_19" class="step passed">
|
578
|
+
<div class="step_name">
|
579
|
+
<span class="keyword">When </span><span class="step val">the user enters "<span class="param">watir</span>" in search textbox and press enter</span>
|
580
|
+
</div>
|
581
|
+
<div class="step_file"><span>step_definitions/desktop/gem_search.rb:20</span></div>
|
582
|
+
</li> <script type="text/javascript">moveProgressBar('38.4');</script><li id="features\desktop\rubygems_search\gem_search_feature_20" class="step passed">
|
583
|
+
<div class="step_name">
|
584
|
+
<span class="keyword">Then </span><span class="step val">the user should be redirected to gem list page of "<span class="param">watir</span>" gem</span>
|
585
|
+
</div>
|
586
|
+
<div class="step_file"><span>step_definitions/desktop/gem_search.rb:25</span></div>
|
587
|
+
</li> <script type="text/javascript">moveProgressBar('46.1');</script><li id="features\desktop\rubygems_search\gem_search_feature_21" class="step passed">
|
588
|
+
<div class="step_name">
|
589
|
+
<span class="keyword">When </span><span class="step val">the user selects the gem having the maximum downloads</span>
|
590
|
+
</div>
|
591
|
+
<div class="step_file"><span>step_definitions/desktop/gem_search.rb:30</span></div>
|
592
|
+
</li>
|
593
|
+
<li class="step message">The gem 'watir-webdriver 0.7.0' has the maximum downloads</li> <script type="text/javascript">moveProgressBar('53.8');</script><li id="features\desktop\rubygems_search\gem_search_feature_22" class="step passed">
|
594
|
+
<div class="step_name">
|
595
|
+
<span class="keyword">Then </span><span class="step val">the user should be shown the gem description page</span>
|
596
|
+
</div>
|
597
|
+
<div class="step_file"><span>step_definitions/desktop/gem_search.rb:36</span></div>
|
598
|
+
</li> <script type="text/javascript">moveProgressBar('61.5');</script><li id="features\desktop\rubygems_search\gem_search_feature_23" class="step passed">
|
599
|
+
<div class="step_name">
|
600
|
+
<span class="keyword">And </span><span class="step val">the user is signed out</span>
|
601
|
+
</div>
|
602
|
+
<div class="step_file"><span>step_definitions/desktop/gem_search.rb:15</span></div>
|
603
|
+
</li>
|
604
|
+
<li class="step message">Sign out successful</li> <script type="text/javascript">moveProgressBar('69.2');</script>
|
605
|
+
</ol>
|
606
|
+
</div>
|
607
|
+
<div class="scenario">
|
608
|
+
<span class="tag">@tc_03</span><span class="scenario_file">features\desktop\rubygems_search\gem_search.feature:26</span><h3 id="scenario_2">
|
609
|
+
<span class="keyword">Scenario:</span> <span class="val">Find a given gem from global test data file in rubygems.org web site</span>
|
610
|
+
</h3>
|
611
|
+
<ol> <script type="text/javascript">moveProgressBar('76.9');</script> <script type="text/javascript">moveProgressBar('84.6');</script><li id="features\desktop\rubygems_search\gem_search_feature_27" class="step passed">
|
612
|
+
<div class="step_name">
|
613
|
+
<span class="keyword">When </span><span class="step val">the user searches for a gem name from test data</span>
|
614
|
+
</div>
|
615
|
+
<div class="step_file"><span>step_definitions/desktop/gem_search.rb:41</span></div>
|
616
|
+
</li>
|
617
|
+
<li class="step message">Sign in successful</li> <script type="text/javascript">moveProgressBar('92.3');</script><li id="features\desktop\rubygems_search\gem_search_feature_28" class="step passed">
|
618
|
+
<div class="step_name">
|
619
|
+
<span class="keyword">And </span><span class="step val">the user selects the gem having the maximum downloads</span>
|
620
|
+
</div>
|
621
|
+
<div class="step_file"><span>step_definitions/desktop/gem_search.rb:30</span></div>
|
622
|
+
</li>
|
623
|
+
<li class="step message">The gem 'actionmailer-ironruby 0.2.0' has the maximum downloads</li> <script type="text/javascript">moveProgressBar('100.0');</script><li id="features\desktop\rubygems_search\gem_search_feature_29" class="step passed">
|
624
|
+
<div class="step_name">
|
625
|
+
<span class="keyword">Then </span><span class="step val">the user should be shown the gem description page</span>
|
626
|
+
</div>
|
627
|
+
<div class="step_file"><span>step_definitions/desktop/gem_search.rb:36</span></div>
|
628
|
+
</li> <script type="text/javascript">moveProgressBar('107.6');</script><li id="features\desktop\rubygems_search\gem_search_feature_30" class="step passed">
|
629
|
+
<div class="step_name">
|
630
|
+
<span class="keyword">And </span><span class="step val">the user is signed out</span>
|
631
|
+
</div>
|
632
|
+
<div class="step_file"><span>step_definitions/desktop/gem_search.rb:15</span></div>
|
633
|
+
</li>
|
634
|
+
<li class="step message">Sign out successful</li> <script type="text/javascript">moveProgressBar('115.3');</script>
|
635
|
+
</ol>
|
636
|
+
</div>
|
637
|
+
</div>
|
638
|
+
<br><br><br><br><br><br><style type="text/css">td, th {color: black; font: normal 11.5px 'Lucida Grande', Helvetica, sans-serif;}</script></div></style>
|
639
|
+
</div>
|
640
|
+
<p></p>
|
641
|
+
<footer id="footer"><div style="background-color: #363636;">
|
642
|
+
<img src="data:image/png;base64,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" height="30px"><div><font color="white" size="2">Executed on 05-21-2015 11:04:54 <br> Executed in ASPIRE1339 (Windows_NT) / Firefox (32.0.3)</font></div>
|
643
|
+
<style type="text/css">#footer {position : fixed;margin-top : 35px;text-align:center;width: 100%;height: 63px;bottom: 0px; left: 0px;}</style>
|
644
|
+
</div></footer><script type="text/javascript">document.getElementById('duration').innerHTML = "Finished in <strong>1m8.146s seconds</strong>";</script><script type="text/javascript">document.getElementById('totals').innerHTML = "2 scenarios (2 passed)<br />13 steps (13 passed)";</script>
|
645
|
+
</div>
|
646
|
+
</body>
|
647
|
+
</html>
|