88 lines
2.3 KiB
Python
88 lines
2.3 KiB
Python
# disable missing docstring
|
|
# pylint: disable=C0111
|
|
|
|
from lettuce import world, step
|
|
from nose.tools import assert_in, assert_equal # pylint: disable=no-name-in-module
|
|
from common import type_in_codemirror
|
|
|
|
|
|
@step('I have created a Blank HTML Page$')
|
|
def i_created_blank_html_page(step):
|
|
world.create_course_with_unit()
|
|
world.create_component_instance(
|
|
step=step,
|
|
category='html',
|
|
component_type='Text'
|
|
)
|
|
|
|
|
|
@step('I see only the HTML display name setting$')
|
|
def i_see_only_the_html_display_name(step):
|
|
world.verify_all_setting_entries([['Display Name', "Text", False]])
|
|
|
|
|
|
@step('I have created an E-text Written in LaTeX$')
|
|
def i_created_etext_in_latex(step):
|
|
world.create_course_with_unit()
|
|
step.given('I have enabled latex compiler')
|
|
world.create_component_instance(
|
|
step=step,
|
|
category='html',
|
|
component_type='E-text Written in LaTeX'
|
|
)
|
|
|
|
|
|
@step('I edit the page$')
|
|
def i_click_on_edit_icon(step):
|
|
world.edit_component()
|
|
|
|
|
|
@step('I add an image with a static link via the Image Plugin Icon$')
|
|
def i_click_on_image_plugin_icon(step):
|
|
use_plugin(
|
|
'.mce-i-image',
|
|
lambda: world.css_fill('.mce-textbox', '/static/image.jpg', 0)
|
|
)
|
|
|
|
|
|
@step('type "(.*)" in the code editor and press OK$')
|
|
def type_in_codemirror_plugin(step, text):
|
|
use_plugin(
|
|
'.mce-i-code',
|
|
lambda: type_in_codemirror(0, text, "$('iframe').contents().find")
|
|
)
|
|
|
|
|
|
def use_plugin(button_class, action):
|
|
# Click on plugin button
|
|
world.css_click(button_class)
|
|
|
|
# Wait for the editing window to open.
|
|
world.wait_for_visible('.mce-window')
|
|
|
|
# Trigger the action
|
|
action()
|
|
|
|
# Click OK
|
|
world.css_click('.mce-primary')
|
|
|
|
|
|
@step('I save the page$')
|
|
def i_click_on_save(step):
|
|
world.save_component(step)
|
|
|
|
|
|
@step('the page has text:')
|
|
def check_page_text(step):
|
|
assert_equal(step.multiline, world.css_find('.xmodule_HtmlModule').html.strip())
|
|
|
|
|
|
@step('the image static link is rewritten to translate the path$')
|
|
def image_static_link_is_rewritten(step):
|
|
# Find the TinyMCE iframe within the main window
|
|
with world.browser.get_iframe('mce_0_ifr') as tinymce:
|
|
image = tinymce.find_by_tag('img').first
|
|
|
|
# Test onExecCommandHandler set the url to absolute.
|
|
assert_in('c4x/MITx/999/asset/image.jpg', image['src'])
|