DOM escape() fails to escape DEL character

RESOLVED FIXED

Status

()

Core
DOM: Core & HTML
RESOLVED FIXED
15 years ago
14 years ago

People

(Reporter: Kelly O'Hara, Unassigned)

Tracking

Trunk
x86
Windows 2000
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

15 years ago
User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.3.1) Gecko/20030425
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.3.1) Gecko/20030425

the Mozilla implementation of the "Global.escape()" method fails to escape the
US-ASCII character DEL (127 or 0x7F) and will instead truncate the escaping
string at the first occurrance of the DEL character.



Reproducible: Always

Steps to Reproduce:
1. add the following to a web page in a javascript example:
<script
language="javascript">alert(escape("te"+String.fromCharCode(127)+"st"));</script>
2. load the page in any mozilla browser.
Actual Results:  
you will receive an alert containing the text "te".

Expected Results:  
You should receive an alert containing the text "te%7Fst".

Although we have only tested within the standard 8-bit ASCII character set, only
the DEL character has proven to be a problem so far.

Comment 1

15 years ago
Confirming bug with Mozilla trunk binary 2003052304 on WinNT.
But this is not malfunctioning in JS Engine, as the following
session in the standalone JS shell demonstrates:

js> print(escape("te"+String.fromCharCode(127)+"st"));
te%7Fst


Note the testcase for the browser can be simplified to:

         javascript:alert(escape("te\u007Fst"));
     or  javascript:alert(escape("te\x7Fst"));

Both of these work in IE6 and NN4.7: ---> "te%7Fst".
But not in Mozilla, which outputs ------> "te".

In the browser, the escape() function of the DOM supersedes
the JS Engine escape(). Reassigning to DOM Level 0 component.

Related bugs:

bug 44272
javascript escape() and unescape() don't work properly with unicode chars
bug 153325
javascript href broken when a variable is containing escaped umlaut
bug 192148
ECMA-262 compliance: escape('@') should not escape
Assignee: rogerl → dom_bugs
Status: UNCONFIRMED → NEW
Component: JavaScript Engine → DOM Level 0
Ever confirmed: true
QA Contact: pschwartau → ashishbhatt

Updated

15 years ago
Summary: JavaScript Global.escape() fails to escape DEL character → DOM escape() fails to escape DEL character
Depends on: 44272

Comment 2

14 years ago
This was fixed along with bug 44272. 
Status: NEW → RESOLVED
Last Resolved: 14 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.