From 2b36a62c5600738737e0fda4e0fc92e6e1f59c33 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Mon, 20 Jan 2020 01:44:11 +0200 Subject: fix tests, integrate depenentless sorting into toposort for easier testing and better guarantees --- test/unit/specs/services/theme_data/theme_data.spec.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'test') diff --git a/test/unit/specs/services/theme_data/theme_data.spec.js b/test/unit/specs/services/theme_data/theme_data.spec.js index 507905eb..d8a04ba7 100644 --- a/test/unit/specs/services/theme_data/theme_data.spec.js +++ b/test/unit/specs/services/theme_data/theme_data.spec.js @@ -72,8 +72,16 @@ describe('topoSort', () => { expect(out.indexOf('layer2A')).to.be.below(out.indexOf('layer3AB')) expect(out.indexOf('layer2B')).to.be.below(out.indexOf('layer3AB')) }) + + it('dependentless nodes should be first', () => { + const out = topoSort(fixture2, (node, inheritance) => inheritance[node]) + // This basically checks all ordering that matters + expect(out.indexOf('layerA')).to.eql(0) + expect(out.indexOf('layerB')).to.eql(1) + }) + it('ignores cyclic dependencies', () => { - const out = topoSort({ a: 'b', b: 'a', c: 'a' }, (node, inheritance) => inheritance[node]) + const out = topoSort({ a: 'b', b: 'a', c: 'a' }, (node, inheritance) => [inheritance[node]]) expect(out.indexOf('a')).to.be.below(out.indexOf('c')) }) }) -- cgit v1.2.3-70-g09d2