Commit Graph

281 Commits

Author SHA1 Message Date
Alexei Sorokin
08145f635f Implement a class for automatic temporary file handling
And adopt it all over the code.
2020-09-04 13:15:23 +03:00
Diogo Cordeiro
e8dff6c4a0 [TESTS] Move AcceptHeader from ActivityPub plugin to Core
Delete temporary ActivityPub tests (they were to be deleted long ago)
2020-06-25 15:50:12 +01:00
Diogo Cordeiro
324b7f38a9 [FORMAT] Run php-cs-fixer on tests/ 2020-06-24 13:55:10 +01:00
Diogo Cordeiro
aa7aff3f6b [TESTS] Fix CommandInterpreterTest
Also corrected a bad refactoring that affected Xmpp plugin test
2020-06-24 13:54:38 +01:00
Miguel Dantas
b41f9620fa [LIB_REFACTOR] Fix requires 2019-09-03 03:33:13 +01:00
Diogo Cordeiro
0c2c3ec862 [CORE] Plugin API now extends a new Module API 2019-08-24 01:59:33 +01:00
Diogo Cordeiro
db3253e5d2 [CORE] Bump PHP requirement to PHP7.3+ 2019-08-03 17:49:36 +01:00
Diogo Cordeiro
d9e7862cea [CORE][COMPOSER] Ensure we are compatible with PHP 7.0.0 2019-08-03 17:47:27 +01:00
Diogo Cordeiro
9f30c299ee [CORE] Make tests great gain 2019-08-03 17:47:27 +01:00
Diogo Cordeiro
ec32db2dd6 [CORE][COMPOSER] Add hoa/consistency
Renamed curry to callable_left_curry
2019-08-03 17:47:27 +01:00
Miguel Dantas
4863bd30d7 [CORE] Fixed Media tests 2019-08-03 17:31:43 +01:00
mmn
550606177b Merge branch 'fixtests' into 'nightly'
Got Old Unittests Passing

See merge request !131
2017-04-06 10:23:12 +00:00
Roger Braun
8c6c6039a2 Test for correct post object in retweets. 2016-12-05 18:24:13 +01:00
Nym Coy
1f866fcaed ActivityGenerationTests.php fails but doesn't crash anymore.
Fixed an error where a profile id was reused after another profile was
deleted, and the new profile still had the deleted role.

Fixed ActivityGenerationTests::testNoticeInfoRepeated() which was passing
User instead of Profile, throwing errors.

tests/ActivityGenerationTests.php now passes.

CommandInterpreterTest now passes.

Moved JidValidateTest to XmppValidateTest, since Jabber functionality has
moved to the XmppPlugin. Tests work but don't pass, but they are at least
skipped if XmppPlugin is not active.

LocationTest passes, but the tests are not very good. Lots of nulls.

MediaFileTest passes.

NicknameTest passes. Nickname::normalize() now throws an error if the
nickname is too long with underscores.

UserFeedParseTest passes.

URLDetectionTest passes if $config['linkify']['(bare_ipv4|bare_ipv6|
bare_domains)'] are false. Untested otherwise.

