<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>4707</bug_id>
          
          <creation_ts>2005-08-28 02:52:18 -0700</creation_ts>
          <short_desc>Need a way to automatically test for regressions in NSTextInput implementation</short_desc>
          <delta_ts>2005-10-10 10:04:50 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>VERIFIED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>evan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>17796</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-08-28 02:52:18 -0700</bug_when>
    <thetext>I&apos;m not aware of any way to automatically test for regressions with issues such as as bug 4393, rdar://
4094066 or bug 4699. These seem to happen from time to time (the first two are regressions 
themselves), so having such a facility should be beneficial.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21493</commentid>
    <comment_count>1</comment_count>
      <attachid>4222</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-10-05 14:37:25 -0700</bug_when>
    <thetext>Created attachment 4222
TextInputController implementation

A first cut at implementing this facility. I haven&apos;t managed to test for
regressions in form controls (they don&apos;t want to take focus when running from
DumpRenderTree), and haven&apos;t implemented NSAttributedString support, but this
should already be quite useful for testing contentEditable text.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21494</commentid>
    <comment_count>2</comment_count>
      <attachid>4223</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-10-05 14:38:15 -0700</bug_when>
    <thetext>Created attachment 4223
test the controller functionality</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21533</commentid>
    <comment_count>3</comment_count>
      <attachid>4222</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-10-06 07:21:58 -0700</bug_when>
    <thetext>Comment on attachment 4222
TextInputController implementation

Looks good. Soon we might want to start breaking this tool up into multiple
files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21594</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-10-08 19:55:00 -0700</bug_when>
    <thetext>Landed this in a separate file.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4222</attachid>
            <date>2005-10-05 14:37:25 -0700</date>
            <delta_ts>2005-10-06 07:21:58 -0700</delta_ts>
            <desc>TextInputController implementation</desc>
            <filename>TIControllerPatch.txt</filename>
            <type>text/plain</type>
            <size>6728</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IER1bXBSZW5kZXJUcmVlLm0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLm0sdgpyZXRyaWV2aW5nIHJl
