[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