Sha256: 2ae349ae19de4b9fb4af600c9c529101b1250465868fc843564500e8a421b2d9

Contents?: true

Size: 1.9 KB

Versions: 1

Compression:

Stored size: 1.9 KB

Contents

# encoding: utf-8

text_editor = 'テキストエディタ'

step 'テキストエディタにフォーカスがあること' do
  expect(page.evaluate_script(<<-JS)).to be_true
    $('#{NAME_INFO[text_editor][:selector]} textarea.ace_text-input').get(0) ==
      document.activeElement
  JS
end

step 'テキストエディタの :row 行目の :column 文字目にカーソルがあること' do |row, column|
  get_cursor_position_js =
    "ace.edit('#{NAME_INFO[text_editor][:id]}').getCursorPosition()"
  expect(page.evaluate_script("#{get_cursor_position_js}.row")).to eq(row.to_i)
  expect(page.evaluate_script("#{get_cursor_position_js}.column"))
    .to eq(column.to_i)
end

step 'テキストエディタに :program を入力済みである' do |program|
  send 'テキストエディタにプログラムを入力済みである:', program
end

step 'テキストエディタにプログラムを入力済みである:' do |program|
  page.execute_script(<<-JS)
    ace.edit('#{NAME_INFO[text_editor][:id]}')
      .getSession()
      .getDocument()
      .setValue('#{program.gsub(/'/, "\\\\'")}')
  JS
end

step 'テキストエディタに :filename を読み込むこと' do |filename|
  js = <<-JS
    ace.edit('#{NAME_INFO[text_editor][:id]}')
      .getSession()
      .getDocument()
      .getValue()
  JS
  path = Pathname(fixture_path).join(filename)
  expect(page.evaluate_script(js)).to eq(path.read)
end

step 'テキストエディタのプログラムは以下であること:' do |program|
  expect(page.evaluate_script(<<-JS)).to eq(program)
    ace.edit('#{NAME_INFO[text_editor][:id]}')
      .getSession()
      .getDocument()
      .getValue()
  JS
end

step 'テキストエディタのプログラムは :program であること' do |program|
  expect(page.evaluate_script(<<-JS)).to eq(program)
    ace.edit('#{NAME_INFO[text_editor][:id]}')
      .getSession()
      .getDocument()
      .getValue()
  JS
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
smalruby-editor-0.0.6 spec/steps/ace_steps.rb