import * as IncrementalDOM from 'incremental-dom';
import { vdom } from '../../../src/index';

describe('IncrementalDOM', function () {
  it('should export all the same members as the incremental-dom we consume', function () {
    // Ensure we export the element functions.
    expect(vdom.attr).to.be.a('function');
    expect(vdom.elementClose).to.be.a('function');
    expect(vdom.elementOpenEnd).to.be.a('function');
    expect(vdom.elementOpenStart).to.be.a('function');
    expect(vdom.elementVoid).to.be.a('function');
    expect(vdom.text).to.be.a('function');

    // Ensure they're not the same as Incremental DOM's implementation.
    expect(vdom.attr).not.to.equal(IncrementalDOM.attr);
    expect(vdom.elementClose).not.to.equal(IncrementalDOM.elementClose);
    expect(vdom.elementOpenEnd).not.to.equal(IncrementalDOM.elementOpenEnd);
    expect(vdom.elementOpenStart).not.to.equal(IncrementalDOM.elementOpenStart);
    expect(vdom.elementVoid).not.to.equal(IncrementalDOM.elementVoid);
    expect(vdom.text).not.to.equal(IncrementalDOM.text);
  });
});

@@ -92,125 +92,56 @@
 ';%0A%0A
-describe('IncrementalDOM', function () %7B%0A  it('should export all the same members as the incremental-dom we consume',
+function testBasicApi (name) %7B%0A  it('should be a
  fun
@@ -149,64 +149,16 @@
 tion
+',
  () 
-%7B%0A    // Ensure we export the element functions.%0A   
+=%3E
  exp
@@ -165,21 +165,22 @@
 ect(vdom
-.attr
+%5Bname%5D
 ).to.be.
@@ -196,525 +196,439 @@
 on')
+)
 ;%0A  
-  expect(vdom.elementClose).to.be.a('function');%0A    expect(vdom.elementOpenEnd).to.be.a('function');%0A    expect(vdom.elementOpenStart).to.be.a('function');%0A    expect(vdom.elementVoid).to.be.a('function');%0A    expect(vdom.text).to.be.a('function');%0A%0A    // Ensure they're not the same as Incremental DOM's implementation.%0A    expect(vdom.attr).not.to.equal(IncrementalDOM.attr);%0A    expect(vdom.elementClose).not.to.equal(IncrementalDOM.elementClose);%0A    expect(vdom.elementOpenEnd).not.to.equal(IncrementalDOM.
+it('should not be the same one as in Incremental DOM', () =%3E expect(vdom%5Bname%5D).not.to.equal(IncrementalDOM%5Bname%5D));%0A%7D%0A%0Adescribe('IncrementalDOM', function () %7B%0A  describe('attr', () =%3E %7B%0A    testBasicApi('attr');%0A  %7D);%0A%0A  describe('elementClose', () =%3E %7B%0A    testBasicApi('elementClose');%0A  %7D);%0A%0A  describe('elementOpen', () =%3E %7B%0A    testBasicApi('elementOpen');%0A  %7D);%0A%0A  describe('elementOpenEnd', () =%3E %7B%0A    testBasicApi('
 elem
@@ -641,73 +641,76 @@
 nEnd
+'
 );%0A  
-  expect(vdom.elementOpenStart).not.to.equal(IncrementalDOM.
+%7D);%0A%0A  describe('elementOpenStart', () =%3E %7B%0A    testBasicApi('
 elem
@@ -725,68 +725,71 @@
 tart
+'
 );%0A  
-  expect(vdom.elementVoid).not.to.equal(IncrementalDOM.
+%7D);%0A%0A  describe('elementVoid', () =%3E %7B%0A    testBasicApi('
 elem
@@ -799,65 +799,69 @@
 Void
+'
 );%0A  
-  expect(vdom.text).not.to.equal(IncrementalDOM.
+%7D);%0A%0A  describe('text', () =%3E %7B%0A    testBasicApi('
 text
+'
 );%0A 

Add basic tests for all api points that override Incremental DOM.