dmlzaW9uIDEuMTcKZGlmZiAtcCAtdSAtcjEuMTcgRHVtcFJlbmRlclRyZWUubQotLS0gRHVtcFJl
bmRlclRyZWUubSAgICAyNiBTZXAgMjAwNSAyMjo1NDoyMyAtMDAwMCAgICAgIDEuMTcKKysrIER1
bXBSZW5kZXJUcmVlLm0gICAgNSBPY3QgMjAwNSAyMTozNTo0OSAtMDAwMApAQCAtNjUsNiArNjUs
OSBAQAogCiBAZW5kCiAKK0BpbnRlcmZhY2UgVGV4dElucHV0Q29udHJvbGxlciA6IE5TT2JqZWN0
CitAZW5kCisKIHN0YXRpYyB2b2lkIGR1bXBSZW5kZXJUcmVlKGNvbnN0IGNoYXIgKmZpbGVuYW1l
KTsKIHN0YXRpYyBOU1N0cmluZyAqbWQ1SGFzaFN0cmluZ0ZvckJpdG1hcChOU0JpdG1hcEltYWdl
UmVwICpiaXRtYXApOwogCkBAIC0yNzgsNyArMjgxLDkgQEAgc3RhdGljIHZvaWQgZHVtcCh2b2lk
KQogICAgIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXIgKmVzYyA9IFtbRXZlbnRTZW5kaW5nQ29udHJv
bGxlciBhbGxvY10gaW5pdF07CiAgICAgWyhpZClvYmogc2V0VmFsdWU6ZXNjIGZvcktleTpAImV2
ZW50U2VuZGVyIl07CiAgICAgW2VzYyByZWxlYXNlXTsKLQorICAgIFRleHRJbnB1dENvbnRyb2xs
ZXIgKnRpYyA9IFtbVGV4dElucHV0Q29udHJvbGxlciBhbGxvY10gaW5pdF07CisgICAgWyhpZClv
Ymogc2V0VmFsdWU6dGljIGZvcktleTpAInRleHRJbnB1dENvbnRyb2xsZXIiXTsKKyAgICBbdGlj
IHJlbGVhc2VdOwogfQogCiAtICh2b2lkKXdlYlZpZXc6KFdlYlZpZXcgKilzZW5kZXIgcnVuSmF2
YVNjcmlwdEFsZXJ0UGFuZWxXaXRoTWVzc2FnZTooTlNTdHJpbmcgKiltZXNzYWdlCkBAIC01Mjgs
NiArNTMzLDE3NiBAQCBzdGF0aWMgdm9pZCBkdW1wKHZvaWQpCiAKIEBlbmQKIAorQGltcGxlbWVu
dGF0aW9uIFRleHRJbnB1dENvbnRyb2xsZXIKKworLy8gRklYTUU6IG5lZWQgdG8gc3VwcG9ydCBh
dHRyaWJ1dGVkIHN0cmluZ3MKKworKyAoQk9PTClpc1NlbGVjdG9yRXhjbHVkZWRGcm9tV2ViU2Ny
aXB0OihTRUwpYVNlbGVjdG9yCit7CisgICAgaWYgKGFTZWxlY3RvciA9PSBAc2VsZWN0b3IoaW5z
ZXJ0VGV4dDopCisgICAgICAgICAgICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKGRvQ29tbWFu
ZDopCisgICAgICAgICAgICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKHNldE1hcmtlZFRleHQ6
c2VsZWN0ZWRGcm9tOmxlbmd0aDopCisgICAgICAgICAgICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVj
dG9yKHVubWFya1RleHQpCisgICAgICAgICAgICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKGhh
c01hcmtlZFRleHQpCisgICAgICAgICAgICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKGNvbnZl
cnNhdGlvbklkZW50aWZpZXIpCisgICAgICAgICAgICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9y
KHN1YnN0cmluZ0Zyb206bGVuZ3RoOikKKyAgICAgICAgICAgIHx8IGFTZWxlY3RvciA9PSBAc2Vs
ZWN0b3IobWFya2VkUmFuZ2UpCisgICAgICAgICAgICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9y
KHNlbGVjdGVkUmFuZ2UpCisgICAgICAgICAgICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKGZp
cnN0UmVjdEZvckNoYXJhY3RlcnNGcm9tOmxlbmd0aDopCisgICAgICAgICAgICB8fCBhU2VsZWN0
b3IgPT0gQHNlbGVjdG9yKGNoYXJhY3RlckluZGV4Rm9yUG9pbnRYOlk6KQorICAgICAgICAgICAg
fHwgYVNlbGVjdG9yID09IEBzZWxlY3Rvcih2YWxpZEF0dHJpYnV0ZXNGb3JNYXJrZWRUZXh0KSkK
KyAgICAgICAgcmV0dXJuIE5POworICAgIHJldHVybiBZRVM7Cit9CisKKysgKE5TU3RyaW5nICop
d2ViU2NyaXB0TmFtZUZvclNlbGVjdG9yOihTRUwpYVNlbGVjdG9yCit7CisgICAgaWYgKGFTZWxl
Y3RvciA9PSBAc2VsZWN0b3IoaW5zZXJ0VGV4dDopKQorICAgICAgICByZXR1cm4gQCJpbnNlcnRU
ZXh0IjsKKyAgICBlbHNlIGlmIChhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKGRvQ29tbWFuZDopKQor
ICAgICAgICByZXR1cm4gQCJkb0NvbW1hbmQiOworICAgIGVsc2UgaWYgKGFTZWxlY3RvciA9PSBA
c2VsZWN0b3Ioc2V0TWFya2VkVGV4dDpzZWxlY3RlZEZyb206bGVuZ3RoOikpCisgICAgICAgIHJl
dHVybiBAInNldE1hcmtlZFRleHQiOworICAgIGVsc2UgaWYgKGFTZWxlY3RvciA9PSBAc2VsZWN0
b3Ioc3Vic3RyaW5nRnJvbTpsZW5ndGg6KSkKKyAgICAgICAgcmV0dXJuIEAic3Vic3RyaW5nRnJv
bVJhbmdlIjsKKyAgICBlbHNlIGlmIChhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKGZpcnN0UmVjdEZv
ckNoYXJhY3RlcnNGcm9tOmxlbmd0aDopKQorICAgICAgICByZXR1cm4gQCJmaXJzdFJlY3RGb3JD
aGFyYWN0ZXJSYW5nZSI7CisgICAgZWxzZSBpZiAoYVNlbGVjdG9yID09IEBzZWxlY3RvcihjaGFy
YWN0ZXJJbmRleEZvclBvaW50WDpZOikpCisgICAgICAgIHJldHVybiBAImNoYXJhY3RlckluZGV4
Rm9yUG9pbnQiOworCisgICAgcmV0dXJuIG5pbDsKK30KKworLSAoaWQpaW5pdAoreworICAgIHJl
dHVybiBzZWxmOworfQorCistICh2b2lkKWluc2VydFRleHQ6KE5TU3RyaW5nICopYVN0cmluZwor
eworICAgIE5TVmlldyA8V2ViRG9jdW1lbnRWaWV3PiAqdmlldyA9IFtbZnJhbWUgZnJhbWVWaWV3
XSBkb2N1bWVudFZpZXddOworCisgICAgaWYgKFt2aWV3IGNvbmZvcm1zVG9Qcm90b2NvbDpAcHJv
dG9jb2woTlNUZXh0SW5wdXQpXSkKKyAgICAgICAgWyhpZCl2aWV3IGluc2VydFRleHQ6YVN0cmlu
Z107Cit9CisKKy0gKHZvaWQpZG9Db21tYW5kOihOU1N0cmluZyAqKWFDb21tYW5kCit7CisgICAg
TlNWaWV3IDxXZWJEb2N1bWVudFZpZXc+ICp2aWV3ID0gW1tmcmFtZSBmcmFtZVZpZXddIGRvY3Vt
ZW50Vmlld107CisKKyAgICBpZiAoW3ZpZXcgY29uZm9ybXNUb1Byb3RvY29sOkBwcm90b2NvbChO
U1RleHRJbnB1dCldKQorICAgICAgICBbKGlkIDxOU1RleHRJbnB1dD4pdmlldyBkb0NvbW1hbmRC
eVNlbGVjdG9yOk5TU2VsZWN0b3JGcm9tU3RyaW5nKGFDb21tYW5kKV07Cit9CisKKy0gKHZvaWQp
c2V0TWFya2VkVGV4dDooTlNTdHJpbmcgKilhU3RyaW5nIHNlbGVjdGVkRnJvbTooaW50KWZyb20g
bGVuZ3RoOihpbnQpbGVuZ3RoCit7CisgICAgTlNWaWV3IDxXZWJEb2N1bWVudFZpZXc+ICp2aWV3
ID0gW1tmcmFtZSBmcmFtZVZpZXddIGRvY3VtZW50Vmlld107CisgCisgICAgaWYgKFt2aWV3IGNv
bmZvcm1zVG9Qcm90b2NvbDpAcHJvdG9jb2woTlNUZXh0SW5wdXQpXSkKKyAgICAgICAgWyhpZCA8
TlNUZXh0SW5wdXQ+KXZpZXcgc2V0TWFya2VkVGV4dDphU3RyaW5nIHNlbGVjdGVkUmFuZ2U6TlNN
YWtlUmFuZ2UoZnJvbSwgbGVuZ3RoKV07Cit9CisKKy0gKHZvaWQpdW5tYXJrVGV4dAoreworICAg
IE5TVmlldyA8V2ViRG9jdW1lbnRWaWV3PiAqdmlldyA9IFtbZnJhbWUgZnJhbWVWaWV3XSBkb2N1
bWVudFZpZXddOworCisgICAgaWYgKFt2aWV3IGNvbmZvcm1zVG9Qcm90b2NvbDpAcHJvdG9jb2wo
TlNUZXh0SW5wdXQpXSkKKyAgICAgICAgWyhpZCA8TlNUZXh0SW5wdXQ+KXZpZXcgdW5tYXJrVGV4
dF07Cit9CisKKy0gKEJPT0wpaGFzTWFya2VkVGV4dAoreworICAgIE5TVmlldyA8V2ViRG9jdW1l
bnRWaWV3PiAqdmlldyA9IFtbZnJhbWUgZnJhbWVWaWV3XSBkb2N1bWVudFZpZXddOworCisgICAg
aWYgKFt2aWV3IGNvbmZvcm1zVG9Qcm90b2NvbDpAcHJvdG9jb2woTlNUZXh0SW5wdXQpXSkKKyAg
ICAgICAgcmV0dXJuIFsoaWQgPE5TVGV4dElucHV0Pil2aWV3IGhhc01hcmtlZFRleHRdOworCisg
ICAgcmV0dXJuIEZBTFNFOworfQorCistIChsb25nKWNvbnZlcnNhdGlvbklkZW50aWZpZXIKK3sK
KyAgICBOU1ZpZXcgPFdlYkRvY3VtZW50Vmlldz4gKnZpZXcgPSBbW2ZyYW1lIGZyYW1lVmlld10g
ZG9jdW1lbnRWaWV3XTsKKworICAgIGlmIChbdmlldyBjb25mb3Jtc1RvUHJvdG9jb2w6QHByb3Rv
Y29sKE5TVGV4dElucHV0KV0pCmN2cyBkaWZmOiBEaWZmaW5nIER1bXBSZW5kZXJUcmVlLnhjb2Rl
cHJvaisgICAgICAgIHJldHVybiBbKGlkIDxOU1RleHRJbnB1dD4pdmlldyBjb252ZXJzYXRpb25J
ZGVudGlmaWVyXTsKKworICAgIHJldHVybiAwOworfQorCistIChOU1N0cmluZyAqKXN1YnN0cmlu
Z0Zyb206KGludClmcm9tIGxlbmd0aDooaW50KWxlbmd0aAoreworICAgIE5TVmlldyA8V2ViRG9j
dW1lbnRWaWV3PiAqdmlldyA9IFtbZnJhbWUgZnJhbWVWaWV3XSBkb2N1bWVudFZpZXddOworCisg
ICAgaWYgKFt2aWV3IGNvbmZvcm1zVG9Qcm90b2NvbDpAcHJvdG9jb2woTlNUZXh0SW5wdXQpXSkK
KyAgICAgICAgcmV0dXJuIFtbKGlkIDxOU1RleHRJbnB1dD4pdmlldyBhdHRyaWJ1dGVkU3Vic3Ry
aW5nRnJvbVJhbmdlOk5TTWFrZVJhbmdlKGZyb20sIGxlbmd0aCldIHN0cmluZ107CisgICAgCisg
ICAgcmV0dXJuIEAiIjsKK30KKworLSAoTlNBcnJheSAqKW1hcmtlZFJhbmdlCit7CisgICAgTlNW
aWV3IDxXZWJEb2N1bWVudFZpZXc+ICp2aWV3ID0gW1tmcmFtZSBmcmFtZVZpZXddIGRvY3VtZW50
Vmlld107CisKKyAgICBpZiAoW3ZpZXcgY29uZm9ybXNUb1Byb3RvY29sOkBwcm90b2NvbChOU1Rl
eHRJbnB1dCldKSB7CisgICAgICAgIE5TUmFuZ2UgcmFuZ2UgPSBbKGlkIDxOU1RleHRJbnB1dD4p
dmlldyBtYXJrZWRSYW5nZV07CisgICAgICAgIHJldHVybiBbTlNBcnJheSBhcnJheVdpdGhPYmpl
Y3RzOltOU051bWJlciBudW1iZXJXaXRoVW5zaWduZWRJbnQ6cmFuZ2UubG9jYXRpb25dLCBbTlNO
dW1iZXIgbnVtYmVyV2l0aFVuc2lnbmVkSW50OnJhbmdlLmxlbmd0aF0sIG5pbF07CisgICAgfQor
CisgICAgcmV0dXJuIG5pbDsKK30KKworLSAoTlNBcnJheSAqKXNlbGVjdGVkUmFuZ2UKK3sKKyAg
ICBOU1ZpZXcgPFdlYkRvY3VtZW50Vmlldz4gKnZpZXcgPSBbW2ZyYW1lIGZyYW1lVmlld10gZG9j
dW1lbnRWaWV3XTsKKworICAgIGlmIChbdmlldyBjb25mb3Jtc1RvUHJvdG9jb2w6QHByb3RvY29s
KE5TVGV4dElucHV0KV0pIHsKKyAgICAgICAgTlNSYW5nZSByYW5nZSA9IFsoaWQgPE5TVGV4dElu
cHV0Pil2aWV3IHNlbGVjdGVkUmFuZ2VdOworICAgICAgICByZXR1cm4gW05TQXJyYXkgYXJyYXlX
aXRoT2JqZWN0czpbTlNOdW1iZXIgbnVtYmVyV2l0aFVuc2lnbmVkSW50OnJhbmdlLmxvY2F0aW9u
XSwgW05TTnVtYmVyIG51bWJlcldpdGhVbnNpZ25lZEludDpyYW5nZS5sZW5ndGhdLCBuaWxdOwor
ICAgIH0KKworICAgIHJldHVybiBuaWw7Cit9CgorCistIChOU0FycmF5ICopZmlyc3RSZWN0Rm9y
Q2hhcmFjdGVyc0Zyb206KGludClmcm9tIGxlbmd0aDooaW50KWxlbmd0aAoreworICAgIE5TVmll
dyA8V2ViRG9jdW1lbnRWaWV3PiAqdmlldyA9IFtbZnJhbWUgZnJhbWVWaWV3XSBkb2N1bWVudFZp
ZXddOworCisgICAgaWYgKFt2aWV3IGNvbmZvcm1zVG9Qcm90b2NvbDpAcHJvdG9jb2woTlNUZXh0
SW5wdXQpXSkgeworICAgICAgICBOU1JlY3QgcmVjdCA9IFsoaWQgPE5TVGV4dElucHV0Pil2aWV3
IGZpcnN0UmVjdEZvckNoYXJhY3RlclJhbmdlOk5TTWFrZVJhbmdlKGZyb20sIGxlbmd0aCldOwor
ICAgICAgICByZXR1cm4gW05TQXJyYXkgYXJyYXlXaXRoT2JqZWN0czoKKyAgICAgICAgICAgICAg
ICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhGbG9hdDpyZWN0Lm9yaWdpbi54XSwKKyAgICAgICAg
ICAgICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhGbG9hdDpyZWN0Lm9yaWdpbi55XSwKKyAg
ICAgICAgICAgICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhGbG9hdDpyZWN0LnNpemUud2lk
dGhdLAorICAgICAgICAgICAgICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEZsb2F0OnJlY3Qu
c2l6ZS5oZWlnaHRdLAorICAgICAgICAgICAgICAgICAgICBuaWxdOworICAgIH0KKworICAgIHJl
dHVybiBuaWw7Cit9CisKKy0gKGludCljaGFyYWN0ZXJJbmRleEZvclBvaW50WDooZmxvYXQpeCBZ
OihmbG9hdCl5Cit7CisgICAgTlNWaWV3IDxXZWJEb2N1bWVudFZpZXc+ICp2aWV3ID0gW1tmcmFt
ZSBmcmFtZVZpZXddIGRvY3VtZW50Vmlld107CisKKyAgICBpZiAoW3ZpZXcgY29uZm9ybXNUb1By
b3RvY29sOkBwcm90b2NvbChOU1RleHRJbnB1dCldKQorICAgICAgICByZXR1cm4gWyhpZCA8TlNU
ZXh0SW5wdXQ+KXZpZXcgY2hhcmFjdGVySW5kZXhGb3JQb2ludDpOU01ha2VQb2ludCh4LCB5KV07
CisKKyAgICByZXR1cm4gMDsKK30KKworLSAoTlNBcnJheSAqKXZhbGlkQXR0cmlidXRlc0Zvck1h
cmtlZFRleHQKK3sKKyAgICBOU1ZpZXcgPFdlYkRvY3VtZW50Vmlldz4gKnZpZXcgPSBbW2ZyYW1l
IGZyYW1lVmlld10gZG9jdW1lbnRWaWV3XTsKKworICAgIGlmIChbdmlldyBjb25mb3Jtc1RvUHJv
dG9jb2w6QHByb3RvY29sKE5TVGV4dElucHV0KV0pCisgICAgICAgIHJldHVybiBbKGlkIDxOU1Rl
eHRJbnB1dD4pdmlldyB2YWxpZEF0dHJpYnV0ZXNGb3JNYXJrZWRUZXh0XTsKKworICAgIHJldHVy
biBuaWw7Cit9CisKK0BlbmQKKwogc3RhdGljIHZvaWQgZHVtcFJlbmRlclRyZWUoY29uc3QgY2hh
ciAqZmlsZW5hbWUpCiB7CiAgICAgQ0ZTdHJpbmdSZWYgZmlsZW5hbWVTdHJpbmcgPSBDRlN0cmlu
Z0NyZWF0ZVdpdGhDU3RyaW5nKE5VTEwsIGZpbGVuYW1lLCBrQ0ZTdHJpbmdFbmNvZGluZ1VURjgp
Owo=
</data>
<flag name="review"
          id="690"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>4223</attachid>
            <date>2005-10-05 14:38:15 -0700</date>
            <delta_ts>2005-10-05 14:38:15 -0700</delta_ts>
            <desc>test the controller functionality</desc>
            <filename>test-controller.html</filename>
            <type>text/html</type>
            <size>2105</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8c3R5bGU+CmJvZHkgeyBtYXJnaW46IDA7IHBhZGRpbmc6IDAgfQo8L3N0
