Skip to content

test(tree): Add more tests for cdk-tree #8967

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Dec 15, 2017

Conversation

tinayuangao
Copy link
Contributor

No description provided.

@googlebot googlebot added the cla: yes PR author has agreed to Google's Contributor License Agreement label Dec 12, 2017
Copy link
Member

@jelbourn jelbourn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One quick comment before I head for the bus

CdkTreeAppWithTrigger,
NestedCdkTreeAppWithTrigger,
WhenNodeCdkTreeApp,
WhenNodeNestedCdkTreeApp,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you break up these into separate describe blocks (similar to the mat-select tests)? Organized this way, Angular will compile each test component for every it, which pretty dramatically slows down the tests (this is why IE11 has been timing out recently). This will also resolve the ComponentFixture being any

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done. Please take a look. Thanks!

treeControl: TreeControl<TestData> = new FlatTreeControl(this.getLevel, this.isExpandable);

dataSource: FakeDataSource | null = new FakeDataSource(this.treeControl);

@ViewChild(CdkTree) tree: CdkTree<TestData>;
}

function getNodes(treeElement: Element): Element[] {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you move these helper functions above the test components?

@ViewChild(CdkTree) tree: CdkTree<TestData>;
}

function getNodes(treeElement: Element): Element[] {
return [].slice.call(treeElement.querySelectorAll('.cdk-tree-node'))!;
}

// TODO(tinayuangao): Add expectedNestedTreeToMatchContent
function expectFlatTreeToMatchContent(treeElement: Element, expectedTreeContent: any[],
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would just call these expectFlatTreeToMatch and expectNestedTreeToMatch

@@ -200,3 +720,34 @@ function expectFlatTreeToMatchContent(treeElement: Element, expectedTreeContent:
fail(missedExpectations.join('\n'));
}
}

function expectNestedTreeToMatchContent(treeElement: Element, expectedTreeContent: any[],
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As discussed offline: let's try doing something like

/** Represents an indent for expectNestedTreeToMatch */
const _ = {};

expectNestedTreeToMatch(
  ['Root'],
  [_, 'Under'],
  [_, _, 'More under'],
);

@tinayuangao tinayuangao force-pushed the tree-test branch 2 times, most recently from aae0165 to 4c67df7 Compare December 14, 2017 02:40
@tinayuangao
Copy link
Contributor Author

@jelbourn Comments addressed. Please take a look. Thanks!

Copy link
Member

@jelbourn jelbourn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jelbourn jelbourn added pr: lgtm action: merge The PR is ready for merge by the caretaker labels Dec 15, 2017
@tinayuangao tinayuangao merged commit 5306935 into angular:tree Dec 15, 2017
@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Sep 7, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
action: merge The PR is ready for merge by the caretaker cla: yes PR author has agreed to Google's Contributor License Agreement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants