Web app that splits a URL graphically
For the most part, this looks good. However, there are a few things I'd recommend changing. 


Don't use module. namespace should be used instead. From the Typescript Handbook:


  A note about terminology: It’s important to note that in TypeScript 1.5, the nomenclature has changed. “Internal modules” are now “namespaces”. “External modules” are now simply “modules”, as to align with ECMAScript 2015’s terminology, (namely that module X { is equivalent to the now-preferred namespace X {).

You do not properly escape special characters. If a double quote appears anywhere in the URL, the form will break. Try the url https://example.com/?a=" &gt;Broke to see an example.
Related to the above, building HTML with strings is an incredibly error prone process. If at all possible, avoid it. It is a better idea to use the &lt;template&gt; tag.
You don't need omnibox browsers have a built in URL api which covers everything that omnibox does and more. If you need to support IE, you can use the url-polyfill package - and gain the advantage that newer browsers don't need to load it.
Consider using Object.entries instead of Object.keys as it can slightly simplify some of your code. 

const querystrings = Object.entries(o.query)
    .map(([key, value]) =&gt; `${key}=${value}`)
    .join('&amp;')



For your specific questions:


A module namespace is a reasonable choice for the app. I personally never use them, preferring to use ES Modules. A larger concern is that you export the module to the global scope unnecessarily. Instead of using onclick="parse()" in your HTML, it would be better to add the event handler in your index.ts file and have this module in it's own file.
I don't believe you even need the map function, it wouldn't be that big of a deal to check for pathname instead of pathnames in the switch statement and split the string there. If you do keep the map function, it should be renamed to something more descriptive. When I saw map I expected it to be roughly equivalent to Array.prototype.map. 
For tests, it depends on who you ask. Since you aren't parsing the URL yourself (good!) there isn't really too much that can go wrong here. I'd probably only write a few integration tests for this app as a whole.