diff --git a/CHANGELOG.md b/CHANGELOG.md index 67c59995f88..f5c65c5e80e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ ## Unreleased +### utils + +#### Changed + + - neckstimate() now returns values rounded to nearest mm + ## 2.4.4 (2020-03-15) diff --git a/config/changelog.yaml b/config/changelog.yaml index 9b4e022d679..d4c232d6760 100644 --- a/config/changelog.yaml +++ b/config/changelog.yaml @@ -2,6 +2,8 @@ Unreleased: date: Added: Changed: + utils: + - neckstimate() now returns values rounded to nearest mm Deprecated: Fixed: Removed: diff --git a/config/templates/tests/patterns/config.test.js.template b/config/templates/tests/patterns/shared.test.js.template similarity index 53% rename from config/templates/tests/patterns/config.test.js.template rename to config/templates/tests/patterns/shared.test.js.template index 010ca11a5ed..dae0e9c87e0 100644 --- a/config/templates/tests/patterns/config.test.js.template +++ b/config/templates/tests/patterns/shared.test.js.template @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const {{ Pattern }} = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + '{{ pattern }}', + {{ Pattern }}, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + '{{ pattern }}', + {{ Pattern }}, + expect, + models, + patterns +) diff --git a/packages/aaron/tests/config.test.js b/packages/aaron/tests/shared.test.js similarity index 54% rename from packages/aaron/tests/config.test.js rename to packages/aaron/tests/shared.test.js index 0fe0a5d15f5..eacc9950323 100644 --- a/packages/aaron/tests/config.test.js +++ b/packages/aaron/tests/shared.test.js @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const Aaron = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + 'aaron', + Aaron, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + 'aaron', + Aaron, + expect, + models, + patterns +) diff --git a/packages/benjamin/tests/config.test.js b/packages/benjamin/tests/shared.test.js similarity index 53% rename from packages/benjamin/tests/config.test.js rename to packages/benjamin/tests/shared.test.js index 41a2ba8a46b..e0650e6e6ac 100644 --- a/packages/benjamin/tests/config.test.js +++ b/packages/benjamin/tests/shared.test.js @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const Benjamin = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + 'benjamin', + Benjamin, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + 'benjamin', + Benjamin, + expect, + models, + patterns +) diff --git a/packages/bent/tests/config.test.js b/packages/bent/tests/shared.test.js similarity index 54% rename from packages/bent/tests/config.test.js rename to packages/bent/tests/shared.test.js index 5234d8cddf9..82fd40f5bfc 100644 --- a/packages/bent/tests/config.test.js +++ b/packages/bent/tests/shared.test.js @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const Bent = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + 'bent', + Bent, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + 'bent', + Bent, + expect, + models, + patterns +) diff --git a/packages/breanna/tests/config.test.js b/packages/breanna/tests/shared.test.js similarity index 53% rename from packages/breanna/tests/config.test.js rename to packages/breanna/tests/shared.test.js index e463a26bf6d..e34925e4b3e 100644 --- a/packages/breanna/tests/config.test.js +++ b/packages/breanna/tests/shared.test.js @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const Breanna = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + 'breanna', + Breanna, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + 'breanna', + Breanna, + expect, + models, + patterns +) diff --git a/packages/brian/tests/config.test.js b/packages/brian/tests/shared.test.js similarity index 54% rename from packages/brian/tests/config.test.js rename to packages/brian/tests/shared.test.js index f89f324e742..cddd531fbdf 100644 --- a/packages/brian/tests/config.test.js +++ b/packages/brian/tests/shared.test.js @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const Brian = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + 'brian', + Brian, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + 'brian', + Brian, + expect, + models, + patterns +) diff --git a/packages/bruce/tests/config.test.js b/packages/bruce/tests/shared.test.js similarity index 54% rename from packages/bruce/tests/config.test.js rename to packages/bruce/tests/shared.test.js index e7793a68a8d..2010d580fe5 100644 --- a/packages/bruce/tests/config.test.js +++ b/packages/bruce/tests/shared.test.js @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const Bruce = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + 'bruce', + Bruce, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + 'bruce', + Bruce, + expect, + models, + patterns +) diff --git a/packages/carlita/tests/config.test.js b/packages/carlita/tests/shared.test.js similarity index 53% rename from packages/carlita/tests/config.test.js rename to packages/carlita/tests/shared.test.js index 7c0e095b247..6069b0163a9 100644 --- a/packages/carlita/tests/config.test.js +++ b/packages/carlita/tests/shared.test.js @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const Carlita = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + 'carlita', + Carlita, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + 'carlita', + Carlita, + expect, + models, + patterns +) diff --git a/packages/carlton/tests/config.test.js b/packages/carlton/tests/shared.test.js similarity index 53% rename from packages/carlton/tests/config.test.js rename to packages/carlton/tests/shared.test.js index 42997fc4338..a985a35c6fb 100644 --- a/packages/carlton/tests/config.test.js +++ b/packages/carlton/tests/shared.test.js @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const Carlton = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + 'carlton', + Carlton, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + 'carlton', + Carlton, + expect, + models, + patterns +) diff --git a/packages/cathrin/tests/config.test.js b/packages/cathrin/tests/shared.test.js similarity index 53% rename from packages/cathrin/tests/config.test.js rename to packages/cathrin/tests/shared.test.js index ac819e5aed9..1fdc0349f83 100644 --- a/packages/cathrin/tests/config.test.js +++ b/packages/cathrin/tests/shared.test.js @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const Cathrin = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + 'cathrin', + Cathrin, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + 'cathrin', + Cathrin, + expect, + models, + patterns +) diff --git a/packages/core/src/svg.js b/packages/core/src/svg.js index 34688188eed..09164e87f82 100644 --- a/packages/core/src/svg.js +++ b/packages/core/src/svg.js @@ -182,7 +182,7 @@ Svg.prototype.renderPathText = function(path) { let svg = this.nl() + '' this.indent() svg += `${ - this.escapteText(this.text) + this.escapeText(this.text) }` this.outdent() svg += this.nl() + '' diff --git a/packages/examples/tests/config.test.js b/packages/examples/tests/shared.test.js similarity index 53% rename from packages/examples/tests/config.test.js rename to packages/examples/tests/shared.test.js index dbfc6d00220..c746268f860 100644 --- a/packages/examples/tests/config.test.js +++ b/packages/examples/tests/shared.test.js @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const Examples = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + 'examples', + Examples, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + 'examples', + Examples, + expect, + models, + patterns +) diff --git a/packages/florent/tests/config.test.js b/packages/florent/tests/shared.test.js similarity index 53% rename from packages/florent/tests/config.test.js rename to packages/florent/tests/shared.test.js index b05667d7ebb..08ff3a8dee5 100644 --- a/packages/florent/tests/config.test.js +++ b/packages/florent/tests/shared.test.js @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const Florent = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + 'florent', + Florent, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + 'florent', + Florent, + expect, + models, + patterns +) diff --git a/packages/fu/tests/config.test.js b/packages/fu/tests/shared.test.js similarity index 54% rename from packages/fu/tests/config.test.js rename to packages/fu/tests/shared.test.js index b343a0f1cf9..7ca56cc1de4 100644 --- a/packages/fu/tests/config.test.js +++ b/packages/fu/tests/shared.test.js @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const Fu = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + 'fu', + Fu, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + 'fu', + Fu, + expect, + models, + patterns +) diff --git a/packages/holmes/tests/config.test.js b/packages/holmes/tests/shared.test.js similarity index 54% rename from packages/holmes/tests/config.test.js rename to packages/holmes/tests/shared.test.js index 3270171d78f..2bf15d44317 100644 --- a/packages/holmes/tests/config.test.js +++ b/packages/holmes/tests/shared.test.js @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const Holmes = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + 'holmes', + Holmes, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + 'holmes', + Holmes, + expect, + models, + patterns +) diff --git a/packages/huey/tests/config.test.js b/packages/huey/tests/shared.test.js similarity index 54% rename from packages/huey/tests/config.test.js rename to packages/huey/tests/shared.test.js index 4cd6a9cfae7..3719d516773 100644 --- a/packages/huey/tests/config.test.js +++ b/packages/huey/tests/shared.test.js @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const Huey = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + 'huey', + Huey, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + 'huey', + Huey, + expect, + models, + patterns +) diff --git a/packages/hugo/tests/config.test.js b/packages/hugo/tests/shared.test.js similarity index 54% rename from packages/hugo/tests/config.test.js rename to packages/hugo/tests/shared.test.js index d24360a4bfe..cb8fcd867df 100644 --- a/packages/hugo/tests/config.test.js +++ b/packages/hugo/tests/shared.test.js @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const Hugo = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + 'hugo', + Hugo, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + 'hugo', + Hugo, + expect, + models, + patterns +) diff --git a/packages/jaeger/tests/config.test.js b/packages/jaeger/tests/shared.test.js similarity index 54% rename from packages/jaeger/tests/config.test.js rename to packages/jaeger/tests/shared.test.js index c6416b98a5b..8d014ca8f17 100644 --- a/packages/jaeger/tests/config.test.js +++ b/packages/jaeger/tests/shared.test.js @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const Jaeger = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + 'jaeger', + Jaeger, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + 'jaeger', + Jaeger, + expect, + models, + patterns +) diff --git a/packages/penelope/tests/config.test.js b/packages/penelope/tests/shared.test.js similarity index 53% rename from packages/penelope/tests/config.test.js rename to packages/penelope/tests/shared.test.js index ce87848fa9b..95c4b7ba7ec 100644 --- a/packages/penelope/tests/config.test.js +++ b/packages/penelope/tests/shared.test.js @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const Penelope = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + 'penelope', + Penelope, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + 'penelope', + Penelope, + expect, + models, + patterns +) diff --git a/packages/rendertest/tests/config.test.js b/packages/rendertest/tests/shared.test.js similarity index 53% rename from packages/rendertest/tests/config.test.js rename to packages/rendertest/tests/shared.test.js index e0c47733186..2e25e3110cf 100644 --- a/packages/rendertest/tests/config.test.js +++ b/packages/rendertest/tests/shared.test.js @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const Rendertest = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + 'rendertest', + Rendertest, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + 'rendertest', + Rendertest, + expect, + models, + patterns +) diff --git a/packages/sandy/tests/config.test.js b/packages/sandy/tests/shared.test.js similarity index 54% rename from packages/sandy/tests/config.test.js rename to packages/sandy/tests/shared.test.js index 95873244a93..7fbbd86eb9b 100644 --- a/packages/sandy/tests/config.test.js +++ b/packages/sandy/tests/shared.test.js @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const Sandy = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + 'sandy', + Sandy, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + 'sandy', + Sandy, + expect, + models, + patterns +) diff --git a/packages/shin/tests/config.test.js b/packages/shin/tests/shared.test.js similarity index 54% rename from packages/shin/tests/config.test.js rename to packages/shin/tests/shared.test.js index 333e07611f2..8c17991cfd1 100644 --- a/packages/shin/tests/config.test.js +++ b/packages/shin/tests/shared.test.js @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const Shin = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + 'shin', + Shin, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + 'shin', + Shin, + expect, + models, + patterns +) diff --git a/packages/simon/tests/config.test.js b/packages/simon/tests/shared.test.js similarity index 54% rename from packages/simon/tests/config.test.js rename to packages/simon/tests/shared.test.js index 106c255ffaa..54d13326a22 100644 --- a/packages/simon/tests/config.test.js +++ b/packages/simon/tests/shared.test.js @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const Simon = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + 'simon', + Simon, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + 'simon', + Simon, + expect, + models, + patterns +) diff --git a/packages/simone/tests/config.test.js b/packages/simone/tests/shared.test.js similarity index 54% rename from packages/simone/tests/config.test.js rename to packages/simone/tests/shared.test.js index a5078092d96..19f1ec6a301 100644 --- a/packages/simone/tests/config.test.js +++ b/packages/simone/tests/shared.test.js @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const Simone = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + 'simone', + Simone, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + 'simone', + Simone, + expect, + models, + patterns +) diff --git a/packages/sven/tests/config.test.js b/packages/sven/tests/shared.test.js similarity index 54% rename from packages/sven/tests/config.test.js rename to packages/sven/tests/shared.test.js index f2c59b26dee..fb60dfe91bb 100644 --- a/packages/sven/tests/config.test.js +++ b/packages/sven/tests/shared.test.js @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const Sven = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + 'sven', + Sven, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + 'sven', + Sven, + expect, + models, + patterns +) diff --git a/packages/tamiko/tests/config.test.js b/packages/tamiko/tests/shared.test.js similarity index 54% rename from packages/tamiko/tests/config.test.js rename to packages/tamiko/tests/shared.test.js index e8baaf70213..9db1108d2d5 100644 --- a/packages/tamiko/tests/config.test.js +++ b/packages/tamiko/tests/shared.test.js @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const Tamiko = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + 'tamiko', + Tamiko, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + 'tamiko', + Tamiko, + expect, + models, + patterns +) diff --git a/packages/theo/tests/config.test.js b/packages/theo/tests/shared.test.js similarity index 54% rename from packages/theo/tests/config.test.js rename to packages/theo/tests/shared.test.js index 05e726883c7..5222abc4868 100644 --- a/packages/theo/tests/config.test.js +++ b/packages/theo/tests/shared.test.js @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const Theo = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + 'theo', + Theo, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + 'theo', + Theo, + expect, + models, + patterns +) diff --git a/packages/trayvon/tests/config.test.js b/packages/trayvon/tests/shared.test.js similarity index 53% rename from packages/trayvon/tests/config.test.js rename to packages/trayvon/tests/shared.test.js index 66539d88939..172669b8a34 100644 --- a/packages/trayvon/tests/config.test.js +++ b/packages/trayvon/tests/shared.test.js @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const Trayvon = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + 'trayvon', + Trayvon, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + 'trayvon', + Trayvon, + expect, + models, + patterns +) diff --git a/packages/tutorial/tests/config.test.js b/packages/tutorial/tests/shared.test.js similarity index 53% rename from packages/tutorial/tests/config.test.js rename to packages/tutorial/tests/shared.test.js index 89910434cfb..ec913df2776 100644 --- a/packages/tutorial/tests/config.test.js +++ b/packages/tutorial/tests/shared.test.js @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const Tutorial = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + 'tutorial', + Tutorial, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + 'tutorial', + Tutorial, + expect, + models, + patterns +) diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md index c454b01a1a7..ed0396a2f09 100644 --- a/packages/utils/CHANGELOG.md +++ b/packages/utils/CHANGELOG.md @@ -3,9 +3,9 @@ ## Unreleased -**Note:** Version bump only for package utils - +### Changed + - neckstimate() now returns values rounded to nearest mm ## 2.4.4 (2020-03-15) **Note:** Version bump only for package utils diff --git a/packages/utils/src/neckstimate/index.js b/packages/utils/src/neckstimate/index.js index ebd9a3b7ef6..d02371714f8 100644 --- a/packages/utils/src/neckstimate/index.js +++ b/packages/utils/src/neckstimate/index.js @@ -31,7 +31,7 @@ const neckstimate = (neckCircumference = false, measurement = false, breasts = f // This is what should happen let delta = (neckCircumference / data.neckCircumference) * data[measurement] - data[measurement] - return data[measurement] + delta * ratio[measurement] + return Math.round(data[measurement] + delta * ratio[measurement]) } export default neckstimate diff --git a/packages/wahid/tests/config.test.js b/packages/wahid/tests/shared.test.js similarity index 54% rename from packages/wahid/tests/config.test.js rename to packages/wahid/tests/shared.test.js index c349434b722..4331c0dd990 100644 --- a/packages/wahid/tests/config.test.js +++ b/packages/wahid/tests/shared.test.js @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const Wahid = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + 'wahid', + Wahid, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + 'wahid', + Wahid, + expect, + models, + patterns +) diff --git a/packages/waralee/tests/config.test.js b/packages/waralee/tests/shared.test.js similarity index 53% rename from packages/waralee/tests/config.test.js rename to packages/waralee/tests/shared.test.js index 0eeb1bd675d..16ad3d57659 100644 --- a/packages/waralee/tests/config.test.js +++ b/packages/waralee/tests/shared.test.js @@ -5,7 +5,11 @@ const models = require("@freesewing/models") const patterns = require("@freesewing/pattern-info") const Waralee = require('../dist') + +// Shared tests const testPatternConfig = require('../../../tests/patterns/config') +const testPatternDrafting = require('../../../tests/patterns/drafting') +const testPatternSampling = require('../../../tests/patterns/sampling') // Test config testPatternConfig( @@ -15,3 +19,21 @@ testPatternConfig( models, patterns ) + +// Test drafting +testPatternDrafting( + 'waralee', + Waralee, + expect, + models, + patterns +) + +// Test sampling +testPatternSampling( + 'waralee', + Waralee, + expect, + models, + patterns +) diff --git a/scripts/reconfigure.js b/scripts/reconfigure.js index 1b9cd2359af..b51089192a8 100644 --- a/scripts/reconfigure.js +++ b/scripts/reconfigure.js @@ -482,7 +482,7 @@ function configurePatternUnitTests(pkg, config) { peerdeps: Object.keys(peerDependencies(pkg, config, 'pattern')).join(' ') }; - for (let file of ["config.test.js"]) { + for (let file of ["shared.test.js"]) { fs.writeFileSync( path.join(dest, file), Mustache.render( diff --git a/scripts/taskrunner.sh b/scripts/taskrunner.sh index 29fe5321b15..9df7bd252a7 100755 --- a/scripts/taskrunner.sh +++ b/scripts/taskrunner.sh @@ -11,7 +11,7 @@ for d in ../packages/*/ ; do { cd $d # do something here pwd - npm run build + rm -rf report cd .. } done diff --git a/tests/patterns/drafting.js b/tests/patterns/drafting.js new file mode 100644 index 00000000000..0f2c244f3f6 --- /dev/null +++ b/tests/patterns/drafting.js @@ -0,0 +1,63 @@ +/* + * This runs unit tests for pattern drafting + * It expects the following: + * + * @param string me: Name of the pattern (eg 'aaron') + * @param object Pattern: pattern constructor + * + * @param object expect: Imported chai.expect + * @param object models: Imported @freesewing/models + * @param object patterns: Imported @freesewing/pattern-info + */ +const testPatternDrafting = (design, Pattern, expect, models, patterns) => { + + // Helper method to try/catch pattern drafting + const doesItDraft = pattern => { + try { + pattern.draft() + return true + } + catch (err) { + return false + } + } + + // Figure out whether this is a with(out)breasts pattern + const breasts = (patterns.withBreasts.indexOf(design) === -1) ? false : true + + const ourModels = models + [breasts ? 'withBreasts' : 'withoutBreasts'] + const measurements = ourModels + [breasts ? 'size34' : 'size42'] + + /* + * Draft pattern for different models + */ + it('Draft for different models:' , () => true) + + for (let size in ourModels) { + it(` - Drafting for ${size} (${breasts ? 'with':'no'} breasts)`, () => { + expect(doesItDraft(new Pattern({ + measurements: ourModels[size], + }))).to.equal(true) + }) + } + + /* + * Draft parts individually + */ + it('Draft parts individually:' , () => true) + + for (let name of patterns.parts[design]) { + it(` - ${name} should draft on its own`, () => { + expect(doesItDraft(new Pattern({ + measurements, + settings: { + only: [name] + } + }))).to.equal(true) + }) + } +} + +module.exports = testPatternDrafting diff --git a/tests/patterns/sampling.js b/tests/patterns/sampling.js new file mode 100644 index 00000000000..de96835603e --- /dev/null +++ b/tests/patterns/sampling.js @@ -0,0 +1,81 @@ +/* + * This runs unit tests for pattern sampling + * It expects the following: + * + * @param string me: Name of the pattern (eg 'aaron') + * @param object Pattern: pattern constructor + * + * @param object expect: Imported chai.expect + * @param object models: Imported @freesewing/models + * @param object patterns: Imported @freesewing/pattern-info + */ +const testPatternSampling = (design, Pattern, expect, models, patterns) => { + + // Helper method to try/catch pattern sampling + const doesItSample = pattern => { + try { + pattern.sample() + return true + } + catch (err) { + console.log(err) + return false + } + } + + // Figure out whether this is a with(out)breasts pattern + const breasts = (patterns.withBreasts.indexOf(design) === -1) ? false : true + + const ourModels = models + [breasts ? 'withBreasts' : 'withoutBreasts'] + const measurements = ourModels + [breasts ? 'size34' : 'size42'] + + /* + * Sample different measurements + */ + it('Sample different measurements:' , () => true) + for (let measurement of Pattern.config.measurements) { + it(` Sample ${measurement}:` , () => { + expect(doesItSample(new Pattern({ + sample: { + type: 'measurement', + measurement + }, + measurements + }))).to.equal(true) + }) + } + + /* + * Sample different options + */ + it('Sample different options:' , () => true) + for (let option in Pattern.config.options) { + it(` Sample ${option}:` , () => { + expect(doesItSample(new Pattern({ + sample: { + type: 'option', + option + }, + measurements + }))).to.equal(true) + }) + } + + /* + * Sample pattern for different models + */ + it('Sample pattern for different models:' , () => { + expect(doesItSample(new Pattern({ + sample: { + type: 'models', + models: ourModels, + }, + measurements + }))).to.equal(true) + }) + +} + +module.exports = testPatternSampling