Skip to content

Commit

Permalink
test: test added for circle and rect
Browse files Browse the repository at this point in the history
  • Loading branch information
imrishabh18 committed Oct 10, 2024
1 parent 5788fe1 commit 4af6a72
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 16 deletions.
9 changes: 2 additions & 7 deletions lib/components/primitive-components/SilkscreenCircle.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { silkscreenCircleProps } from "@tscircuit/props"
import { applyToPoint } from "transformation-matrix"
import { PrimitiveComponent } from "../base-components/PrimitiveComponent"

export class SilkscreenCircle extends PrimitiveComponent<
Expand All @@ -25,17 +24,13 @@ export class SilkscreenCircle extends PrimitiveComponent<
}

const transform = this._computePcbGlobalTransformBeforeLayout()
const transformedCenter = applyToPoint(transform, {
x: props.pcbX ?? 0,
y: props.pcbY ?? 0,
})

const pcb_silkscreen_circle = db.pcb_silkscreen_circle.insert({
pcb_component_id: this.parent?.pcb_component_id!,
layer,
center: {
x: transformedCenter.x,
y: transformedCenter.y,
x: props.pcbX ?? 0,
y: props.pcbY ?? 0,
},
radius: props.radius,
})
Expand Down
11 changes: 2 additions & 9 deletions lib/components/primitive-components/SilkscreenRect.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { silkscreenRectProps } from "@tscircuit/props"
import { applyToPoint } from "transformation-matrix"
import { PrimitiveComponent } from "../base-components/PrimitiveComponent"

export class SilkscreenRect extends PrimitiveComponent<
Expand All @@ -25,18 +24,12 @@ export class SilkscreenRect extends PrimitiveComponent<
)
}

const transform = this._computePcbGlobalTransformBeforeLayout()
const transformedCenter = applyToPoint(transform, {
x: props.pcbX ?? 0,
y: props.pcbY ?? 0,
})

const pcb_silkscreen_rect = db.pcb_silkscreen_rect.insert({
pcb_component_id: this.parent?.pcb_component_id!,
layer,
center: {
x: transformedCenter.x,
y: transformedCenter.y,
x: props.pcbX ?? 0,
y: props.pcbY ?? 0,
},
width: props.width,
height: props.height,
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
29 changes: 29 additions & 0 deletions tests/components/primitive-components/silkscreen-rect.test.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import { expect, test } from "bun:test";
import { getTestFixture } from "tests/fixtures/get-test-fixture";

test("SilkscreenRect rendering", () => {
const { project } = getTestFixture();
project.add(
<board width="10mm" height="10mm">
<silkscreenrect
pcbX={2}
pcbY={3}
width={"2mm"}
height={"1.5mm"}
layer="bottom"
/>
</board>
);
project.render();

const silkscreenRects = project.db.pcb_silkscreen_rect.list();

expect(silkscreenRects.length).toBe(1);
expect(silkscreenRects[0].center.x).toBe(2);
expect(silkscreenRects[0].center.y).toBe(3);
expect(silkscreenRects[0].width).toBe(2);
expect(silkscreenRects[0].height).toBe(1.5);
expect(silkscreenRects[0].layer).toBe("bottom");

expect(project).toMatchPcbSnapshot(import.meta.path);
});

0 comments on commit 4af6a72

Please sign in to comment.