[Laszlo-dev] [Updated] For Review: Change 20090608-raju-Y Summary: Fix for CSS parser uses incorrect file encoding
Raju Bitter
rajubitter at me.com
Mon Jun 8 11:44:12 PDT 2009
Added a "+" in debug output string concatenation.
Change 20090608-raju-Y by raju at ip-90-186-160-71.web.vodafone.de on
2009-06-08 20:09:02 CEST
in /Users/rajubitter/src/svn/openlaszlo/trunk-cssunicode
for http://rajubitter@svn.openlaszlo.org/openlaszlo/trunk
Summary: Fix for CSS parser uses incorrect file encoding
New Features: Adds an optional @charset to the stylesheet tag, in case
the user wants to use a CSS file in a different encoding then utf-8
Bugs Fixed: LPP-8045
Technical Reviewer: ptw
QA Reviewer: (pending)
Doc Reviewer: (pending)
Documentation:
Release Notes:
Details:
+ StyleSheetCompiler.java: Handling for @charset on stylesheet tag
added. Added a
2nd parameter with the encoding value to the CSSHandler.parse() call.
+ CSSHandler.java:
parse() method takes the encoding from the LZX stylesheet tag as a 2nd
parameter.
getInputSource() method does a few more things now:
1) checks for a possible BOM on the CSS file
2) checks if a possible BOM conflicts with the value of the
stylesheet tag's @charset
3) if there's a BOM, the BOM bytes are removed from the input stream
+ FileUtils.java:
Added method public static String
detectBOMEncoding(BufferedInputStream in)
The method returns the BOM marker interpreted as one of the following
strings:
UTF-8
UTF-16LE
UTF-16BE
Tests:
+ test files in folder test/css/encoding
The following test exist:
1) iso8859-1_with_charset_attr.lzx
Reading an iso-8859-2 encoded CSS file with some German special
chars
2) utf16BE_with_BOM.lzx
Reading an utf-16 BE CSS file with BOM marker
3) utf16LE_with_BOM.lzx
Reading an utf-16 LE CSS file with BOM marker
4) utf8_with_BOM_no_charset_attr.lzx
Reading an utf-8 CSS file with BOM and no charset attribute on
the stylesheet tag
5) utf8_with_BOM_conflicting_charset_attr.lzx
Reading a CSS with @charset value of utf-16, but CSS having a
UTF-8 BOM marker, will
throw a compile error
Files:
A test/css/encoding
A test/css/encoding/iso8859-1_with_charset_attr.lzx
A test/css/encoding/utf16BE_with_BOM.lzx
A test/css/encoding/utf8_with_BOM_no_charset_attr.css
A test/css/encoding/utf16LE_with_BOM.css
A test/css/encoding/utf8_no_BOM_no_charset_attr.css
A test/css/encoding/utf8_with_BOM_conflicting_charset_attr.css
A test/css/encoding/utf8_with_BOM_no_charset_attr.lzx
A test/css/encoding/utf16LE_with_BOM.lzx
A test/css/encoding/utf8_no_BOM_no_charset_attr.lzx
A test/css/encoding/iso8859-1_with_charset_attr.css
A test/css/encoding/utf16BE_with_BOM.css
A test/css/encoding/utf8_with_BOM_conflicting_charset_attr.lzx
M WEB-INF/lps/server/src/org/openlaszlo/css/CSSHandler.java
M WEB-INF/lps/server/src/org/openlaszlo/utils/FileUtils.java
M WEB-INF/lps/server/src/org/openlaszlo/compiler/
StyleSheetCompiler.java
Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20090608-raju-Y.tar
More information about the Laszlo-dev
mailing list