Fixed Nickname::isBlacklisted() so it does not throw an error if
$config['nickname]['blacklist'] not set.
2016-08-14 11:55:49 +05:30
Mikael Nordfeldth
afdd6d39ec Some Google stuff that need to be there (or comments)
Note that these won't be shown to the enduser and will never be accessed automatically.

We should put the salmon-protocol stuff on ostatus.org
2016-03-21 12:25:04 +01:00
Bob Mottram
11c57e7aee Remove Google References
This removes most references to Google, with some
remaining since they may point to things which are still
relevant. References to Google Code, Google Buzz and
Google Maps have been removed
2016-03-20 13:06:58 +00:00
Bhuvan Krishna
1ab4c9998a Add executable permission to script missing it 2015-07-10 14:46:08 +05:30
Mikael Nordfeldth
7e597ea7cc More Favorite pluginification (favecount, cache, menus(favecount, cache, menus)) 2014-06-28 14:03:30 +02:00
Mikael Nordfeldth
fcdd061b4f pluginified most of hasFave, getFaves and related calls
The code is now more event-driven when it comes to rendering notices
and their related HTML elements, since we can't have direct calls from
core to a plugin.

lib/activitymover.php has a function to move a Favorite activity which
will not happen now. The move must be pluginified and performed as an
event which plugins can catch on to.
2014-06-27 14:09:02 +02:00
Mikael Nordfeldth
b0cc9292b1 Notice->repeat() function takes Profile as argument now 2014-05-18 21:03:10 +02:00
Mikael Nordfeldth
1776c90cb9 Moved oEmbed stuff out to a plugin (Oembed). 2014-05-06 23:32:13 +02:00
Mikael Nordfeldth
27ed6b7db0 getConversationUrl introduced for linking to conversations 2014-05-01 15:25:19 +02:00
Mikael Nordfeldth
7d191f8062 s/bestUrl/getUrl/ for notices and microapp objects 2014-04-29 19:46:58 +02:00
Mikael Nordfeldth
5fd6053220 Code cleanup and enabling User object's etc. getUri() 2014-04-28 14:08:42 +02:00
Mikael Nordfeldth
6faed0e451 MediaFile loses dependency on PEAR::MIME
At the same time we remove the "filecommand" setting, since we will
likely not have use of it thanks to PECL fileinfo.

Also the "supported" list for attachment mime types has changed
format, so we can keep track of at least some known file extensions.
2014-03-08 03:34:50 +01:00
Mikael Nordfeldth
6f6065e5e9 Only accept filenames for existing files in getUploadedFileType
Getting metadata from filehandles just meant duplicating work
2014-03-08 01:42:24 +01:00
Mikael Nordfeldth
23a6b4595f Reworked the ActivityContext->attention structure
Removing Evan's obscure attentionType solution and directly using the attention array
2013-10-28 22:21:14 +01:00
Mikael Nordfeldth
8004849305 Removing rel='ostatus:attention' in favor of Salmon's rel='mentioned'
This was introduced in StatusNet 0.9.x, which is the oldest branch
on the web today as far as I know.
2013-10-21 18:42:15 +02:00
Mikael Nordfeldth
3cab5b36c1 Replace common_good_random with common_random_hexstr 2013-10-21 13:20:30 +02:00
Mikael Nordfeldth
633191d808 Making sure scripts and tests check for GNUSOCIAL defined (instead of STATUSNET)
Orbited plugin may not work at all anymore, I had no means to try it.
But there's a check whether 'LACONICA' is defined there, which is a
very unlikely thing in the future. So far only tests and scripts have
been migrated consistently, though.
2013-09-28 15:20:10 +02:00
Mikael Nordfeldth
2a4dc77a63 The overloaded DB_DataObject function staticGet is now called getKV
I used this hacky sed-command (run it from your GNU Social root, or change the first grep's path to where it actually lies) to do a rough fix on all ::staticGet calls and rename them to ::getKV

   sed -i -s -e '/DataObject::staticGet/I!s/::staticGet/::getKV/Ig' $(grep -R ::staticGet `pwd`/* | grep -v -e '^extlib' | grep -v DataObject:: |grep -v "function staticGet"|cut -d: -f1 |sort |uniq)

If you're applying this, remember to change the Managed_DataObject and Memcached_DataObject function definitions of staticGet to getKV!

This might of course take some getting used to, or modification fo StatusNet plugins, but the result is that all the static calls (to staticGet) are now properly made without breaking PHP Strict Standards. Standards are there to be followed (and they caused some very bad confusion when used with get_called_class)

Reasonably any plugin or code that tests for the definition of 'GNUSOCIAL' or similar will take this change into consideration.
2013-08-18 13:13:56 +02:00
Zach Copley
c137d69aee Switch from oohembed to noembed for default oembed provider 2011-09-30 19:51:23 +00:00
Evan Prodromou
0ec3047e0c Move AtomPubClient to its own module 2011-07-25 23:15:32 -04:00
Evan Prodromou
cb4f271002 test to check that Bookmark related links are appearing correctly 2011-05-30 10:04:25 -04:00
Brion Vibber
2bd9532ebe Merge branch 'master' into 0.9.x 2011-02-28 10:18:18 -08:00
Brion Vibber
e00483d703 Test case for ticket #2248: flickr URLs with @ in the path get misinterpreted as mailto 2011-02-25 15:38:24 -08:00
Brion Vibber
052ae2d88a Test cases for Unicode hashtags 2011-02-25 10:25:13 -08:00
Brion Vibber
11e033f05c CommandInterpreter test cases to guard against regressions 2011-02-21 12:12:10 -08:00
Brion Vibber
f2a43769e7 Fix for atom/activity streams parsing: feed's <activity:subject> was being taken at a higher priority than entry's <atom:author>, which broke OStatus group posting since we retired <activity:actor>.
Added test case to ActivityParseTests.
2011-01-06 15:13:38 -08:00
Evan Prodromou
a7e5c58a82 Merge branch 'revertversion' into 0.9.x 2011-01-03 10:51:42 -08:00
Brion Vibber
80e2f4f529 Fix up edge case in nickname processing: overlong display forms should be rejected before normalization (storage of display forms will also have fields with limited length) 2010-12-30 17:11:16 -08:00
Brion Vibber
b00a3cd4e4 Make sure the UUIDs are unique too :) 2010-12-30 13:37:05 -08:00
Brion Vibber
63c95484bd Update ActivityCreationTests for our switch away from the obsolete <activity:actor> 2010-12-30 13:21:59 -08:00
Evan Prodromou
3b5c3d2c84 UUID-generation tools 2010-12-30 12:15:34 -08:00
Brion Vibber
fefd9056da AtomPub test cases: make sure the posted entry appears in the feed, and that it disappears after deletion 2010-12-14 14:07:25 -08:00
Brion Vibber
b7e3b06bb1 AtomPub tetss: confirming edit URL linked properly in individual entry return 2010-12-14 13:52:44 -08:00
Brion Vibber
247a494006 AtomPub tests: fix delete test 2010-12-14 13:25:22 -08:00
Brion Vibber
0bfeaa4559 AtomPub tests: fix for atom post check 2010-12-14 13:23:09 -08:00
Brion Vibber
0f26d6eb70 more fixins on AtomPub tests 2010-12-14 13:11:34 -08:00
Brion Vibber
56e72ec7a1 auth fix 2010-12-14 12:36:21 -08:00
Brion Vibber
3426f65736 Mostly-implemented basic AtomPub tests 2010-12-14 12:33:28 -08:00
Brion Vibber
654d1749da partial stub file for atompub tests 2010-12-13 17:48:23 -08:00
Brion Vibber
82799f675f Add Nickname test cases for @-reply regexes in common_find_mentions 2010-11-29 15:07:55 -08:00
Brion Vibber
fffc10a230 Nickname class to encapsulate validation & common regexes for nickname formats.
This provides initial infrastructure for decoupling display names from internal canonical names, but continues to have us storing and using the canonical forms.

It should be/become possible to provide mixed-case and underscore-containing names in links, @-mention, !-group, etc, but we don't store those alternate forms generally.
2010-11-29 14:46:10 -08:00
Brion Vibber
dc350b5463 Work in progress on nickname validation changes. lib/nickname.php appears to have been destroyed by NetBeans and will be rewritten shortly. Sigh. 2010-11-29 14:15:25 -08:00
Brion Vibber
b7e0078d10 Start on some nickname-validation test cases: several of these fail right now because we had regressions in 0.8 or 0.9 where we lost normalization of uppercase and some other chars. 2010-11-29 11:31:33 -08:00
Brion Vibber
0735ca86d2 Add some data integrity checks on oembed tests (shows a bug on identi.ca test case -- missing width/height in photo data) 2010-11-15 12:58:00 -08:00
Brion Vibber
727596f35d Test oEmbed lookups with oohembed both on and off explicitly 2010-11-15 12:32:29 -08:00
Brion Vibber
68ff57f230 Restructure oembed test sources 2010-11-15 12:25:44 -08:00
Brion Vibber
87114a5c30 Add some basic oEmbed lookup test cases; fixed a bug in discovery fallback. 2010-11-15 11:55:28 -08:00
Brion Vibber
e611ec5dee Fix option settings on oauth_post_notice.php 2010-10-20 16:16:00 -07:00
Brion Vibber
9d401e2b15 Fix --oauth-token-secret on oauth_verify_creds.php 2010-10-20 15:17:56 -07:00
Brion Vibber
067d37f864 Update URLDetectionTest.php for rel="nofollow external". There are still some broken tests due to bad quote splitting, which is unrelated. 2010-10-18 12:26:01 -07:00
Zach Copley
2291d68e70 Default to ssl in oauth tests examples config 2010-10-12 17:54:54 -07:00
Zach Copley
baa8ae778a Update OAuth test script README 2010-10-07 19:46:46 -07:00
Zach Copley
590d96f70e Rename oauth.ini example to oauth.ini.sample 2010-10-07 19:43:55 -07:00
Zach Copley
626f306600 Rename OAuth status update script 2010-10-07 19:41:05 -07:00
Zach Copley
3e0a1e3b88 Some fixups 2010-10-07 19:40:31 -07:00
Zach Copley
be1668a1bd Renamed the OAuth verify credentials test script 2010-10-07 19:24:24 -07:00
Zach Copley
474834a332 Some fixups to this the OAuth verify credentials test script 2010-10-07 19:23:43 -07:00
Zach Copley
46de847ce0 Rename OAuth token credential fetching script 2010-10-07 18:41:34 -07:00
Zach Copley
70cad11573 Update access token fetching test script to 1.0a 2010-10-07 18:33:14 -07:00
Zach Copley
b8f2cc4e6f Make the verifier pin display a little nicer 2010-10-07 13:51:47 -07:00
Zach Copley
82a0a1a74b More OAuthy name for temp credentials fetching test script 2010-10-07 12:01:00 -07:00
Zach Copley
9d5224e2b4 Change temp credential test script to use POST instead of GET (more
useful for testing in general)
2010-10-07 11:56:49 -07:00
Zach Copley
5d5c4e8344 Some more cleanup 2010-10-06 19:05:31 -07:00
Zach Copley
73a73c9362 - Update getrequesttoken test script to use 1.0a
- Some cleanup
2010-10-06 13:40:02 -07:00
Zach Copley
3053770078 A bit more work on the request token fetching test script 2010-10-06 13:40:01 -07:00
Zach Copley
82f05d0a61 Somewhat improved test script for fetching an OAuth request token 2010-10-06 13:40:00 -07:00
Evan Prodromou
b17fc0ca5b update tests to include 'mentioned' links 2010-08-03 16:04:19 -07:00
Evan Prodromou
744233c6dc add actor info to tests 2010-08-03 15:49:49 -07:00
Evan Prodromou
8d19162122 more tests for activity generation 2010-08-03 15:26:19 -07:00
Evan Prodromou
6756a752c4 add some more tests for replies and group posts 2010-08-03 14:17:36 -07:00
Evan Prodromou
1a6148f0e4 initial unit tests for activity generation 2010-08-03 13:41:44 -07:00
Brion Vibber
9c7b66984c Enhanced upload file type detection. If given an original filename, we'll attempt to detect type from the extension if we were unable to make a definitive match from content. Generic octet-stream, zip, and MS Office type are explicitly singled out for re-checks, which fixes OpenOffice and MS Office documents to come up with the proper types when misdetected.
File extensions can also be added to the upload type whitelist; they'll be normalized to types for the actual comparison, so only known extensions will work.
2010-06-28 08:59:47 -07:00
Brion Vibber
41d81b996f Test cases for MediaFile::getUploadedFileType() with OpenOffice, MS Office, and PDF sample files (as saved from OpenOffice 3.2)
Only 3 of 16 cases pass on my dev box with default config. Ouch!
2010-06-28 08:59:46 -07:00
Brion Vibber
50d5f5e04c Merge branch 'master' into testing 2010-04-29 15:12:02 -07:00
Brion Vibber
8fd0059bf6 Test cases and fixes for Atom and RSS content decoding.
Fix extraction of Atom <content type="text"> and <content type="html">; we were failing to escape plaintext source data to HTML, and doing an extraneous double-deescape on HTML source resulting in breakage of notices containing text that looks like HTML. Only <content type="xhtml"> was working correctly previously.
Fixes for RSS2 content processing: we were failing to load <content:encoded> at all due to using wrong element name, and were applying an extraneous de-escape for <description> rather than the escaping that is required to turn plaintext into HTML. (Per spec, <description> must be plaintext.)
2010-04-23 15:40:48 -07:00
Brion Vibber
0841fa712e Ticket #1281: JID validation now more or less follows spec instead of calling e-mail validator
Basic splitting/validation code submitted via http://status.net/wiki/XMPP/JID_validation -- Copyright 2009 Patrick Georgi <patrick@georgi-clan.de> Licensed under ISC-L, which is compatible with everything else that keeps the copyright notice intact.

Added PEAR Net_IDNA package to extlib to handle IDN normalization (also used by Validate's email verifier if present).

* added test suite, supplemented my own test cases with JID validation and normalization test cases from libpurple
* follows XMPP rules for validation of name part
* fixes for normalization with non-ASCII names
* will do domain checks if $config['email']['check_domain'] is on, checking for an XMPP-server SRV record or any lookup. (We don't actually need to ping those direct though.)
* some more obscure stringprep validation rules aren't quite followed yet, but we err on the side of permissiveness.
* we still don't actually let you save your address with a resource on it, as we strip resources when looking up users who've sent us presence or message updates. I would recommend saving the outgoing resource as a separate field if/when we add that..?
2010-03-30 17:35:27 -07:00
Evan Prodromou
8a9e664014 reverse order of activity parse test arguments 2010-03-27 22:43:18 -04:00
Zach Copley
b8e97ac709 Some initial media parsing
- Activity now returns a list of activity objects
- Processing of photo objects
2010-03-22 18:55:17 -07:00
Zach Copley
a0a9acb9a2 Fix broken assertion 2010-03-21 18:47:43 -07:00
Evan Prodromou
e497ddc81f test posterous author use 2010-03-20 16:53:47 -05:00
Evan Prodromou
05e3768e6a Parse RSS items as activities
First steps to parsing RSS items as activities. RSS feeds don't seem
to have enough data to make good remote profiles, but this may work
with some "hints".
2010-03-19 09:48:39 -05:00
Zach Copley
0e360ad23d Test a small user feed to ensure we're taking the activity actor from the subject 2010-03-03 20:58:34 -08:00
Zach Copley
8274bbedcf Fix test to account for new way avatars are stored in ActivityObject 2010-02-25 19:17:50 -08:00
Zach Copley
543ff40ef6 Populate more profile information when doing a remote subscribe 2010-02-24 16:51:24 -08:00
Zach Copley
618ce6a855 - Move ActivityParseTests to core
- Add test for Portable Contacts stuff
2010-02-23 23:58:21 -08:00
Evan Prodromou
61a072b3c4 Add a library to mint tag URIs
We've been making pretty crummy tag: URIs for a while. We should
continue to favor HTTP URIs, since it's nice to be able to discover
things about an object you've shared the ID of. Where that's not
possible, this makes nicer tag URIs.
2010-02-20 13:23:08 -05:00
Zach Copley
54d04a0c91 Test script to update your status via OAuth 2010-01-27 09:59:40 +00:00
Zach Copley
c2c930a855 Fixed some spelling mistakes in the README 2010-01-24 16:36:05 -08:00
Zach Copley
de70b91a3a Some rough test scripts for poking at the OAuth system 2010-01-24 16:36:05 -08:00
Brion Vibber
a998bda4a5 Fix UserRightsTest unit tests 2009-12-16 09:27:48 -05:00
Brion Vibber
0158f4f73d PHP 5.3 closure-based implementation of curry(); old implementation used as fallback for older PHP versions. Added unit tests to confirm they both work! 2009-12-16 09:27:48 -05:00
Brion Vibber
88ff0eefb4 Renaming GeonamesPlugin::NAMESPACE to GeonamesPlugin::LOCATION_NS to avoid parse errors; 'namespace' is a reserved keyword in PHP 5.3 and later. 2009-11-17 16:56:43 -08:00
Craig Andrews
87484424a5 fix the [] unit tests 2009-11-02 12:53:02 -05:00
Evan Prodromou
3c724ccd0d Merge branch '0.9.x' into location 2009-10-24 19:59:46 -04:00
Brion Vibber
ff4f9d8c7d Fix an incorrectly passing URL test case and add two a related test case:
URLs with paths followed by a double-quote character are incorrectly including the quote in the URL. The double-quote character is in fact not a legal URL char and must be URL-escaped; more importantly it just causes oddities when you quote a message ending in a URL -- such as when using the redent-button experimental feature.
2009-10-23 13:50:39 -07:00
Evan Prodromou
8828bc485f beginning of a test for location services 2009-10-22 16:19:25 -04:00
Evan Prodromou
3afcdc18f7 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2009-09-27 21:15:14 -04:00
Evan Prodromou
6c069312e2 user rights 2009-09-27 21:11:45 -04:00
Craig Andrews
fc2426d7ce Fix some bugs in the URL linkification, and fixed the unit test. 2009-09-27 16:52:15 -04:00
Brion Vibber
3ff8514f5e Fix URL linkification test cases for addition of 'title' attribution with long URL in f3c8fccc
After removing 103 false positives, this leaves 4 actually broken tests, showing two failure modes for mail links:
* 'mail without mailto' formatting shortcut in common_linkify didn't get the 'title' attribute added with the other URLs
* links including mailto: protocol are being incorrectly expanded to http: protocol in the long URL
2009-09-27 12:54:38 -04:00
Craig Andrews
292bb7c4d8 Allow @ signs in the path, querystring, and fragment parts of URLs 2009-09-10 21:19:38 -04:00
Craig Andrews
aecdba1ded :: isn't a valid IPv6 address for our purposes 2009-09-09 16:57:11 -04:00
Craig Andrews
80b7e54ca2 Added additional characters as allowed in URLs. 2009-09-04 11:30:29 -04:00
Craig Andrews
20423af689 Allow :'s in the path, query string, and fragment parts of the url (Mediawiki URLs often do this) 2009-08-31 10:33:37 -04:00
Craig Andrews
3368452ebf Add % and ~ as valid characters in the path, querystring, and fragment parts of URLs 2009-08-28 16:18:45 -04:00
Evan Prodromou
bbb830e14c Merge branch '0.8.x' of git@gitorious.org:laconica/mainline into 0.8.x 2009-08-27 14:18:51 -07:00
Evan Prodromou
865b716f09 change LACONICA to STATUSNET 2009-08-25 18:42:34 -04:00
Brenda Wallace
6c3149334c Merge commit 'mainline-write/0.8.x' into 0.8.x 2009-08-26 10:02:07 +12:00
Brenda Wallace
3400f6f431 renamed to plural, for consitency 2009-08-26 10:00:29 +12:00
Craig Andrews
a2117961be Allow ({['" to preceded #tags 2009-08-25 17:54:08 -04:00
Craig Andrews
8cd474e985 Correct the hash tag test 2009-08-25 16:06:04 -04:00
Craig Andrews
210bc4248b All tests pass except for those that require matching parens or brackets 2009-08-25 14:12:31 -04:00
Craig Andrews
6a3a25b5a2 Improved the URL tests, and improve the matcher so more tests are passed. The remaining failing tests I believe are incorrect. 2009-08-25 11:21:45 -04:00
Brenda Wallace
9ec3911020 Merge commit 'mainline/0.8.x' into 0.8.x 2009-08-25 19:01:29 +12:00
Brenda Wallace
3ff67b3bc1 beginning of hashtag tests 2009-08-25 18:44:32 +12:00
Craig Andrews
9fd3a41576 ftps protocol should be handled the same way as ftp
Canon urls that have a protocol followed by a host (and no path) automatcally get a trailing slash by the canon function - make the unit test match that
2009-08-24 20:44:06 -04:00
Evan Prodromou
add42759c9 change class to rel in unit tests for URL check 2009-08-24 17:48:24 -04:00
Evan Prodromou
f3cdc7f272 Add unit test directory and first test 2009-08-24 15:46:12 -04:00