Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
Front-End
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abdullh.alsoleman
Front-End
Commits
7d1dfc7b
Commit
7d1dfc7b
authored
Oct 16, 2015
by
Hans Muller
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1651 from HansMuller/fix_scrollable_tabs
Fix scrollable tabs, add basic unit test
parents
a37fc682
09ac8de2
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
77 additions
and
1 deletion
+77
-1
tabs.dart
packages/flutter/lib/src/material/tabs.dart
+1
-1
tabs_test.dart
packages/unit/test/widget/tabs_test.dart
+76
-0
No files found.
packages/flutter/lib/src/material/tabs.dart
View file @
7d1dfc7b
...
...
@@ -335,7 +335,7 @@ class Tab extends StatelessComponent {
}
Container
centeredLabel
=
new
Container
(
child:
new
Center
(
child:
labelContent
),
child:
new
Center
(
child:
labelContent
,
shrinkWrap:
ShrinkWrap
.
both
),
constraints:
new
BoxConstraints
(
minWidth:
_kMinTabWidth
),
padding:
_kTabLabelPadding
);
...
...
packages/unit/test/widget/tabs_test.dart
0 → 100644
View file @
7d1dfc7b
import
'package:flutter/material.dart'
;
import
'package:flutter/widgets.dart'
;
import
'package:test/test.dart'
;
import
'widget_tester.dart'
;
int
selectedIndex
=
2
;
Widget
buildFrame
(
{
List
<
String
>
tabs
,
bool
isScrollable:
false
})
{
return
new
TabBar
(
labels:
tabs
.
map
((
String
tab
)
=>
new
TabLabel
(
text:
tab
)).
toList
(),
selectedIndex:
selectedIndex
,
isScrollable:
isScrollable
,
onChanged:
(
tabIndex
)
{
selectedIndex
=
tabIndex
;
}
);
}
void
main
(
)
{
test
(
'TabBar tap selects tab'
,
()
{
testWidgets
((
WidgetTester
tester
)
{
List
<
String
>
tabs
=
<
String
>[
'A'
,
'B'
,
'C'
];
selectedIndex
=
2
;
tester
.
pumpWidget
(
buildFrame
(
tabs:
tabs
,
isScrollable:
false
));
expect
(
tester
.
findText
(
'A'
),
isNotNull
);
expect
(
tester
.
findText
(
'B'
),
isNotNull
);
expect
(
tester
.
findText
(
'C'
),
isNotNull
);
expect
(
selectedIndex
,
equals
(
2
));
tester
.
pumpWidget
(
buildFrame
(
tabs:
tabs
,
isScrollable:
false
));
tester
.
tap
(
tester
.
findText
(
'B'
));
tester
.
pump
();
expect
(
selectedIndex
,
equals
(
1
));
tester
.
pumpWidget
(
buildFrame
(
tabs:
tabs
,
isScrollable:
false
));
tester
.
tap
(
tester
.
findText
(
'C'
));
tester
.
pump
();
expect
(
selectedIndex
,
equals
(
2
));
tester
.
pumpWidget
(
buildFrame
(
tabs:
tabs
,
isScrollable:
false
));
tester
.
tap
(
tester
.
findText
(
'A'
));
tester
.
pump
();
expect
(
selectedIndex
,
equals
(
0
));
});
});
test
(
'Scrollable TabBar tap selects tab'
,
()
{
testWidgets
((
WidgetTester
tester
)
{
List
<
String
>
tabs
=
<
String
>[
'A'
,
'B'
,
'C'
];
selectedIndex
=
2
;
tester
.
pumpWidget
(
buildFrame
(
tabs:
tabs
,
isScrollable:
true
));
expect
(
tester
.
findText
(
'A'
),
isNotNull
);
expect
(
tester
.
findText
(
'B'
),
isNotNull
);
expect
(
tester
.
findText
(
'C'
),
isNotNull
);
expect
(
selectedIndex
,
equals
(
2
));
tester
.
pumpWidget
(
buildFrame
(
tabs:
tabs
,
isScrollable:
true
));
tester
.
tap
(
tester
.
findText
(
'B'
));
tester
.
pump
();
expect
(
selectedIndex
,
equals
(
1
));
tester
.
pumpWidget
(
buildFrame
(
tabs:
tabs
,
isScrollable:
true
));
tester
.
tap
(
tester
.
findText
(
'C'
));
tester
.
pump
();
expect
(
selectedIndex
,
equals
(
2
));
tester
.
pumpWidget
(
buildFrame
(
tabs:
tabs
,
isScrollable:
true
));
tester
.
tap
(
tester
.
findText
(
'A'
));
tester
.
pump
();
expect
(
selectedIndex
,
equals
(
0
));
});
});
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment