[Laszlo-checkins] r5968 - in openlaszlo/branches/wafflecone: WEB-INF/lps/lfc/data test/lztest
pbr@openlaszlo.org
pbr at openlaszlo.org
Wed Aug 8 13:42:14 PDT 2007
Author: pbr
Date: 2007-08-08 13:42:10 -0700 (Wed, 08 Aug 2007)
New Revision: 5968
Added:
openlaszlo/branches/wafflecone/test/lztest/lztest-lzdatapointer.lzx
Modified:
openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/data/LzDatapointer.lzs
Log:
(Note: I took Tucker's suggestion and modified the warning message)
Change 20070802-Philip-2 by Philip at Philip-DC on 2007-08-02 11:34:48 EST
in /cygdrive/f/laszlo/svn/src/svn/openlaszlo/branches/wafflecone
for http://svn.openlaszlo.org/openlaszlo/branches/wafflecone
Summary: Fix how LzDatapointer handles null values
New Features:
Bugs Fixed: LPP-2760
Technical Reviewer: ben
QA Reviewer: (pending)
Doc Reviewer: (pending)
Documentation:
Release Notes:
Details:
The decision is to return undefined when the internal pointer is null (same as 3
.4). This was the current behavior of wafflecone. I added warning messages in de
bug mode whenever this condition is found. The new test file, lztest-lzdatapoint
er.lzx, only tests the undefined behavior of LzDatapointer.
Tests:
Run new unit test, /test/lztest/lztest-lzdatapointer.lzx
Files:
A test/lztest/lztest-lzdatapointer.lzx
M WEB-INF/lps/lfc/data/LzDatapointer.lzs
Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20070802-Philip-2.tar
Modified: openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/data/LzDatapointer.lzs
===================================================================
--- openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/data/LzDatapointer.lzs 2007-08-08 17:39:37 UTC (rev 5967)
+++ openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/data/LzDatapointer.lzs 2007-08-08 20:42:10 UTC (rev 5968)
@@ -629,8 +629,10 @@
var np;
if ( p == null ){
- // FIXME: [2006-09-25 ben] (LPP-2760) Should this return a type-safe null, or undefined?
- return false;
+ if ( $debug ) {
+ Debug.warn("%s: p is null in %s", arguments.callee, this);
+ }
+ return false;
}
if (pathobj.selectors != null) {
@@ -888,8 +890,12 @@
* @return String: The name of the datapointer's node
*/
function getNodeName (){
- // FIXME: [2006-09-25 ben] (LPP-2760) Should this return a type-safe null, or undefined?
- if ( ! this.p ) return;
+ if ( ! this.p ) {
+ if ( $debug ) {
+ Debug.warn("%s: p is null in %s", arguments.callee, this);
+ }
+ return;
+ }
return this.p.nodeName;
}
@@ -898,8 +904,12 @@
* @param String name: The new name for the datapointer's node
*/
function setNodeName (name){
- // FIXME: [2006-09-25 ben] (LPP-2760) Should this return a type-safe null, or undefined?
- if ( ! this.p ) return;
+ if ( ! this.p ) {
+ if ( $debug ) {
+ Debug.warn("%s: p is null in %s", arguments.callee, this);
+ }
+ return;
+ }
this.p.setNodeName( name );
}
@@ -911,8 +921,12 @@
* attributes
*/
function getNodeAttributes (){
- // FIXME: [2006-09-25 ben] (LPP-2760) Should this return a type-safe null, or undefined?
- if ( ! this.p ) return;
+ if ( ! this.p ) {
+ if ( $debug ) {
+ Debug.warn("%s: p is null in %s", arguments.callee, this);
+ }
+ return;
+ }
return this.p.attributes;
}
@@ -922,8 +936,12 @@
* @return String: The value of the attribute.
*/
function getNodeAttribute (name){
- // FIXME: [2006-09-25 ben] (LPP-2760) Should this return a type-safe null, or undefined?
- if ( ! this.p ) return;
+ if ( ! this.p ) {
+ if ( $debug ) {
+ Debug.warn("%s: p is null in %s", arguments.callee, this);
+ }
+ return;
+ }
return this.p.attributes[ name ];
}
@@ -934,8 +952,12 @@
* @param String val: The value for the attribute
*/
function setNodeAttribute (name, val) {
- // FIXME: [2006-09-25 ben] (LPP-2760) Should this return a type-safe null, or undefined?
- if (! this.p) return;
+ if ( ! this.p ) {
+ if ( $debug ) {
+ Debug.warn("%s: p is null in %s", arguments.callee, this);
+ }
+ return;
+ }
this.p.setAttr( name, val );
}
@@ -944,8 +966,12 @@
* @param String name: The name of the attribute to delete.
*/
function deleteNodeAttribute (name) {
- // FIXME: [2006-09-25 ben] (LPP-2760) Should this return a type-safe null, or undefined?
- if ( ! this.p ) return;
+ if ( ! this.p ) {
+ if ( $debug ) {
+ Debug.warn("%s: p is null in %s", arguments.callee, this);
+ }
+ return;
+ }
this.p.removeAttr( name );
}
@@ -957,8 +983,12 @@
* @return String: The text in the node pointed to by the datapointer.
*/
function getNodeText (){
- // FIXME: [2006-09-25 ben] (LPP-2760) Should this return a type-safe null, or undefined?
- if (! this.p) return;
+ if ( ! this.p ) {
+ if ( $debug ) {
+ Debug.warn("%s: p is null in %s", arguments.callee, this);
+ }
+ return;
+ }
return this.p.__LZgetText();
}
@@ -1000,8 +1030,13 @@
* @param String val: The new string for the node's text
*/
function setNodeText (val) {
- // FIXME: [2006-09-25 ben] (LPP-2760) Should this return a type-safe null, or undefined?
- if ( ! this.p ) return;
+ if ( ! this.p ) {
+ if ( $debug ) {
+ Debug.warn("%s: p is null in %s", arguments.callee, this);
+ }
+ return;
+ }
+
// set the first text node you find; otherwise add one
var foundit = false;
for (var i = 0; i < this.p.childNodes.length; i++) {
@@ -1038,9 +1073,12 @@
* @return LzDataElement: the new node
*/
function addNode ( name, text , attrs ){
- // FIXME: [2006-10-04 pbr] (LPP-2760) Should this return a type-safe null, or undefined?
- if ( !this.p )
- return;
+ if ( ! this.p ) {
+ if ( $debug ) {
+ Debug.warn("%s: p is null in %s", arguments.callee, this);
+ }
+ return;
+ }
var nn = new LzDataElement( name , attrs );
if ( text != null ){
@@ -1059,8 +1097,13 @@
* Otherwise the pointer is set to <code>null</code>.
*/
function deleteNode ( ){
- // FIXME: [2006-09-25 ben] (LPP-2760) Should this return a type-safe null, or undefined?
- if ( !this.p ) return;
+ if ( ! this.p ) {
+ if ( $debug ) {
+ Debug.warn("%s: p is null in %s", arguments.callee, this);
+ }
+ return;
+ }
+
var op = this.p
if ( !this.rerunxpath ){
//move the pointer to the next sibling
@@ -1108,9 +1151,14 @@
* @return LzDatapointer: A pointer to the new node
*/
function addNodeFromPointer ( dp ){
- // FIXME: [2006-09-25 ben] (LPP-2760) Should this return a type-safe null, or undefined?
if ( ! dp.p ) return;
- if ( ! this.p ) return;
+ if ( ! this.p ) {
+ if ( $debug ) {
+ Debug.warn("%s: p is null in %s", arguments.callee, this);
+ }
+ return;
+ }
+
var n = dp.p.cloneNode( true );
this.p.appendChild( n );
return new LzDatapointer( null , { pointer : n } );
@@ -1128,10 +1176,13 @@
/** @access private */
function __LZprocessOperator ( p , pp , depends ){
+ if (p == null) {
+ if ( $debug ) {
+ Debug.warn("%s: p is null in %s", arguments.callee, this);
+ }
+ return;
+ }
- // FIXME: [2006-09-25 ben] (LPP-2760) Should this return a type-safe null, or undefined?
- if (p == null) return;
-
if ( pp.operatorArgs != null ){
return p[ pp.operator ] ( pp.operatorArgs );
}
@@ -1215,8 +1266,12 @@
* contents.
*/
function serialize ( ){
- // FIXME: [2006-09-25 ben] (LPP-2760) Should this return a type-safe null, or undefined?
- if (this.p == null) return;
+ if ( this.p == null) {
+ if ( $debug ) {
+ Debug.warn("%s: p is null in %s", arguments.callee, this);
+ }
+ return;
+ }
return this.p.serialize();
}
Added: openlaszlo/branches/wafflecone/test/lztest/lztest-lzdatapointer.lzx
Property changes on: openlaszlo/branches/wafflecone/test/lztest/lztest-lzdatapointer.lzx
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
More information about the Laszlo-checkins
mailing list