vapir-ie 1.7.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
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.