# Based on iwidgets2.2.0/tests/scrolledtext.test code.   

import Test
import Pmw

Test.initialise()

c = Pmw.ScrolledText

kw_1 = {'labelpos': 'n', 'label_text': 'ScrolledText'}
tests_1 = (
  (c.pack, (), {'padx' : 10, 'pady' : 10, 'fill' : 'both', 'expand' : 1}),
  (Test.num_options, (), 7),
  (c.importfile, 'ScrolledText_test.py'),
  ('hull_background', 'aliceblue'),
  ('text_borderwidth', 3),
  ('Scrollbar_borderwidth', 3),
  ('hull_cursor', 'gumby'),
  ('text_exportselection', 0),
  ('text_exportselection', 1),
  ('text_foreground', 'Black'),
  ('text_height', 10),
  ('text_width', 20),
  ('text_insertbackground', 'Black'),
  ('text_insertborderwidth', 1),
  ('text_insertofftime', 200),
  ('text_insertontime', 500),
  ('text_insertwidth', 3),
  ('label_text', 'Label'),
  ('text_relief', 'raised'),
  ('text_relief', 'sunken'),
  ('Scrollbar_repeatdelay', 200),
  ('Scrollbar_repeatinterval', 105),
  ('vscrollmode', 'none'),
  ('vscrollmode', 'static'),
  ('vscrollmode', 'dynamic'),
  ('hscrollmode', 'none'),
  ('hscrollmode', 'static'),
  ('hscrollmode', 'dynamic'),
  ('Scrollbar_width', 20),
  ('text_selectborderwidth', 2),
  ('text_state', 'disabled'),
  ('text_state', 'normal'),
  ('text_background', 'GhostWhite'),
  ('text_wrap', 'char'),
  ('text_wrap', 'none'),
  ('vscrollmode', 'bogus', 'ValueError: bad vscrollmode ' +
    'option "bogus": should be static, dynamic, or none'),
  ('hscrollmode', 'bogus', 'ValueError: bad hscrollmode ' +
    'option "bogus": should be static, dynamic, or none'),
  (c.insert, ('end', 'Hello there\n')),
  (c.clear, ()),
  (c.get, (), '\n'),
)

kw_2 = {
  'hscrollmode' : 'dynamic',
  'label_text' : 'Label',
  'labelpos' : 'n',
  'scrollmargin': 20,
}
tests_2 = (
  (c.pack, (), {'padx' : 10, 'pady' : 10, 'fill' : 'both', 'expand' : 1}),
  (c.importfile, 'ScrolledText_test.py'),
  ('text_relief', 'raised'),
  ('text_relief', 'sunken'),
)

alltests = (
  (tests_1, kw_1),
  (tests_2, kw_2),
)

testData = ((Pmw.ScrolledText, alltests),)

if __name__ == '__main__':
    Test.runTests(testData)
