UNPKG

@foxglove/ros1

Version:

Standalone TypeScript implementation of the ROS 1 (Robot Operating System) protocol with a pluggable transport layer

108 lines 3.67 kB
"use strict"; /* eslint-disable @typescript-eslint/no-misused-promises */ /* eslint-disable jest/no-done-callback */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const http_1 = __importDefault(require("http")); const RosMasterClient_1 = require("./RosMasterClient"); describe("RosMasterClient", () => { it("getPublishedTopics", (done) => { const server = http_1.default .createServer((_, res) => { res.writeHead(200, { "Content-Type": "text/xml" }); const data = `<?xml version="1.0" encoding="UTF-8"?> <methodResponse> <params> <param> <value> <array> <data> <value> <int>1</int> </value> <value> <string>current topics</string> </value> <value> <array> <data> <value> <array> <data> <value> <string>/rosout</string> </value> <value> <string>rosgraph_msgs/Log</string> </value> </data> </array> </value> <value> <array> <data> <value> <string>/turtle1/pose</string> </value> <value> <string>turtlesim/Pose</string> </value> </data> </array> </value> <value> <array> <data> <value> <string>/turtle1/color_sensor</string> </value> <value> <string>turtlesim/Color</string> </value> </data> </array> </value> <value> <array> <data> <value> <string>/rosout_agg</string> </value> <value> <string>rosgraph_msgs/Log</string> </value> </data> </array> </value> </data> </array> </value> </data> </array> </value> </param> </params> </methodResponse>`; res.write(data); res.end(); }) .listen(undefined, "localhost", async () => { const port = server.address().port; const client = new RosMasterClient_1.RosMasterClient(`http://localhost:${port}/`); const [status, msg, topics] = await client.getPublishedTopics("/test"); expect(status).toEqual(1); expect(msg).toEqual("current topics"); expect(topics).toEqual([ ["/rosout", "rosgraph_msgs/Log"], ["/turtle1/pose", "turtlesim/Pose"], ["/turtle1/color_sensor", "turtlesim/Color"], ["/rosout_agg", "rosgraph_msgs/Log"], ]); server.close(); done(); }); }); }); //# sourceMappingURL=RosMasterClient.test.js.map