eWxlPgo8L2hlYWQ+Cjxib2R5Pgo8ZGl2IGNvbnRlbnRlZGl0YWJsZT5GQUlMVVJFPC9kaXY+Cjxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCglpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKSB7CgkJCgkJdHJ5IHsKCQkKCQkJbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4
dCgpOwoJCQlkb2N1bWVudC5leGVjQ29tbWFuZCgiU2VsZWN0QWxsIik7CgkJCgkJCXRleHRJbnB1
dENvbnRyb2xsZXIuaW5zZXJ0VGV4dCgidG8gYmUgZGVsZXRlZCIpOwoJCQl0ZXh0SW5wdXRDb250
cm9sbGVyLmRvQ29tbWFuZCgic2VsZWN0QWxsOiIpOwoJCQl0ZXh0SW5wdXRDb250cm9sbGVyLmRv
Q29tbWFuZCgiZGVsZXRlOiIpOwoJCgkJCXRleHRJbnB1dENvbnRyb2xsZXIuc2V0TWFya2VkVGV4
dCgiRmFpbHVyZSIsIDAsIDcpOwoJCQlpZiAodGV4dElucHV0Q29udHJvbGxlci5oYXNNYXJrZWRU
ZXh0KCkgJiYgdGV4dElucHV0Q29udHJvbGxlci5tYXJrZWRSYW5nZSgpLnRvU3RyaW5nKCkgPT0g
IjAsNyIpCgkJCQl0ZXh0SW5wdXRDb250cm9sbGVyLnNldE1hcmtlZFRleHQoIlN1Y2Nlc3MiLCAw
LCA3KTsKCQkJCgkJCXZhciB0ZXh0QXR0cmlidXRlcyA9IHRleHRJbnB1dENvbnRyb2xsZXIudmFs
aWRBdHRyaWJ1dGVzRm9yTWFya2VkVGV4dCgpOwoJCQl0ZXh0SW5wdXRDb250cm9sbGVyLnVubWFy
a1RleHQoKTsKCQoJCQl0ZXh0SW5wdXRDb250cm9sbGVyLmRvQ29tbWFuZCgic2VsZWN0QWxsOiIp
OwoJCQlpZiAodGV4dElucHV0Q29udHJvbGxlci5oYXNNYXJrZWRUZXh0KCkgfHwgdGV4dElucHV0
Q29udHJvbGxlci5zZWxlY3RlZFJhbmdlKCkudG9TdHJpbmcoKSAhPSAiMCw3IikgewoJCQkJdGV4
dElucHV0Q29udHJvbGxlci5kb0NvbW1hbmQoImRlbGV0ZToiKTsKCQkJCXRleHRJbnB1dENvbnRy
b2xsZXIuaW5zZXJ0VGV4dCgiRmFpbHVyZSIpOwoJCQl9CgkKCQkJdmFyIGNoYXJSZWN0ID0gdGV4
dElucHV0Q29udHJvbGxlci5maXJzdFJlY3RGb3JDaGFyYWN0ZXJSYW5nZSgwLCAxKTsKCQkJdGV4
dElucHV0Q29udHJvbGxlci5jaGFyYWN0ZXJJbmRleEZvclBvaW50KDAsIDApOyAvLyBjdXJyZW50
bHkgdW5pbXBsZW1lbnRlZAoJCQl0ZXh0SW5wdXRDb250cm9sbGVyLnN1YnN0cmluZ0Zyb21SYW5n
ZSgxLCAxKTsgLy8gY3VycmVudGx5IHVuaW1wbGVtZW50ZWQKCQkJdGV4dElucHV0Q29udHJvbGxl
ci5jb252ZXJzYXRpb25JZGVudGlmaWVyKCk7IC8vIGp1c3QgYW4gaWRlbnRpZmllci4uLgoJCQkK
CQkJdGV4dEF0dHJpYnV0ZXMgPSB0ZXh0QXR0cmlidXRlcy50b1N0cmluZygpOwoJCQlpZiAoLTEg
PT0gdGV4dEF0dHJpYnV0ZXMuaW5kZXhPZigiTlNVbmRlcmxpbmUiKSkKCQkJCXRleHRJbnB1dENv
bnRyb2xsZXIuaW5zZXJ0VGV4dCgiQXR0cmlidXRlIE5TVW5kZXJsaW5lIGlzIG1pc3NpbmciKTsK
CgkJCWlmICgtMSA9PSB0ZXh0QXR0cmlidXRlcy5pbmRleE9mKCJOU1VuZGVybGluZUNvbG9yIikp
CgkJCQl0ZXh0SW5wdXRDb250cm9sbGVyLmluc2VydFRleHQoIkF0dHJpYnV0ZSBOU1VuZGVybGlu
ZUNvbG9yIGlzIG1pc3NpbmciKTsKCgkJCWlmICgtMSA9PSB0ZXh0QXR0cmlidXRlcy5pbmRleE9m
KCJOU01hcmtlZENsYXVzZVNlZ21lbnQiKSkKCQkJCXRleHRJbnB1dENvbnRyb2xsZXIuaW5zZXJ0
VGV4dCgiQXR0cmlidXRlIE5TTWFya2VkQ2xhdXNlU2VnbWVudCBpcyBtaXNzaW5nIik7CgoJCQlp
ZiAoLTEgPT0gdGV4dEF0dHJpYnV0ZXMuaW5kZXhPZigiTlNUZXh0SW5wdXRSZXBsYWNlbWVudFJh
bmdlQXR0cmlidXRlTmFtZSIpKQoJCQkJdGV4dElucHV0Q29udHJvbGxlci5pbnNlcnRUZXh0KCJB
dHRyaWJ1dGUgTlNUZXh0SW5wdXRSZXBsYWNlbWVudFJhbmdlQXR0cmlidXRlTmFtZSBpcyBtaXNz
aW5nIik7CgoJCX0gY2F0Y2ggKGV4KSB7CgkJCWRvY3VtZW50LndyaXRlKCJFeGNlcHRpb246ICIg
KyBleC5kZXNjcmlwdGlvbik7CgkJfQoJfSBlbHNlIHsKCQlkb2N1bWVudC53cml0ZSgiKGNhbm5v
dCBydW4gaW50ZXJhY3RpdmVseSkiKTsKCX0KPC9zY3JpcHQ+CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>