getting root element
authorAleksander Łukasz <aleksander.lukasz@nowoczesnapolska.org.pl>
Thu, 26 Sep 2013 10:39:43 +0000 (12:39 +0200)
committerAleksander Łukasz <aleksander.lukasz@nowoczesnapolska.org.pl>
Wed, 9 Oct 2013 14:56:54 +0000 (16:56 +0200)
src/smartxml/smartxml.js [new file with mode: 0644]
src/smartxml/smartxml.test.js [new file with mode: 0644]

diff --git a/src/smartxml/smartxml.js b/src/smartxml/smartxml.js
new file mode 100644 (file)
index 0000000..e996f76
--- /dev/null
@@ -0,0 +1,32 @@
+define([
+    'libs/jquery'
+], function($) {
+    
+'use strict';
+
+
+var Document = function(xml) {
+    var $document = $(xml);
+
+
+    Object.defineProperty(this, 'root', {get: function() { return new ElementNode($document[0])}}); 
+}
+
+
+var ElementNode = function(nativeNode) {
+    var myNode = nativeNode,
+        $myNode = $(nativeNode);
+
+
+    this.getTagName = function() {
+        return myNode.tagName.toLowerCase();
+    }
+};
+
+return {
+    fromXML: function(xml) {
+        return new Document(xml);
+    }
+};
+
+});
\ No newline at end of file
diff --git a/src/smartxml/smartxml.test.js b/src/smartxml/smartxml.test.js
new file mode 100644 (file)
index 0000000..c4f99e8
--- /dev/null
@@ -0,0 +1,19 @@
+define([
+    'libs/chai',
+    './smartxml.js'
+], function(chai, smartxml) {
+    
+'use strict';
+
+
+var expect = chai.expect;
+
+
+describe.only('Basic use', function() {
+    it('exposes root element', function() {
+        var doc = smartxml.fromXML('<div></div>');
+        expect(doc.root.getTagName()).to.equal('div');
+    });
+});
+
+});
\ No newline at end of file