Commit Graph
100 Commits
Author SHA1 Message Date
Tyler Dauwalder e3a2f2069e + Added SetSupportedTypes() test
+ Modified BMimeType::SetSupportedTypes functionality so it keeps track of
stranded types (i.e. previously supported types that have not had the now
unsupporting app signature removed from their supporting apps list yet due
to a false fullSync parameter) over consecutive SetSupportedTypes(...,
false) calls and updates all appropriate stranded types on the next
SetSupportedTypes(..., true) call.
+ Added fullSync parameter to BMimeType::DeleteSupportedTypes
+ Made BMimeType::Delete() do a DeleteSupportedTypes(..., true) call to
properly update the supporting apps lists when a mime type is deleted.
+ Added initial BMimeType::Get/SetSnifferRule
+ Updated BMimeType::CheckSnifferRule() to return B_BAD_VALUE when passed
a NULL rule string.
+ Brought CheckSnifferRule() tests up to date
+ Added lots of Mime::Database doxygen
+ Added any missing mime monitor notifications in Mime::Database
+ Possibly made some other changes as well... :-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-09 08:12:03 +00:00
Tyler Dauwalder baa326e0ec Implemented Get/SetSnifferRule()
Added SetSupportedTypes() documentation
Removed a few unnecessary BMessage copies in a couple of functions


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-09 07:59:25 +00:00
Tyler Dauwalder a6e96214ed Killed a warning dead.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@928 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-29 00:01:17 +00:00
Tyler Dauwalder 74ec200f31 Added a #if clause to exclude the __mime_table code from the
OBOS::GetSupportingApps() tests, as the __mime_table is not
currently used.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-29 00:00:57 +00:00
Tyler Dauwalder d7526269d7 Added B_REG_MIME_GET_SUPPORTING_APPS functionality
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-28 23:59:57 +00:00
Tyler Dauwalder 976e1a9745 + Added fullSync parameter to SetSupportedTypes()
+ Implemented GetSupportingApps()


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-28 23:59:23 +00:00
Tyler Dauwalder b86972c240 Added GetSupportingApps() message field constants
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@924 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-28 23:58:08 +00:00
Tyler Dauwalder 41b9ba9155 Added GetSupportingApps()/SetSupportedTypes() functionality
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@923 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-28 23:57:30 +00:00
Tyler Dauwalder 682805b291 Added SupportingApps.cpp to libstorage
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-28 23:56:18 +00:00
Tyler Dauwalder 58e3c56d45 Added B_REG_MIME_GET_SUPPORTING_APPS
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-28 23:55:18 +00:00
Tyler Dauwalder 94fb5d4096 Added fullSync parameter to SetSupportedTypes()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@920 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-28 23:53:22 +00:00
Tyler Dauwalder ee0cf10184 Handles supporting application management. This is an
initial, theoretically fully functional implementation.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-28 23:52:52 +00:00
Tyler Dauwalder f7046d7717 + Updated Installed Types test slightly
+ Cleaned up warnings


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-27 08:29:05 +00:00
Tyler Dauwalder 02fd0582dd Cleaned up warnings
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-27 08:26:33 +00:00
Tyler Dauwalder 32f45afc26 + Added GetInstalled[Super]Types functionality
+ Cleaned up warnings
+ Added documentation


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-27 08:26:11 +00:00
Tyler Dauwalder bb24170e40 Added initial timing support. Individual test cases now display run time
information for verbosity >= v2. I'll probably add a command-line
toggle specifically for timing info someday. I also hope to add per-test
and per-suite run time info eventually as well.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@864 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-24 05:16:26 +00:00
Tyler Dauwalder 537842b6ee Split into storage/mime/* files, and thus removed
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-24 05:05:01 +00:00
Tyler Dauwalder e20a514ae9 After implementing the BMimeType::GetInstalled[Super]Types()
functionality, it became apparent that some restructuring was
needed if I wanted to keep things clean and managble.
storage/MimeDatabase.{h,cpp} have been broken into:

storage/mime/database_support.{h,cpp}
+ MIME database constants
+ high-level database access functions like open_type(),
  read_mime_attr(), etc.

storage/mime/database_access.{h,cpp}
+ atomic read functions
+ is_installed()
+ get_icon_data()

storage/mime/Database.{h,cpp}
+ Mime::Database class, which is responsible for all write,
  non-atomic read, and mime monitor functionality.

storage/mime/InstalledTypes.{h,cpp}
+ Helper class for Mime::Database::GetInstalled[Super]Types()

storage/mime/Supertype.{h,cpp}
+ Helper class for Mime::InstalledTypes

I haven't merged my intial, somewhat cludgy GetInstalled[Super]Types
implementation into the new setup yet. That comes next, and it ought
to be a more graceful implementation now.

I also implemented BMimeType::Get/SetSupportingTypes(), though
they haven't been tested yet (sorry).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@862 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-24 05:04:02 +00:00
Tyler Dauwalder 1c4b41005c Added to_lower() functions
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-24 04:54:52 +00:00
Tyler Dauwalder ea1a165a95 Added B_REG_MIME_GET_INSTALLED[SUPER]_TYPES
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-24 04:54:01 +00:00
Tyler Dauwalder fde08bf3f4 + Updated InstalledTypesTest() to recheck GetInstalledTypes()
and friends after installing and deleting from the database.
+ Updated database dir constant per the recent mime migration


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@859 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-24 04:52:56 +00:00
Tyler Dauwalder 03f8be561d Added initial timing support. Individual test cases now display run time
information for verbosity >= v2. I'll probably add a command-line
toggle specifically for timing info someday. I also hope to add per-test
and per-suite run time info eventually as well.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@858 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-24 04:50:56 +00:00
Tyler Dauwalder 541ae3c35c Update B_REG_MIME_SUPPORTED_TYPES
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@857 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-24 04:47:51 +00:00
Tyler Dauwalder 810bdfb6a4 Details, details, details... ;-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-21 22:20:53 +00:00
Tyler Dauwalder 3155eae222 + Added code/updated tests for
- AttrInfo
  - FileExtensions
+ Updated Delete() code to send monitor updates
+ Tenatively added "be:action" field to monitor messages
+ Added data type constants


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-21 10:55:20 +00:00
Tyler Dauwalder 7385178729 Updated REG_MIME_FILE_EXTENSIONS
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-21 10:52:47 +00:00
Tyler Dauwalder dd0ba994cc Updated the following tests to account for new behaviour
of BMimeType::Set*(NULL) calls as well as test new
BMimeType::Delete*() calls:
+ PreferredApp
+ AppHint
+ LongDescription
+ ShortDescription
+ Icon
+ IconForType


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@835 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-20 09:38:54 +00:00
Tyler Dauwalder 1ed04c7ce3 Added code for:
+ {Get,Set}IconForType()
+ Delete*() functions


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-20 09:37:04 +00:00
Tyler Dauwalder 19ac754088 Added B_REG_MIME_DELETE_PARAM
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@833 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-20 09:35:05 +00:00
Tyler Dauwalder 58c767c5f1 + Updated B_REG_MIME_SET_PARAM
+ Added B_REG_MIME_DELETE_PARAM


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@832 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-20 09:34:01 +00:00
Tyler Dauwalder 9c561e6537 + Updated tests:
- PreferredApp
  - AppHint
  - Icon
+ Added reduce_color_depth() helper function

B_GRAY1 to B_CMAP8 color conversions still
need to be tested.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@822 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-19 08:43:47 +00:00
Tyler Dauwalder 7cf4e78a5d + Updated doxygen
+ Added code for:
  - B_REG_MIME_SET_PARAM::B_REG_MIME_PREFERRED_APP
  - B_REG_MIME_SET_PARAM::B_REG_MIME_APP_HINT
  - B_REG_MIME_SET_PARAM::B_REG_MIME_ICON


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@821 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-19 08:42:14 +00:00
Tyler Dauwalder dff6cb3f88 + Added code for:
- {Get,Set}PreferredApp()
  - {Get,Set}AppHint()
  - {Get,Set}Icon()   (though it's a hacked up temporary version)
+ Replaced B_SIMPLE_DATA with B_REG_RESULT


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-19 08:40:24 +00:00
Tyler Dauwalder e9e5603860 Forgot a #include, I guess...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-19 08:38:16 +00:00
Tyler Dauwalder 55f345fd20 + Added code for:
- {Get,Set}PreferredApp()
  - {Get,Set}AppHint()
  - {Get,Set}Icon()
+ Added any missing doxygen

SetIcon() is currently not implemented as I would like,
due to us needing an OBOS::BBitmap implementation.
Thus there are two versions and the GetIconData()
function until that day comes around.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@818 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-19 08:37:50 +00:00
Tyler Dauwalder 691354c6d0 Added B_REG_RESULT
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-19 08:34:45 +00:00
Tyler Dauwalder 8b5dd33e12 + Added "standard general result reply"
+ Brought MIME database protocols up to date
+ Reformatted the standard reply section very slightly
  to match the rest of the protocols.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@816 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-19 08:34:13 +00:00
Tyler Dauwalder 75120765af Modified MimeTypeTestSuite slightly so as to not remove the copied
mime database directory if it already existed in the first place.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-16 23:21:48 +00:00
Tyler Dauwalder dda17c0010 Updated OBOS tests to use look in the same directory as the MimeDatabase
class does for the mime database. Also, if said directory is different than the
system directory, a copy is first made when necessary, and then removed
when the tests are done.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@790 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-16 22:10:38 +00:00
Tyler Dauwalder f978bce0b0 + Added fMimeDatabase member
+ Updated MessageReceived to handle:
  - B_REG_MIME_SET_PARAM.B_REG_MIME_DESCRIPTION
  - B_REG_MIME_{START,STOP}_WATCHING
  - B_REG_MIME_{INSTALL,DELETE}


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@789 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-16 22:08:49 +00:00
Tyler Dauwalder f231d0901c + Added fMimeDatabase member
Implemented:
+ {Get,Set}{Long,Short}Description()
+ {Start,Stop}Watching()
+ Install(), Delete(), IsInstalled()


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-16 22:06:51 +00:00
Tyler Dauwalder fc7d3358e6 + Added MimeDatabase
+ OBOS app kit headers are now used


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@787 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-16 22:03:26 +00:00
Tyler Dauwalder 533a64a210 Registrar now links to libstorage for MimeDatabase class
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@786 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-16 22:02:55 +00:00
Tyler Dauwalder 9f3d4851ac Initial checkin; MimeDatabase class used to handle all actual mime
database access.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-16 22:00:37 +00:00
Tyler Dauwalder c0de18bddf Added a number of Mime related definitions
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@784 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-16 21:59:24 +00:00
Tyler Dauwalder ef753322a8 Updated BQuery's BMessenger hack to be more legit (and
to allow libstorage to compile using public app kit headers)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-16 21:58:44 +00:00
Tyler Dauwalder 09d84e61b6 + Changed StorageKit namespace to BPrivate::Storage
+ Changed Sniffer namespace to BPrivate::Storage::Sniffer


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@714 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-12 08:42:01 +00:00
Tyler Dauwalder 82b7566525 Updated header guards to Be, Inc. style.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@713 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-12 07:24:02 +00:00
Tyler Dauwalder 64b563e06b Finally finished off GetSupportingApps() test
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-12 04:20:31 +00:00
Tyler Dauwalder c5ff4aa6f5 It became apparent that in order to assure obos tests are run
with obos libs and r5 tests are run with r5 libs, two separate
unit testing programs in different directories would be needed.
Thus UnitTester is now just a shell program that calls the
appropriate unittester/UnitTester or unittester_r5/UnitTester_r5
program.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@703 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-11 03:45:17 +00:00
Tyler Dauwalder d8575caf51 + Used to be UnitTester.*
+ Now gracefully handles situations where a suite and an
  individual test both have the same name.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@702 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-11 03:42:49 +00:00
Tyler Dauwalder 2ce9f3a6c6 Renamed UnitTesterHelper.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-11 03:41:15 +00:00
Tyler Dauwalder 1f6ca7567b Removed failing "quotes in unquoted string" tests, as quotes are now allowed in unquoted strings
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@700 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-11 03:31:23 +00:00
Tyler Dauwalder 3035279e84 Added case-insensitivity tests
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@687 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-10 09:36:41 +00:00
Tyler Dauwalder 06d1abcdc8 Added DisjList.cpp
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@686 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-10 09:36:19 +00:00
Tyler Dauwalder 93d145bb01 + Added support for "-i" flags and case insensitive matching
+ Renamed Expr class to DisjList, which is more descriptive
  as to its function
+ Added ' and " to the list of allowed characters in an
  unquoted string.
+ Added updated sniffer rule grammar to doxygen for the
  Parser class


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@685 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-10 09:36:00 +00:00
Tyler Dauwalder 0322e71475 Renamed to DisjList.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@684 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-10 09:32:03 +00:00
Tyler Dauwalder b657eab3cf + Fixed the uber scanner test yet again (this time wrt
NULL characters embedded in the token strings).
+ Added a number of sniffing tests. The rules returned
  by the parser appear to sniff properly now.

Incidentally, our sniffer supports conjunctions, i.e the rule

1.0 ('abc') [9] ('xyz')

is equivalent to the rule

1.0 ('abc______xyz' & 0xFFF000000FFF)

This is different than the R5 sniffer, which doesn't reject
rules like the former, but appears to ignore all expressions
in the rule except for the first, i.e. it would treat the first
rule as

1.0 ('abc')

The only problem I can see with this is if someone for
some reason wrote such a rule with multiple expressions
for use with the R5 sniffer. It would likely work differently
with ours. I'm going to search my MIME database and see
if any such rules exist. If so, it'll be easy to switch to the
R5 way of doing things.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-09 10:38:30 +00:00
Tyler Dauwalder fe70cd16af + Updated all the parsing code to use std::strings everywhere
instead of const char*'s to allow for rules with NULL characters
  embedded in them.
+ Updated Rule::Sniff() to actually return a useful value


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@662 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-09 10:30:38 +00:00
Tyler Dauwalder be1cf3b1be + Added a number of tests
+ Learned the concept of base 8 again and fixed an octal literal. I hate octal.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-08 07:54:04 +00:00
Tyler Dauwalder 60ee71d302 + Added some documentation
+ Fixed a bug with 0eXXX floats being handled improperly
+ Updated a few error messages to give proper character
  stream positions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@650 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-08 07:23:24 +00:00
Tyler Dauwalder 0bc621d53b + Added some documentation
+ Now verifies the given priority is valid


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-08 07:21:31 +00:00
Tyler Dauwalder 10db8711a8 Added some documentation
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@648 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-08 07:20:47 +00:00
Tyler Dauwalder 0b6140dc37 + Added a mean test to the scanner tests
+ Patched up the parser tests so they actually test something
  now, and accounted for the variations between the R5 error
  messages and our error messages where applicable.
+ Added a few extended notation floating point tests to the
  parser tests


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@631 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-07 07:51:26 +00:00
Tyler Dauwalder ef88abd1be + Added priority verification (0.0 <= valid priority <= 1.0)
+ Fixed a stupid bug in my hexToChar() function
+ Added code to actually return the parsed in priority to ParsePriority()...
+ Added code to actually SetTo() the result in ParseRule()...
+ Changed most "Sniffer scanner error" messages to "Sniffer
  pattern error" messages.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@630 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-07 07:48:30 +00:00
Tyler Dauwalder 2129049b13 Accounted for ParserTest -> MimeSnifferTest name change
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@609 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-06 08:41:55 +00:00
Tyler Dauwalder 390dce8da6 Parser is finished (or very nearly so)!!! :-)
+ Added support for extended notation floating point numbers,
as well as signed (+ and -) floats.
+ Finished up parsing code
+ Moved Err class into it's own header/source pair, since I
started using it all over the place in the sniffer code.
+ Did my darndest to make sure I wasn't leaking memory
anywhere.
+ Matched up error messages as best as possible with R5's
error message. Some couldn't be matched, some were improved.

There *are* a few things left to do. I don't think priorities are
verified to be valid (0.0 <= x <= 1.0). More tests also need to
be written. Things have solidified enough now that documentation
is a reasonable thing to start considering as well.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@608 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-06 08:37:14 +00:00
Tyler Dauwalder 01293d6ed7 + Added InitCheck()
+ Added Priority()
+ Added Sniff()
+ Replaced ExprList typedef with plain old std::vector<Expr*>
so I wouldn't forget what the hell kind of list I was working with.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@607 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-06 08:32:27 +00:00
Tyler Dauwalder 9d97f52d8d Added InitCheck() and GetErr()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@606 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-06 08:30:44 +00:00
Tyler Dauwalder c4dc6c7c5a Accounted for ParsetTest -> MimeSnifferTest name change
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@605 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-06 08:29:42 +00:00
Tyler Dauwalder e3c631d629 Added new sniffer files to libstorage.so
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@604 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-06 08:29:20 +00:00
Tyler Dauwalder a60032821f Updated the Sniff() function to take a BPositionIO instead of BFile.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-06 08:28:36 +00:00
Tyler Dauwalder a06e9158c7 Used to be ParserTest.*
+ Added some scanner tests
+ Parser tests still do very little testing
+ The "1e-25 ('ABCD')" test, which apparently fails with
R5's CheckSnifferRule(), has been commented out, as our
version accepts it and I can't currently figure out why it
would be an invalid sniffer rule.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-06 08:27:50 +00:00
Tyler Dauwalder 74cd43ec44 New mime sniffer support classes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@601 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-06 08:25:41 +00:00
Tyler Dauwalder b7b28d766e Renamed to MimeSnifferTest.*
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@600 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-06 08:25:02 +00:00
Tyler Dauwalder 47daa6c0a7 Ooops...doesn't compile with R5 tests.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@536 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-29 07:58:59 +00:00
Tyler Dauwalder 21791a4472 Added my favoritest error code ever to DecodeResult()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@535 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-29 07:06:38 +00:00
Tyler Dauwalder 395d31a081 Started on parser tests, which so far are shaping up
to be very similar to the BMimeType::Sniffer tests... :-)
These tests have the added bonus of not need full
BMimeType/Registrar functionality, though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@534 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-29 07:05:49 +00:00
Tyler Dauwalder 0d2978ea27 Added Range.cpp
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@533 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-29 07:03:44 +00:00
Tyler Dauwalder 68faee1082 + Switched to std::vector in favor of BList
+ Added a few minor tweaks


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@532 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-29 07:03:23 +00:00
Tyler Dauwalder 4574a75fc5 + Got rid of global TokenStream object
+ Started on Parser class
+ Moved parsing functions into Parser class
+ Added Pos() member to Err class to allow for
snazzy BMimeType::CheckSnifferRule() error strings.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@531 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-29 07:01:56 +00:00
Tyler Dauwalder 51156f1f46 Way too many builds later, I finally realized I put these #includes in the wrong place.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@530 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-29 06:58:52 +00:00
Tyler Dauwalder 0be1fe8a1f New MIME Sniffer files
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@529 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-29 06:57:11 +00:00
Tyler Dauwalder 224e92720e Added "position in original character stream" marker to Token class
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 04:13:30 +00:00
Tyler Dauwalder dc685e9ad8 Finished scanner:
+ Octals are now handled properly in both quoted and
unquoted strings
+ Added support for \xXX style hex escapes in both
quoted and unquoted strings
+ Finished up the tests, so I think pretty much everything
should be working
NOTE: signed floating point numbers are no longer supported,
as they have no usefulness to sniffer rules
NOTE: extended format floating point numbers (i.e. 2.4e23) are
no longer supported, as they have no usefulness to sniffer rules.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 03:21:21 +00:00
Tyler Dauwalder ef831f3638 Updated to include MIME Sniffer Parser tests
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@478 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-27 19:24:31 +00:00
Tyler Dauwalder 5da549240a + Moved internally used classes into header to allow for testing.
+ Added EmptyToken, Integer, and FloatingPoint TokenTypes.
+ Added IntToken and IntegerToken classes.
+ Updated scanner, which now handles numbers as well. I believe
it's nearly complete, although I'm almost positive it doesn't
handle octals correctly yet...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-27 19:24:05 +00:00
Tyler Dauwalder 6c6ea7dac5 Tests for the MIME sniffer parser.
Added a few scanner tests. More to come...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@476 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-27 19:20:59 +00:00
Tyler Dauwalder 674e18fb18 Initial MIME sniffer rule parser checkin. The first draft of the
scanner portion of the parser is done, but completely untested
and unused. More to come...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-26 07:47:07 +00:00
Tyler Dauwalder 7a89b5cb9e Added Equals() function, which sadly I haven't tested
(I just stole it from StorageKit::BasicTest, the version of
which has been proven many times over ;-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@417 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-24 09:30:20 +00:00
Tyler Dauwalder 4177635e24 Added initialization and MIME string functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-24 09:29:16 +00:00
Tyler Dauwalder 3f6453cd59 Added v4 verbosity level
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@414 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-24 00:12:02 +00:00
Tyler Dauwalder 762a48a083 + Finished BMimeType doxygen
+ Finally checked in my remaining BMimeType tests... :-)
NOTE -- The BMimeType::GetSupportingApps() test is
not yet finished. For some reason GetSupportingApps()
is returning a few strange signatures that don't appear
to be in the database. I'm still figuring out where they're
coming from.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@408 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-23 22:29:25 +00:00
Tyler Dauwalder 242a6db230 Changed TestApp to BTestApp for sake of consitency with
the rest of the test classes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@407 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-23 22:27:43 +00:00
Tyler Dauwalder 9d863cc903 Updated search directories to match new hierarchy
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@406 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-23 22:04:53 +00:00
Tyler Dauwalder 5ebee1cf0a BVolume and BVolumeRoster updates, courtesty of Vincent Dominguez
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@405 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-23 21:39:49 +00:00
Tyler Dauwalder e61306cb63 Obsolete
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@385 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-22 09:31:57 +00:00
Tyler Dauwalder b706324201 Renamed to HandlerLooperTest.{h,cpp}
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-22 09:30:05 +00:00
Tyler Dauwalder be2939cab7 Moved the rest of the App Kit tests over to the new framework.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@383 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-22 09:28:00 +00:00
Tyler Dauwalder 6b3c7cc36d Fixed dynamic loading problems for remote object tests
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@372 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-21 19:50:15 +00:00