vapir-ie 1.7.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/History.txt ADDED
@@ -0,0 +1,437 @@
1
+ == Version 1.6.6 (in development)
2
+
3
+ * Added close_all method to firefox. Closes http://jira.openqa.org/browse/WTR-222 (Angrez)
4
+ * Fixed status method for firefox. (Angrez)
5
+
6
+ == Version 1.6.5
7
+
8
+ Charley Baker was release manager for this release of Watir.
9
+
10
+ === New Features (Both IE and Firefox)
11
+
12
+ * Browser.attach is now available.
13
+ * Browser.options and Browser.set_options are now available.
14
+ * Add support for definition lists, this adds these methods:
15
+ dd, dt, dl, dds, dts, dls. (Jarib)
16
+ * Added support for "visible?" method to both IE and Firefox. Closes
17
+ http://jira.openqa.org/browse/WTR-262 (Tony)
18
+ * Hidden#visible? should always return false. (Jarib)
19
+ * New method execute_script.
20
+ * Add ElementCollections#size as alias of length. (Jarib)
21
+ * Some camelCase => snake_case renames (with aliasing). (Jarib)
22
+ Image#fileCreatedDate => file_created_date
23
+ Image#fileSize => file_size
24
+ Image#hasLoaded? => loaded?
25
+ SelectList#getAllContents => options
26
+ SelectList#getSelectedItems => selected_options
27
+ SelectList#clearSelection => clear
28
+ SelectList#includes? => include?
29
+ TextField#dragContentsTo => drag_contents_to
30
+ Radio/Checkbox#isSet? => set?
31
+ * Patch for winclicker fix. http://jira.openqa.org/browse/WTR-279 (Derek Berner)
32
+ * Add support for using a Regexp as the third argument (value) when locating
33
+ checkboxes/radio buttons. (Jarib)
34
+ * Add support for <strong> element. (Jarib)
35
+ * Add support and tests for <em> element. (Jarib)
36
+ * SelectList#select now supports Numeric arguments. (Jarib)
37
+ * Additional inspect implementations for both IE and FF.
38
+ Closes http://jira.openqa.org/browse/WTR-158 (Jarib)
39
+ * Add ElementCollections#{first,last}. (Jarib)
40
+ * Fixes for running on Ruby 1.9. (Jarib)
41
+
42
+ === Firefox Improvements
43
+
44
+ * SelectList#set is now defined for Firefox. Like with IE, it is an alias for
45
+ SelectList#select. Closes http://jira.openqa.org/browse/WTR-271 (Bret)
46
+ * Element collections are now enumerable. This allows methods such as @select@
47
+ and @map@ to be used with methods such as @divs@ and @links@.
48
+ * FireWatir.attach is now available, analogous to IE.attach. Includes http://jira.openqa.org/browse/WTR-296
49
+ * Some Javascript errors that were being ignored, now raise Ruby exceptions.
50
+ * Added event handler which resets the context of document
51
+ * Fix bug that occurred when new page was automatically loaded. (Angrez, 3ef8b6)
52
+ when page gets loaded automatically (Angrez)
53
+ * Changed code to use document_var, body_var, window_var, browser_var instead of
54
+ "document", "body", "window", "browser" variables. (Angrez)
55
+ * Changed code to replace every quote (") in xpath query with (\") so that it
56
+ doesn't give error while executing the xpath query (Angrez)
57
+ * Fire onchange event for FireWatir file fields. Closes http://jira.openqa.org/browse/WTR-286. (Jarib)
58
+ * Fixes for running and closing Firefox on Mac OS X http://jira.openqa.org/browse/WTR-272 (Jarib)
59
+ * Added functionality to allow Watir::Browser.attach with no arguments to open
60
+ a new firefox window rather than taking over the existing focused window (Rob Aldred)
61
+ * Also modified some setup functions to correctly handle closed browsers,
62
+ browserless windows and others (Rob Aldred)
63
+ * Add test and implementation for Firefox#status http://jira.openqa.org/browse/WTR-250 (Jarib)
64
+ * 2 problems fixed with .click (jubishop)
65
+ a) When chaining together element calls the @container becomes an
66
+ HTMLElement, but there's no container_var defined for HTMLElement
67
+ b) When an <a tag has no href then element_type was returning nil.
68
+ * Fix bug in Firefox#document. Change creating error class by eval in jssh
69
+ socket to creating class with ruby. (Ethan)
70
+ * Add support for Browser#frames. (Ethan)
71
+ * Make the version dependencies for Watir and FireWatir be the same. (This change
72
+ will also be backported to 1.6.3.) (Bret)
73
+
74
+ === IE Improvements
75
+
76
+ * Allow attach timeout to be accessed as an option. Thus:
77
+ IE.set_options :attach_timeout => 5.0
78
+ This was previously available as class method.
79
+ * Fix for Autoit auto-registration. (Bret)
80
+ * Fixes http://jira.openqa.org/browse/WTR-290, http://jira.openqa.org/browse/WTR-308, http://jira.openqa.org/browse/WTR-298
81
+ * Fix for IE6, 7 and 8 file uploads. (Zeljko Filipin & Jarmo Pertman)
82
+ * Replaced REXML with Nokogiri for xml parsing. Fixes http://jira.openqa.org/browse/WTR-19 (Aidy Lewis)
83
+ * Option now supports :label attribute http://jira.openqa.org/browse/WTR-297
84
+ * Patch for IE.close causing WIN32OLE errors http://jira.openqa.org/browse/WTR-304 (Tony)
85
+ * Watir::IE.inspect issue fixed: http://jira.openqa.org/browse/WTR-180 (Jarib)
86
+ * Fix for Browser#execute_script on IE7. (Jarib)
87
+ * Removed ActiveSupport dependency. (Jarib)
88
+ * Fix Browser#status so it works even when the status bar is not visible. (Bret)
89
+ * Fix bug when using "each" with nested tables.
90
+ http://jira.openqa.org/browse/WTR-324 (Alan Baird)
91
+ * Now uses UTF-8 codepage by default http://jira.openqa.org/browse/WTR-219 (Jarib)
92
+
93
+ === Structure Improvements
94
+
95
+ * Lots of rework of the FireWatir code, including removing duplication and
96
+ dead code, renaming variables, and simplifying code. Also a few performance
97
+ improvements. (Bret & Charley)
98
+ * Rename source file names for consistency.
99
+
100
+ === Unit Tests
101
+
102
+ * Add tests demonstrating known bugs.
103
+ * Make the "window" tests run more reliably. (Bret)
104
+ * Relocate unreliable tests. (Bret)
105
+ * Tag tests that are known to fail on IE or Firefox.
106
+ * Fixed one test that was failing on non-English platforms. (Jarib)
107
+ * New Rake task (:test) runs all tests. (Jim Matthews)
108
+ * Use ci_reporter to provide more detailed test results for watirbuild.com.
109
+ Use xls transform to format results. (Jim Matthews)
110
+ * Add WatirSpec submodule + load it in Rakefile if available. (Jarib)
111
+
112
+ == Version 1.6.2
113
+
114
+ * Changed the method of setting Watir::Browser.default when the user does not
115
+ specify a browser option. This fixes the problem where it would be 'ie' on
116
+ Mac.
117
+
118
+ * Fixed FireWatir's "text" method to return the same character's as Watir's
119
+ method. It had been returning extra spaces and other characters.
120
+ Fix included contribution from Tony. Closes #266
121
+
122
+ * Fixed "activesupport" error. Users no longer need to have the latest version
123
+ installed.
124
+
125
+ == Version 1.6.1
126
+
127
+ * Fixed install/load errors reported by Marek J and Tony.
128
+
129
+ == Version 1.6.0
130
+
131
+ This release merges the Watir and FireWatir projects. It contains many
132
+ compatibility fixes,
133
+ as well as a new browser-independent interface your tests can use to allow you
134
+ to specify the browser at run time.
135
+
136
+ We have also updated our existing support for modal dialogs so that it now works
137
+ with Ruby 1.8.6. Users who have been using Ruby 1.8.2 because of this will now
138
+ need to upgrade to Ruby 1.8.6.
139
+
140
+ This release also contains many other fixes. Details below.
141
+
142
+ Watir and FireWatir are still distributed as separate gems. Installing the
143
+ Watir gem will automatically install FireWatir. Both gems now use common code
144
+ contained in the "commonwatir" gem.
145
+
146
+ This release is fully backwards compatible with previous versions of Watir and
147
+ FireWatir. Your existing scripts should continue to run without change.
148
+
149
+ === Installation
150
+
151
+ To install both Watir and FireWatir:
152
+
153
+ gem update --system
154
+ gem install watir
155
+
156
+ To only install FireWatir (e.g. on Mac or Linux)
157
+
158
+ gem update --system
159
+ gem install firewatir
160
+
161
+ To enable Firefox to work with Watir, you will also need to install the
162
+ JSSH plugin. See this page for details.
163
+ http://wiki.openqa.org/display/WTR/FireWatir+Installation#FireWatirInstallation-3%29InstalltheJSSHFirefoxExtension
164
+
165
+ === New Features
166
+ You can now replace references to Watir::IE.new (or FireWatir::Firefox.new)
167
+ with Watir::Browser.new to allow you to
168
+ specify which browser to run your tests against at run time. Details:
169
+ http://wiki.openqa.org/display/WTR/Browser.new
170
+
171
+ It takes two lines of code to allow Browser.new to support an additional Watir
172
+ implementation. The two lines necessary for SafariWatir (on Mac) are provided.
173
+ (See commonwatir/lib/watir/browsers.rb).
174
+
175
+ In addition to 'browser', options supported by Browser.new (on IE only right now)
176
+ are 'speed' and 'visible'.
177
+
178
+ Unit tests no longer run from the gems. You will need to get the source if you
179
+ want to run the unit tests.
180
+
181
+ === Compatibility Fixes
182
+ * FireWatir now raises Watir exceptions.
183
+ * FireWatir now supports multiple attributes for most page elements.
184
+ * Watir now supports multiple attributes for most page elements.
185
+ * Added support to FireWatir for many more element types.
186
+ * Added Radio#checked? and Checkbox#checked? methods to FireWatir.
187
+ * Now firefox.radio().set will click a radio button (as does IE) even if it
188
+ is already set. This is important if there is javascript attached to the
189
+ radio button.
190
+ * TextField#set now respects the maxlength of the field. Previously, FireWatir
191
+ could overrun the limit. FireWatir::TextField.maxlength now works correctly.
192
+ * Watir::SelectList#includes? and #selected now accept regexp arguments.
193
+ This functionality is still missing from FireWatir, but it is in Celerity.
194
+ From Jari Bakken. Fixes #261.
195
+ * FireWatir::Element#disabled is fixed.
196
+ * Added method Watir::Table#row_count_excluding_nested_tables. This works like
197
+ FireWatir::Table#row_count.
198
+ * Watir#wait_until is now available to FireWatir.
199
+ * Fixed versioning. With FireWatir 1.2.1, FireWatir::Firefox::VERSION
200
+ actually reported '1.1.1.'.
201
+ * FireWatir will now automatically starts Firefox on Mac (as it did previously
202
+ on Windows and Linux).
203
+
204
+ === IE Fixes
205
+ * Fix for: form field named "submit" causes "submit" method to not work.
206
+ Closes #223.
207
+ * Calling ie.radio().set now scrolls the page to the control, as with other
208
+ controls. Thanks to Jonathan Kohl for the fix. Closes #172.
209
+ * Fixed ie.speed, which was returning ":fast" when speed was actually ":zippy".
210
+ * Fix for visible? method not being inherited correctly. From Alan Baird.
211
+ Closes #253
212
+ * Added ie.forms method. Thanks to Jarmo P.
213
+ * Fix for "undefined method 'document'" error that was occuring when loading
214
+ pages with frames that were slow to load. Reported here:
215
+ http://groups.google.com/group/watir-general/browse_thread/thread/ddde6251e30588c9
216
+ * Fixed accessing checkboxes and radio buttons using :ole_object on IE.
217
+ Closes #217.
218
+
219
+ === Unit Test Improvements
220
+ * Unit tests no longer can be run from a gem install. Rather, you need to run them
221
+ from a complete source tree.
222
+ * New rake targets for Watir: test and cruise, each of which runs the core tests.
223
+ * Numerous fixes and cleanup to the unit test suite.
224
+ * The unit tests both both Watir and FireWatir now use the new Browser.new
225
+ interface and can be run
226
+ against either implementation (Watir::IE or FireWatir::Firefox or others for
227
+ that matter). See this page for details.
228
+ http://wiki.openqa.org/display/WTR/Running+Unit+Tests+in+Development
229
+ * Added tagging to unit tests. Tests which have known failures are now tagged
230
+ as ":fails_on_ie" or ":fails_on_firefox".
231
+ * Added coverage modes for running unit tests. These are documented on the wiki
232
+ page cited above.
233
+ * Updated tests that were still using obsolete Watir 1.0 interfaces.
234
+ * Started merging the Watir test suites into commonwatir.
235
+ * General test clean up.
236
+ * Test failures due to not setting IE security settings will now issue
237
+ helpful error message telling you how to fix your IE security settings.
238
+
239
+ === Structural Changes
240
+ * Moved library files into "lib" directories. Now Watir is like all the other
241
+ Ruby projects.
242
+ * Moved FireWatir classes into the FireWatir module.
243
+ * Removed examples. They are now on the wiki.
244
+ * Simplified code by removing duplication and unused code.
245
+ * The watir-console now works from the development tree.
246
+ * Renamed IE.defaults to IE.options and IE.defaults= to IE.set_options.
247
+ * Added top-level "rake gems" target. Only works on windows right now.
248
+
249
+
250
+ == Watir 1.5.6
251
+
252
+ To install this:
253
+
254
+ "gem update --system"
255
+ "gem install watir"
256
+
257
+ Installer Fix
258
+
259
+ This update fixes an installer problem in Watir 1.5.5 that affected some users.
260
+ If you installed 1.5.5 without error, there is no reason to get this update.
261
+
262
+ == Watir 1.5.5.
263
+
264
+ New Features
265
+
266
+ * Multiple attributes can now be specified for these elements:
267
+ li, ul, map, area, h1, h2, h3, h4, h5, h6. (This was claimed to work earlier,
268
+ but never did.)
269
+ http://jira.openqa.org/browse/WTR-196
270
+
271
+ Bug Fixes
272
+
273
+ * Statements such at ie.table().row() now work (no longer private).
274
+ http://jira.openqa.org/browse/WTR-117
275
+ * Fixed bug with images method when used with anything but ie. (Paul Rogers)
276
+ E.g. ie.div().images. http://jira.openqa.org/browse/WTR-211
277
+ * Fixed intermittent bug with ie.file_field().set. (Tomislav Car)
278
+ http://jira.openqa.org/browse/WTR-210
279
+ * When installing Watir 1.5.4 you could get extra, confusing
280
+ questions. This shouldn't happen anymore.
281
+ http://jira.openqa.org/browse/WTR-209
282
+ * Improved error message when element is not found using multiple attributes.
283
+ http://jira.openqa.org/browse/WTR-181
284
+ * Made examples and unit tests somewhat better examples: removed unnecessary
285
+ "include Watir" statements; started using "browser" instead of "$ie"; use
286
+ new methods 'goto_page' and 'uses_page' (this last improves performance of
287
+ unit tests).
288
+ http://jira.openqa.org/browse/WTR-159
289
+ * Moved brittle unit test that was causing cascading failures; renamed another
290
+ that was causing a namespace collision.
291
+ http://jira.openqa.org/browse/WTR-92
292
+
293
+ == Version 1.5.4
294
+
295
+ New Features
296
+
297
+ * Add new speed, :zippy. This is like fast, but, in effect, it does a TextField#value= instead of a TextField#set. If you have specific text fields that you never want this to happen to, use ie.text_field(:how, what).requires_typing.set instead.
298
+ http://svn.openqa.org/fisheye/changelog/watir/?cs=1295
299
+ * Add support for Chinese input as supplied by Vincent Xu.
300
+ http://jira.openqa.org/browse/WTR-71.
301
+
302
+ Bug Fixes
303
+
304
+ * Add dependency on windows-pr 0.6.6, which seems to be necessary on Vista.
305
+ * Fix for bug in IE.close_others provided by Paul Taylor.
306
+ http://jira.openqa.org/browse/WTR-194
307
+ * Fix for error when using verify_equal with ci_reporter, provided by Marcog.
308
+ http://svn.openqa.org/fisheye/changelog/watir/?cs=1301
309
+
310
+ == Version 1.5.3
311
+
312
+ Bug fixes and minor cleanup.
313
+
314
+ * Fix text areas bugs.
315
+ * Fix warning messages caused by redefined constants.
316
+ * Break out watir.rb into multiple files.
317
+ * Fix [WTR-90] error when running tests when installing gem.
318
+ http://jira.openqa.org/browse/WTR-90
319
+ * Fix tests.
320
+ * Update documentation.
321
+
322
+ Major Changes in 1.5.2
323
+ Support for IE's Modal Dialogs.
324
+ showModalDialog()
325
+ Any method can be used to specify an element (:text, :class, etc.).
326
+ ie.button(:class,'Button Menu').click
327
+ ie.div(:text, 'Type').text_field(:class, 'TextInput-input').set('my value')
328
+ ie.button(:text, 'Save').click
329
+ One can now use multiple attributes to specify an element.
330
+ ie.span(:class =>'Label', :text => 'Add new').click
331
+
332
+ Other Changes in 1.5.2
333
+ * Migrated IE.new_process from watir/contrib and improved its reliability. We now recommend IE.new_process over IE.new as a way to avoid numerous errors detailed in http://jira.openqa.org/browse/WTR-150.
334
+ * Added IE.start_process. This works like IE.start, but uses the new_process mechanism to start IE.
335
+ * Added IE.new_window and IE.start_window. This are synonyms for IE.new and IE.start.
336
+ * Added dependency on the win32-process gem.
337
+ * Added IE.each, which iterates through the various IE windows currently open.
338
+ * Updated WindowHelper and watir/dialog to work with IE7
339
+ * The wait method was completely rewritten. This should fix various errors seen in 1.5.1.1165 and 1.5.1.1158.
340
+ * Removed the "spinner".
341
+ * Fixed bug in Element#parent and updated unit test.
342
+ * HTML value attributes are checked as strings before converting, updated unit tests.
343
+ * Watir::wait_until clean up.
344
+ * Fix for winclicker when installed in directory with spaces.
345
+ * Rdoc changes and updates.
346
+ * A workaround for frame access errors in the wait command, swallowing access denied errors and rethrowing if other WIN32OLERuntimeErrors show up.
347
+ * Add support for "li" tag.
348
+ * Fix for bug in element_by_xpath. http://www.mail-archive.com/wtr-general@rubyforge.org/msg06742.html
349
+ * "Wait" method now is called recursively into nested frames. http://jira.openqa.org/browse/WTR-107
350
+ * Rdocs now only include the core Watir library (not contrib).
351
+ * Improve error reporting when IE#modal_dialog isn't found.
352
+ * Add method "ModalDialog#exists?"
353
+ * Add Watir::Win32.window_exists? method.
354
+ * Fix for winclicker setComboBoxTest and setTextBoxText http://jira.openqa.org/browse/WTR-124
355
+ * Improved Support for IE7
356
+ o Fix for IE7 on ie.exists? http://jira.openqa.org/browse/WTR-123
357
+ o Fix for IE7 with winclicker.
358
+ o Fix for check_for_http_error in IE7. http://jira.openqa.org/browse/WTR-141
359
+ * Fix for IE7 on ie.exists? http://jira.openqa.org/browse/WTR-123
360
+ * Rubyw is now used in winclicker to bypass command line windows.
361
+ * Autoit is registered before being used.
362
+ * Watir now checks for the right version of Ruby before loading our customized Win32ole library.
363
+ * ie.file_field has been fixed and unit test updated.
364
+ * rdoc generation has been fixed.
365
+ * page checker has been moved from the default behavior into contrib/page_checker.rb
366
+ * Fix for intermittent crashes occuring when using Watir with Ruby version > 1.8.2.
367
+ * Fix for http://jira.openqa.org/browse/WTR-86
368
+ This fix prevents the Watir-modified win32ole.so library (compiled against 1.8.2) from being used.
369
+ * Added Element#parent
370
+ * Add new methods Element#after? and Element#before?
371
+ * Added support for relative specifiers. E.g.:
372
+ link = $ie.link(:class => 'addtocart', :after? => @headline)
373
+ * Removed NAVIGATION_CHECKER from Watir.rb, added to contrib. This fixes rdoc generation and stops the frame access exception being thrown in the default installation.
374
+ * Open-code calls to def_creator, for easier debugging and rdoc generation of factory methods.
375
+ * Winclicker fix for too many callbacks defined error.
376
+ * Patch for rspec API changes
377
+ * You can now reference an iframe using IE#frame(:id, 'whatever'). Jira 109
378
+ * Added 'map' and 'area' element support.
379
+ * Moved Watir::Assertions into new file watir/assertions.rb so they can be used outside test cases.
380
+ * Fix and unit test for Jira 114, related to tag in HTML source.
381
+ * Added SelectList#include? and SelectList#selected?
382
+ * Added Element#visible?
383
+ * Fixes all reported bugs with contains_text.
384
+ * New Watir::TestCase#verify method (and verify_equal and verify_match).
385
+ * The click_no_wait method now works in frames.
386
+ * Released new IE.new_process method to 'watir/contrib/ie-new-process'. This starts up a new IE process for each IE window, which is really how it should be done. To close these use IE#kill. Any one getting intermittent RPC errors when opening windows may want to use this instead.
387
+ * Several examples have been updated.
388
+ * Moved enabled_popup to a new contrib directory.
389
+ * Added several tests.
390
+
391
+ Changes in 1.4
392
+ fix method name for accessing class name of P/Span/Div (change from style to class_name)
393
+ fix for bug 2152 (frame index in show_frames off by 1)
394
+ added alt as a property to image
395
+ added file_fields
396
+ fixed TextArea#to_s
397
+ moved reset button to buttons class
398
+ add IE#send_keys
399
+ frames can now be referenced using regexps and ids
400
+ added IE#minimize, IE#maximize, IE#restore
401
+ onChange and onBlur events now triggered by TextField#set
402
+ added default option to set for checkbox
403
+ added colspan method to tablecell
404
+ fix for bug reported by Scott P, wrong objects are sometimes found
405
+ fixed Bug with radio/checkboxes doing multiple fireevents
406
+ fix for table, id and reg exp
407
+ wait for page load before returning from IE.attach
408
+ update to select_list -- new interface still in progress
409
+ added .show method to iterators
410
+ fix for flashing objects in table cells
411
+ added flash for forms
412
+ flash returns nil instead of the curious '10'
413
+ removed ScreenCapture module from IE class
414
+
415
+ Changes in 1.3.1
416
+ Added P tag support
417
+ Bug fix for images and links in frames using each
418
+ Bug fixes for image#save
419
+
420
+ Changes in 1.3
421
+ added new row_values and column_value methods to tables
422
+ added ability to save an image - ie.image(:index,1).save('c:\temp\mypic.gif')
423
+ new method, html that applies to objects, not just a page - ie.button(:index,1).html => <INPUT id=b2 title="this is button1" onclick="javascript:document.location='pass.html';" type=button value="Click Me" name=b1>
424
+ now throws a NavigationException on 404, 500 errors
425
+ iterators now mixin Enumerable
426
+ added support for labels
427
+ added support for frames by index
428
+ added screen_capture
429
+ added hidden field support, and iterator method
430
+ table cells, span and div now act as containers, so can do ie.div(:index,1).button(:index.2).click
431
+ added index to print out from show_xx methods. Link shows img src if an image is used
432
+ added onKeyUp and onKeyDown to text_fields#set
433
+ installer now installs AutoIt to deal with javascript popups, file uploads etc
434
+ the spinner is now off by default
435
+ bug fix in text_fields iterator where it wasnt iterating through password or text ares. Added test for password fields
436
+ bug fix for flash for tables
437
+ bug fixes for images and links in cells
data/LICENSE.txt ADDED
@@ -0,0 +1,41 @@
1
+ The Vapir-IE library comes from a number of sources and authors, all released
2
+ under the Modified BSD License:
3
+ - Original contributions by Ethan:
4
+ Copyright: Ethan 2009-2010
5
+ License: Modified BSD license (full text below)
6
+
7
+ - The Watir library from which Vapir-IE was forked:
8
+ Copyright:
9
+ Copyright (c) 2004 - 2005, Paul Rogers and Bret Pettichord
10
+ Copyright (c) 2006 - 2008, Bret Pettichord
11
+ License: Modified BSD license (full text below)
12
+
13
+
14
+ Full text of the Modified BSD License:
15
+ All rights reserved.
16
+
17
+ Redistribution and use in source and binary forms, with or without
18
+ modification, are permitted provided that the following conditions are met:
19
+
20
+ 1. Redistributions of source code must retain the above copyright notice,
21
+ this list of conditions and the following disclaimer.
22
+
23
+ 2. Redistributions in binary form must reproduce the above copyright
24
+ notice, this list of conditions and the following disclaimer in the
25
+ documentation and/or other materials provided with the distribution.
26
+
27
+ 3. Neither the names Paul Rogers, Bret Pettichord nor the names of contributors to
28
+ this software may be used to endorse or promote products derived from this
29
+ software without specific prior written permission.
30
+
31
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
32
+ IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
33
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
34
+ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
35
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
36
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
37
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
38
+ OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
39
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
40
+ OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
41
+ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.