mirror of
https://github.com/jlu5/SupyPlugins.git
synced 2025-04-26 21:11:14 -05:00
Example for this is the article for "Fallstreak hole", where the old behavior would create incorrect results when an <a> tag is nested at the beginning of a <b> tag. Bad: <Lily> A Nonefallstreak hole, also known as a hole punch cloud, punch hole cloud, skypunch, canal cloud or cloud hole, is a large circular or elliptical gap that can appear in cirrocumulus or altocumulus clouds. Such holes are formed when the water temperature in the clouds is below freezing but the water has not frozen yet due to the lack of ice nucleation (see supercooled water). When ice crystals do form it will set off a (1 more message) Better: <Lily> A fallstreak hole, also known as a hole punch cloud, punch hole cloud, skypunch, canal cloud or cloud hole, is a large circular or elliptical gap that can appear in cirrocumulus or altocumulus clouds. Such holes are formed when the water temperature in the clouds is below freezing but the water has not frozen yet due to the lack of ice nucleation (see supercooled water). When ice crystals do form it will set off a (1 more message)
74 lines
3.4 KiB
Python
74 lines
3.4 KiB
Python
###
|
|
# Copyright (c) 2010, quantumlemur
|
|
# Copyright (c) 2011, Valentin Lorentz
|
|
# Copyright (c) 2015, James Lu
|
|
# All rights reserved.
|
|
#
|
|
# Redistribution and use in source and binary forms, with or without
|
|
# modification, are permitted provided that the following conditions are met:
|
|
#
|
|
# * Redistributions of source code must retain the above copyright notice,
|
|
# this list of conditions, and the following disclaimer.
|
|
# * Redistributions in binary form must reproduce the above copyright notice,
|
|
# this list of conditions, and the following disclaimer in the
|
|
# documentation and/or other materials provided with the distribution.
|
|
# * Neither the name of the author of this software nor the name of
|
|
# contributors to this software may be used to endorse or promote products
|
|
# derived from this software without specific prior written consent.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
# POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
###
|
|
|
|
from supybot.test import *
|
|
|
|
class WikifetchTestCase(PluginTestCase):
|
|
plugins = ('Wikifetch',)
|
|
|
|
if network:
|
|
def testWiki(self):
|
|
self.assertRegexp('wiki Monty Python',
|
|
'\x02Monty Python\x02 \(sometimes known as \x02The Pythons\x02\)')
|
|
self.assertRegexp('wiki roegdfjpoepo',
|
|
'Not found, or page malformed.*')
|
|
|
|
def testDisambiguation(self):
|
|
self.assertRegexp('wiki Python', 'is a disambiguation page.*'
|
|
'Possible results include:.*?,.*?,')
|
|
self.assertRegexp('wiki Windows 3', '.*is a disambiguation page.*'
|
|
'Possible results include:.*?Windows 3.0.*?,.*?Windows 3.1x')
|
|
|
|
def testWikiRedirects(self):
|
|
# Via did you mean clause
|
|
self.assertRegexp('wiki George Washingon',
|
|
'first President of the United States')
|
|
# Via Search find-first-result snarfer
|
|
self.assertRegexp('wiki synnero',
|
|
'A \x02synchro\x02 is')
|
|
self.assertRegexp('wiki Foo', '"Foobar" \(Redirected from "Foo"\): '
|
|
'The terms \x02foobar\x02')
|
|
|
|
def testStripInlineCitations(self):
|
|
self.assertNotRegexp('wiki UNICEF', '\[\d+\]')
|
|
|
|
def testDisambigStripSpaces(self):
|
|
self.assertNotRegexp('wiki Na', '\n')
|
|
|
|
def testWikiBold(self):
|
|
self.assertRegexp('wiki Apple', '\x02')
|
|
# Complex combination of the <a> tag inside a <b> tag; we should always use
|
|
# empty bold content instead of the text "None".
|
|
self.assertNotRegexp('wiki Fallstreak hole', 'None')
|
|
|
|
# vim:set shiftwidth=4 tabstop=4 expandtab textwidth=79:
|