De-dup test setup

- Move environment-specific tests for toEquals into describe blocks so the check for the environment can be shared
This commit is contained in:
Ben Christel
2016-07-21 12:26:43 -07:00
parent d9ded15c45
commit cb1001e6c2

View File

@@ -100,17 +100,6 @@ describe("matchersUtil", function() {
expect(jasmineUnderTest.matchersUtil.equals(new One(), new Two())).toBe(false); expect(jasmineUnderTest.matchersUtil.equals(new One(), new Two())).toBe(false);
}); });
if (typeof document === 'object') {
it("passes for equivalent objects from different frames", function() {
var iframe = document.createElement('iframe');
document.body.appendChild(iframe);
console.log(iframe);
iframe.contentWindow.eval('window.testObject = {}');
expect(jasmineUnderTest.matchersUtil.equals({}, iframe.contentWindow.testObject)).toBe(true);
document.body.removeChild(iframe);
});
}
it("passes for Objects that are equivalent (simple case)", function() { it("passes for Objects that are equivalent (simple case)", function() {
expect(jasmineUnderTest.matchersUtil.equals({a: "foo"}, {a: "foo"})).toBe(true); expect(jasmineUnderTest.matchersUtil.equals({a: "foo"}, {a: "foo"})).toBe(true);
}); });
@@ -167,25 +156,34 @@ describe("matchersUtil", function() {
expect(jasmineUnderTest.matchersUtil.equals(a,b)).toBe(true); expect(jasmineUnderTest.matchersUtil.equals(a,b)).toBe(true);
}); });
it("passes for equivalent DOM nodes", function() { describe("when running in a browser", function() {
beforeEach(function() {
if (typeof document === 'undefined') { if (typeof document === 'undefined') {
return; pending();
} }
});
it("passes for equivalent DOM nodes", function() {
var a = document.createElement("div"); var a = document.createElement("div");
a.setAttribute("test-attr", "attr-value") a.setAttribute("test-attr", "attr-value");
a.appendChild(document.createTextNode('test')); a.appendChild(document.createTextNode('test'));
var b = document.createElement("div"); var b = document.createElement("div");
b.setAttribute("test-attr", "attr-value") b.setAttribute("test-attr", "attr-value");
b.appendChild(document.createTextNode('test')); b.appendChild(document.createTextNode('test'));
expect(jasmineUnderTest.matchersUtil.equals(a,b)).toBe(true); expect(jasmineUnderTest.matchersUtil.equals(a,b)).toBe(true);
}); });
it("passes for equivalent objects from different frames", function() {
var iframe = document.createElement('iframe');
document.body.appendChild(iframe);
iframe.contentWindow.eval('window.testObject = {}');
expect(jasmineUnderTest.matchersUtil.equals({}, iframe.contentWindow.testObject)).toBe(true);
document.body.removeChild(iframe);
});
it("fails for DOM nodes with different attributes or child nodes", function() { it("fails for DOM nodes with different attributes or child nodes", function() {
if (typeof document === 'undefined') {
return;
}
var a = document.createElement("div"); var a = document.createElement("div");
a.setAttribute("test-attr", "attr-value") a.setAttribute("test-attr", "attr-value")
a.appendChild(document.createTextNode('test')); a.appendChild(document.createTextNode('test'));
@@ -205,11 +203,16 @@ describe("matchersUtil", function() {
a.appendChild(document.createTextNode('2')); a.appendChild(document.createTextNode('2'));
expect(jasmineUnderTest.matchersUtil.equals(a,b)).toBe(true); expect(jasmineUnderTest.matchersUtil.equals(a,b)).toBe(true);
}); });
});
describe("when running in Node", function() {
beforeEach(function() {
if (typeof require !== 'function') {
pending();
}
});
it("passes for equivalent objects from different vm contexts", function() { it("passes for equivalent objects from different vm contexts", function() {
if (typeof require !== 'function') {
return;
}
var vm = require('vm'); var vm = require('vm');
var sandbox = { var sandbox = {
obj: null obj: null
@@ -220,10 +223,6 @@ describe("matchersUtil", function() {
}); });
it("passes for equivalent arrays from different vm contexts", function() { it("passes for equivalent arrays from different vm contexts", function() {
if (typeof require !== 'function') {
return;
}
var vm = require('vm'); var vm = require('vm');
var sandbox = { var sandbox = {
arr: null arr: null
@@ -232,6 +231,7 @@ describe("matchersUtil", function() {
expect(jasmineUnderTest.matchersUtil.equals(sandbox.arr, [1, 2])).toBe(true); expect(jasmineUnderTest.matchersUtil.equals(sandbox.arr, [1, 2])).toBe(true);
}); });
});
it("passes when Any is used", function() { it("passes when Any is used", function() {
var number = 3, var number = 3,