Files
EWF/library/network/protocol/content_negotiation/test/application.e
Jocelyn Fiat 88e6837222 Class renaming for content_negotiation
Splitted SERVER_CONTENT_NEGOTIATION in 4 differents classes for each kind of negotiation
Changed to use ITERABLE over LIST for supported variants arguments
Factorized some code for http parameter parsing such as q=1.0;note="blabla"  and so on
Integrated within EWF
2013-10-18 16:18:22 +02:00

88 lines
3.1 KiB
Plaintext

note
description : "eMIME application root class"
date : "$Date$"
revision : "$Revision$"
class
APPLICATION
inherit
ARGUMENTS
create
make
feature {NONE} -- Initialization
make
local
mime_parse : HTTP_ACCEPT_MEDIA_TYPE_UTILITIES
accept : STRING
charset_parse : HTTP_ANY_ACCEPT_HEADER_UTILITIES
language : HTTP_ACCEPT_LANGUAGE_UTILITIES
do
create mime_parse
-- parse_result := mime_parse.parse_mime_type ("application/xhtml;q=0.5")
-- print ("%N"+parse_result.out)
-- parse_result := mime_parse.parse_media_range ("application/xml;q=1")
-- print ("%N"+parse_result.out)
-- check
-- "('application', 'xml', {'q':'1',})" ~ mime_parse.parse_media_range ("application/xml;q=1").out
-- end
-- parse_result := mime_parse.parse_media_range ("application/xml")
-- print ("%N"+parse_result.out)
-- check
-- "('application', 'xml', {'q':'1',})" ~ mime_parse.parse_media_range ("application/xml;q=1").out
-- end
-- assertEquals("('application', 'xml', {'q':'1',})", MIMEParse
-- .parseMediaRange("application/xml").toString());
-- assertEquals("('application', 'xml', {'q':'1',})", MIMEParse
-- .parseMediaRange("application/xml;q=").toString());
-- assertEquals("('application', 'xml', {'q':'1',})", MIMEParse
-- .parseMediaRange("application/xml ; q=").toString());
-- assertEquals("('application', 'xml', {'b':'other','q':'1',})",
-- MIMEParse.parseMediaRange("application/xml ; q=1;b=other")
-- .toString());
-- assertEquals("('application', 'xml', {'b':'other','q':'1',})",
-- MIMEParse.parseMediaRange("application/xml ; q=2;b=other")
-- .toString());
-- // Java URLConnection class sends an Accept header that includes a
-- // single *
-- assertEquals("('*', '*', {'q':'.2',})", MIMEParse.parseMediaRange(
-- " *; q=.2").toString());
accept := "application/atom+xml;q=1.0,application/xml;q=0.6,text/html"
print ("%N"+mime_parse.quality ("text/html;q=1.0", accept).out)
print ("%N"+mime_parse.quality ("application/xml", accept).out)
print ("%N"+mime_parse.quality ("*/*;q=0.1", accept).out)
accept := "application/atom+xml"
print ("%N"+mime_parse.media_type (accept).out)
create charset_parse
accept := "iso-8859-5"
print ("%N" + charset_parse.header (accept).out)
accept := "unicode-1-1;q=0.8"
print ("%N" + charset_parse.header (accept).out)
accept:= "iso-8859-5, unicode-1-1;q=0.8"
print ("%N"+ charset_parse.quality ("iso-8859-5", accept).out)
print ("%N"+ charset_parse.quality ("unicode-1-1", accept).out)
print ("%N"+ charset_parse.quality ("iso-8859-1", accept).out)
create language
accept :="da, en-gb;q=0.8, en;q=0.7"
print (language.best_match (accept.split (','), "da"))
print (language.best_match (accept.split (','), "en-*"))
print ("%N"+language.accept_language ("da").out)
print ("%N"+language.accept_language ("en-gb;q=0.8").out)
print ("%N"+language.accept_language ("en;q=0.7").out)
print ("%N"+language.accept_language ("en-*").out)
end
end