[Pkg-javascript-commits] [ltx] 304/469: Add tests for new DOMElement

Jonas Smedegaard dr at jones.dk
Wed Aug 31 13:03:20 UTC 2016


This is an automated email from the git hooks/post-receive script.

js pushed a commit to branch master
in repository ltx.

commit 515cb6493f2a340fc968cfbeae5bed1170302a3f
Author: Lloyd Watkin <lloyd at evilprofessor.co.uk>
Date:   Sun Feb 16 19:18:57 2014 +0000

    Add tests for new DOMElement
---
 lib/index.js             | 17 +++++++++--------
 test/dom-element-test.js | 38 ++++++++++++++++++++++++++++++++++++++
 test/parse-test.js       | 24 ++++++++++++------------
 3 files changed, 59 insertions(+), 20 deletions(-)

diff --git a/lib/index.js b/lib/index.js
index 68de945..a67fea8 100644
--- a/lib/index.js
+++ b/lib/index.js
@@ -1,22 +1,23 @@
-var element = require('./element');
-var parse = require('./parse');
+var element = require('./dom-element')
+  , parse = require('./parse')
 
 /**
  * The only (relevant) data structure
  */
-exports.Element = element.Element;
+exports.Element = element
+
 /**
  * Helper
  */
-exports.escapeXml = element.escapeXml;
+exports.escapeXml = element.escapeXml
 
 /**
  * DOM parser interface
  */
-exports.parse = parse.parse;
-exports.Parser = parse.Parser;
+exports.parse = parse.parse
+exports.Parser = parse.Parser
 /**
  * SAX parser interface
  */
-exports.availableSaxParsers = parse.availableSaxParsers;
-exports.bestSaxParser = parse.bestSaxParser;
+exports.availableSaxParsers = parse.availableSaxParsers
+exports.bestSaxParser = parse.bestSaxParser
diff --git a/test/dom-element-test.js b/test/dom-element-test.js
new file mode 100644
index 0000000..83b2e3c
--- /dev/null
+++ b/test/dom-element-test.js
@@ -0,0 +1,38 @@
+var vows = require('vows')
+  , assert = require('assert')
+  , ltx = require('./../lib/index')
+
+ltx.availableSaxParsers.forEach(function(saxParser) {
+    var parse = function(s) {
+        return ltx.parse(s, saxParser)
+    }
+    vows.describe('Parsing returns DOMElement\'s').addBatch({
+        'DOMElement': {
+            'Returns DOMElement on parse': function() {
+                var stanza = '<message><body xmlns="http://www.w3.org/1999/xhtml">' +
+                    '<p>DOM</p></body></message>'
+                var el = parse(stanza)
+
+                assert.equal(el.getChild('body').constructor.name, 'DOMElement')
+                var body = el.getChild('body')
+                assert.isDefined(body.localName)
+                assert.equal(body.localName, 'body')
+
+                assert.isDefined(body.namespaceURI)
+                assert.equal(body.namespaceURI, 'http://www.w3.org/1999/xhtml')
+
+                assert.isDefined(body.parentNode)
+                assert.equal(body.parentNode.getName(), 'message')
+
+                assert.isDefined(body.childNodes)
+                assert.isArray(body.childNodes)
+                assert.equal(body.childNodes.length, 1)
+
+                assert.isDefined(body.textContent)
+                assert.equal(body.textContent, '')
+
+                assert.equal(body.getChild('p').textContent, 'DOM')
+            }
+        }
+    }).export(module)
+})
\ No newline at end of file
diff --git a/test/parse-test.js b/test/parse-test.js
index d4e2192..90b0c01 100644
--- a/test/parse-test.js
+++ b/test/parse-test.js
@@ -22,8 +22,8 @@ ltx.availableSaxParsers.forEach(function(saxParser) {
                 assert.equal("<>&\"'", el.getText());
             },
             'attribute with entities': function() {
-		var el = parse("<body title='<>&"''/>");
-		assert.equal("<>&\"'", el.attrs.title);
+		        var el = parse("<body title='<>&"''/>");
+		        assert.equal("<>&\"'", el.attrs.title);
             },
             'erroneous document raises error': function() {
                 assert.throws(function() {
@@ -47,22 +47,22 @@ ltx.availableSaxParsers.forEach(function(saxParser) {
                 assert.equal(el.getName(), 'root');
                 assert.ok(el.is('root', 'https://github.com/astro/ltx'));
             },
-	    'buffer': function() {
-		var buf = new Buffer('<root/>');
-		var el = parse(buf);
+            'buffer': function() {
+                var buf = new Buffer('<root/>');
+                var el = parse(buf);
                 assert.equal(el.name, 'root');
                 assert.equal(0, el.children.length);
-	    },
-	    'utf-8 text': function() {
-		var el = parse('<?xml version="1.0" encoding="utf-8"?><text>Möwe</text>');
+            },
+            'utf-8 text': function() {
+                var el = parse('<?xml version="1.0" encoding="utf-8"?><text>Möwe</text>');
                 assert.equal(el.name, 'text');
                 assert.equal(el.getText(), "Möwe");
-	    },
-	    'iso8859-1 text': function() {
-		var el = parse('<?xml version="1.0" encoding="iso-8859-1"?><text>M\xF6we</text>');
+            },
+            'iso8859-1 text': function() {
+                var el = parse('<?xml version="1.0" encoding="iso-8859-1"?><text>M\xF6we</text>');
                 assert.equal(el.name, 'text');
                 assert.equal(el.getText(), "Möwe");
-	    }
+            }
         },
 	'SAX parsing': {
 	    'XMPP stream': function() {

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/ltx.git



More information about the Pkg-javascript-commits mailing list