from util import WebHelpersTestCase
import unittest
from webhelpers.rails.scriptaculous import *
class TestScriptaculousHelper(WebHelpersTestCase):
def test_effect(self):
self.assertEqual("new Effect.Highlight(\"posts\",{});", visual_effect('highlight', "posts"))
self.assertEqual("new Effect.Fade(\"fademe\",{duration:4.0});", visual_effect('fade', "fademe", duration=4.0))
self.assertEqual("new Effect.Shake(element,{});", visual_effect('shake'))
self.assertEqual("new Effect.DropOut(\"dropme\",{queue:'end'});", visual_effect('drop_out', 'dropme',queue='end'))
self.assertEqual("new Effect.DropOut(\"dropme\",{queue:{scope:'test',limit:2,position:'end'}});",
visual_effect('drop_out', 'dropme', queue=dict(position="end",scope="test", limit=2)))
self.assertEqual("new Effect.DropOut(\"dropme\",{queue:{scope:'list',limit:2}});",
visual_effect('drop_out', 'dropme', queue=dict(scope='list',limit=2)))
self.assertEqual("new Effect.DropOut(\"dropme\",{queue:{scope:'test',limit:2,position:'end'}});",
visual_effect('drop_out', 'dropme', queue=dict(position='end',scope='test',limit=2)))
def test_toggle_effects(self):
self.assertEqual("Effect.toggle(\"posts\",'appear',{});", visual_effect("toggle_appear", "posts"))
self.assertEqual("Effect.toggle(\"posts\",'slide',{});", visual_effect("toggle_slide", "posts"))
self.assertEqual("Effect.toggle(\"posts\",'blind',{});", visual_effect("toggle_blind", "posts"))
def test_sortable_element(self):
self.assertEqual("""""",
sortable_element("mylist",url='http://www.example.com/order'))
self.assertEqual("""""",
sortable_element("mylist",tag="div",constraint="horizontal",url='http://www.example.com/order'))
self.assertEqual("""""",
sortable_element("mylist",containment=['list1','list2'], constraint="horizontal",url='http://www.example.com/order'))
self.assertEqual("""""",
sortable_element("mylist",containment='list1',constraint="horizontal",url='http://www.example.com/order'))
def test_draggable_element(self):
self.assertEqual("""""",
draggable_element('product_13'))
self.assertEqual("""""",
draggable_element('product_13',revert=True))
def test_drop_receiving_element(self):
self.assertEqual("""""",
drop_receiving_element('droptarget1',url='http://www.example.com/'))
self.assertEqual("""""",
drop_receiving_element('droptarget1',url='http://www.example.com/',accept='products'))
self.assertEqual("""""",
drop_receiving_element('droptarget1',accept='products',update='infobox',url='http://www.example.com/'))
self.assertEqual("""""",
drop_receiving_element('droptarget1',accept=['tshirts','mugs'],update='infobox',url='http://www.example.com/'))
if __name__ == '__main__':
suite = [unittest.makeSuite(TestScriptaculousHelper)]
for testsuite in suite:
unittest.TextTestRunner(verbosity=1).run(testsuite)