summaryrefslogtreecommitdiffstats
path: root/devtools/client/debugger/src/reducers/tests/breakpoints.spec.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/debugger/src/reducers/tests/breakpoints.spec.js')
-rw-r--r--devtools/client/debugger/src/reducers/tests/breakpoints.spec.js74
1 files changed, 74 insertions, 0 deletions
diff --git a/devtools/client/debugger/src/reducers/tests/breakpoints.spec.js b/devtools/client/debugger/src/reducers/tests/breakpoints.spec.js
new file mode 100644
index 0000000000..aa7f71d7a5
--- /dev/null
+++ b/devtools/client/debugger/src/reducers/tests/breakpoints.spec.js
@@ -0,0 +1,74 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
+
+import { initialBreakpointsState } from "../breakpoints";
+import { getBreakpointsForSource } from "../../selectors/breakpoints";
+
+import { makeMockBreakpoint, makeMockSource } from "../../utils/test-mockup";
+
+function initializeStateWith(data) {
+ const state = initialBreakpointsState();
+ state.breakpoints = data;
+ return state;
+}
+
+describe("Breakpoints Selectors", () => {
+ it("it gets a breakpoint for an original source", () => {
+ const sourceId = "server1.conn1.child1/source1/originalSource";
+ const matchingBreakpoints = {
+ id1: makeMockBreakpoint(makeMockSource(undefined, sourceId), 1),
+ };
+
+ const otherBreakpoints = {
+ id2: makeMockBreakpoint(makeMockSource(undefined, "not-this-source"), 1),
+ };
+
+ const data = {
+ ...matchingBreakpoints,
+ ...otherBreakpoints,
+ };
+
+ const breakpoints = initializeStateWith(data);
+ const allBreakpoints = Object.values(matchingBreakpoints);
+ const sourceBreakpoints = getBreakpointsForSource(
+ { breakpoints },
+ sourceId
+ );
+
+ expect(sourceBreakpoints).toEqual(allBreakpoints);
+ expect(sourceBreakpoints[0] === allBreakpoints[0]).toBe(true);
+ });
+
+ it("it gets a breakpoint for a generated source", () => {
+ const generatedSourceId = "random-source";
+ const matchingBreakpoints = {
+ id1: {
+ ...makeMockBreakpoint(makeMockSource(undefined, generatedSourceId), 1),
+ location: { line: 1, source: { id: "original-source-id-1" } },
+ },
+ };
+
+ const otherBreakpoints = {
+ id2: {
+ ...makeMockBreakpoint(makeMockSource(undefined, "not-this-source"), 1),
+ location: { line: 1, source: { id: "original-source-id-2" } },
+ },
+ };
+
+ const data = {
+ ...matchingBreakpoints,
+ ...otherBreakpoints,
+ };
+
+ const breakpoints = initializeStateWith(data);
+
+ const allBreakpoints = Object.values(matchingBreakpoints);
+ const sourceBreakpoints = getBreakpointsForSource(
+ { breakpoints },
+ generatedSourceId
+ );
+
+ expect(sourceBreakpoints).toEqual(allBreakpoints);
+ });
+});