1
0
Fork 0
This commit is contained in:
Enoch Riese 2022-08-24 13:36:19 -05:00
parent f0a46879b5
commit 4e78e8e996
3 changed files with 43 additions and 12 deletions

View file

@ -418,15 +418,15 @@ Part.prototype.setCutOnFold = function (p1, p2) {
Part.prototype.isEmpty = function() {
if (Object.keys(this.snippets).length > 0) return false
if (Object.keys(this.paths).length > 0) return false
if (Object.keys(this.paths).length > 0) {
for (var p in this.paths) {
if (paths[p].length()) return false
if (this.paths[p].render && this.paths[p].length()) return false
}
}
for (var p in this.points) {
if (points[p].attributes.get('data-text')) return false
if (points[p].attributes.get('data-circle')) return false
if (this.points[p].attributes.get('data-text')) return false
if (this.points[p].attributes.get('data-circle')) return false
}
return true

View file

@ -406,11 +406,27 @@ describe('isEmpty', () => {
expect(part.isEmpty()).to.be.true
})
it("Should return false if the part has a path", () => {
it("Should return true if the part has paths but they have no length", () => {
let pattern = new freesewing.Pattern();
let part = new pattern.Part();
const { Path, paths } = part.shorthand()
const { Path, paths, Point } = part.shorthand()
paths.seam = new Path()
expect(part.isEmpty()).to.be.true
})
it("Should return true if the part has paths but they don't render", () => {
let pattern = new freesewing.Pattern();
let part = new pattern.Part();
const { Path, paths, Point } = part.shorthand()
paths.seam = new Path().move(new Point(0,0)).line(new Point(2,3)).setRender(false)
expect(part.isEmpty()).to.be.true
})
it("Should return false if the part has a path with length", () => {
let pattern = new freesewing.Pattern();
let part = new pattern.Part();
const { Path, paths, Point } = part.shorthand()
paths.seam = new Path().move(new Point(0,0)).line(new Point(2,3))
expect(part.isEmpty()).to.be.false
})
@ -423,6 +439,24 @@ describe('isEmpty', () => {
expect(part.isEmpty()).to.be.false
})
it("Should return false if the part has a point that has text", () => {
let pattern = new freesewing.Pattern();
let part = new pattern.Part();
const {Point, points} = part.shorthand()
points.test = new Point(0,0)
points.test.attributes.set('data-text', 'text')
expect(part.isEmpty()).to.be.false
})
it("Should return false if the part has a point that has a circle", () => {
let pattern = new freesewing.Pattern();
let part = new pattern.Part();
const {Point, points} = part.shorthand()
points.test = new Point(0,0)
points.test.attributes.set('data-circle', 10)
expect(part.isEmpty()).to.be.false
})
})
})

View file

@ -55,8 +55,5 @@
},
"browserslist": [
"last 2 versions"
],
"engines": {
"node": "14.x"
}
]
}