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)