Vikassy has uploaded a new change for review. https://gerrit.wikimedia.org/r/146432
Change subject: Added support for page elements in iframe ...................................................................... Added support for page elements in iframe Change-Id: Id60c7268dd6e3e4e755bdc53fef7e7d714d4ab0b --- M modules/ve-mw/test/browser/features/support/language_screenshot.rb M modules/ve-mw/test/browser/spec/rectangle_spec.rb 2 files changed, 29 insertions(+), 10 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor refs/changes/32/146432/1 diff --git a/modules/ve-mw/test/browser/features/support/language_screenshot.rb b/modules/ve-mw/test/browser/features/support/language_screenshot.rb index e17877d..2b29be5 100644 --- a/modules/ve-mw/test/browser/features/support/language_screenshot.rb +++ b/modules/ve-mw/test/browser/features/support/language_screenshot.rb @@ -1,14 +1,23 @@ -def capture_screenshot(file_name, page_elements) +def capture_screenshot(file_name, page_elements, offset_element=nil, browser_zoom=1) screenshot_directory = ENV["LANGUAGE_SCREENSHOT_PATH"] || "screenshots" FileUtils.mkdir_p screenshot_directory screenshot_path = "#{screenshot_directory}/#{file_name}" - @browser.send_keys [:control, :add] + browser_zoom.times do + @browser.send_keys [:control, :add] + end @browser.screenshot.save screenshot_path - crop_image screenshot_path, page_elements + crop_image screenshot_path, page_elements, offset_element end -def crop_image path, page_elements - crop_rectangle = rectangle(coordinates_from_page_elements(page_elements)) +def crop_image path, page_elements, offset_element + if offset_element + offset_rectangle = coordinates_from_page_element(offset_element) + else + offset_rectangle = [0,0,0,0] + end + rectangles = coordinates_from_page_elements(page_elements) + crop_rectangle = rectangle(rectangles, offset_rectangle) + top_left_x = crop_rectangle[0] top_left_y = crop_rectangle[1] width = crop_rectangle[2] @@ -20,17 +29,20 @@ element.save path end -def rectangle rectangles - +def rectangle rectangles, offset_rectangle=[0,0,0,0] top_left_x, top_left_y = top_left_x_y rectangles - bottom_right_x , bottom_right_y = bottom_right_x_y rectangles + # Finding width and height width = bottom_right_x - top_left_x height = bottom_right_y - top_left_y + # We are calculating the offset co-ordinates + x_offset = offset_rectangle[0] + y_offset = offset_rectangle[1] + # The new rectangle is constructed with all the co-ordinates calculated above - [top_left_x, top_left_y, width, height] + [top_left_x+x_offset, top_left_y+y_offset, width, height] end def coordinates_from_page_elements page_elements @@ -74,5 +86,4 @@ def top_left_x_y input_rectangles [top_left_x_coordinates(input_rectangles).min, top_left_y_coordinates(input_rectangles).min] end - diff --git a/modules/ve-mw/test/browser/spec/rectangle_spec.rb b/modules/ve-mw/test/browser/spec/rectangle_spec.rb index 3e0b4c2..0639821 100644 --- a/modules/ve-mw/test/browser/spec/rectangle_spec.rb +++ b/modules/ve-mw/test/browser/spec/rectangle_spec.rb @@ -8,6 +8,14 @@ expect(rectangle(input_rectangles)).to eq(input_rectangle) end + it "should return the co-ordinates of the rectangle which is inside a iframe" do + input_rectangle = [50,50,10,10] + iframe_rectangle = [100,100,20,20] + input_rectangles = [input_rectangle] + output_rectangle = [150, 150, 10, 10] + expect(rectangle(input_rectangles, iframe_rectangle)).to eq(output_rectangle) + end + it "if we provide 2 rectangles and if one contains the other then it should return co-ordinates of bigger rectangle" do input_rectangle_1 = [0,0,1,1] input_rectangle_2 = [0,0,2,2] -- To view, visit https://gerrit.wikimedia.org/r/146432 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Id60c7268dd6e3e4e755bdc53fef7e7d714d4ab0b Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/VisualEditor Gerrit-Branch: master Gerrit-Owner: Vikassy <vikasyaligar...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits