Import As Test

This page demonstrates an issuewhere QDoc fails to generate proper links when QML types are accessed through module aliases.

Problem Description

When a QML module is imported with an alias:

import TestModule as TM

TM.BaseType {
    title: "Example"
}

QDoc should be able to:

Comparison with Non-Aliased Qualified Types

For comparison, here's how non-aliased qualified types work:

import TestModule

TestModule.BaseType {
    title: "Direct import"
}

Mixed Module Import Patterns

QDoc should handle different import and qualification patterns:

import QtQuick.Controls
import QtQml.Models as Models

Item {
    // Standard module qualified types
    property ListModel modelData: Models.ListModel {}

    // Nested property access patterns
    Layout.preferredSize: Qt.size(100, 50)

    // Standard QML qualified types for comparison
    anchors.fill: parent
}

Multi-Segment Qualified Names

More complex qualified names with multiple segments:

import TestModule.SubModule.Deep as X

DeepNestedType {
    // Four-segment qualified type name: X.Level1.Level2.Leaf
    nested: X.Level1.Level2.Leaf {
        value: 42
    }

    // Multi-segment property access
    Layout.preferredWidth: 100
    anchors.margins.left: 10
}

This tests QDoc's ability to handle qualified names with 3+ segments like X.Level1.Level2.Leaf where each segment should be properly spanned and linked as a complete type reference.

Test Cases

This test covers multiple scenarios for QDoc's qualified name handling:

Expected Behavior

QDoc should also support manual linking to QML qualified names:

}