var DOM = require('../src/dom.js').DOM; describe('dom', function() { var dom; beforeEach(function() { dom = new DOM(); }); describe('h', function() { it('should render using function', function() { var cbThis; var cdValue; dom.h('heading', 'content', function(value){ cbThis = this; cbValue = value; }); expect(cbThis).toEqual(dom); expect(cbValue).toEqual('content'); }); it('should update heading numbers', function() { dom.h('heading', function() { this.html('

sub-heading

'); }); expect(dom.toString()).toContain('

heading

'); expect(dom.toString()).toContain('

sub-heading

'); }); it('should properly number nested headings', function() { dom.h('heading', function() { dom.h('heading2', function() { this.html('

heading3

'); }); }); dom.h('other1', function() { this.html('

other2

'); }); expect(dom.toString()).toContain('

heading

'); expect(dom.toString()).toContain('

heading2

'); expect(dom.toString()).toContain('

heading3

'); expect(dom.toString()).toContain('

other1

'); expect(dom.toString()).toContain('

other2

'); }); }); });