macro_test.rb
986 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
require_relative "../test_helper"
class MacroTest < ActiveSupport::TestCase
class Plugin1 < Noosfero::Plugin
end
class Plugin1::Macro < Noosfero::Plugin::Macro
def parse(params, inner_html, source)
"Testing: #{inner_html}"
end
end
MACRO = "<div class='macro nonEdit' data-macro='#{Plugin1::Macro.identifier}' data-macro-attr1='1' data-macro-attr2='2' data-macro-attr3='3'>It works!</div>"
def setup
@macro = Plugin1::Macro.new
@macro_element = Nokogiri::HTML.fragment(MACRO).css('.macro').first
end
attr_reader :macro, :macro_element
should 'access plugin' do
assert_equal Plugin1, Plugin1::Macro.plugin
end
should 'parse attributes' do
attributes = macro.attributes(macro_element)
assert_equal '1', attributes['attr1']
assert_equal '2', attributes['attr2']
assert_equal '3', attributes['attr3']
end
should 'convert macro' do
assert_equal 'Testing: It works!', macro.convert(macro_element, nil)
end
end