// Copyright 2016 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; Widget buildFrame({ Locale locale, WidgetBuilder buildContent, }) { return new MaterialApp( color: const Color(0xFFFFFFFF), locale: locale, onGenerateRoute: (RouteSettings settings) { return new MaterialPageRoute( builder: (BuildContext context) { return buildContent(context); } ); }, ); } void main() { final Key textKey = new UniqueKey(); testWidgets('sanity check', (WidgetTester tester) async { await tester.pumpWidget( buildFrame( buildContent: (BuildContext context) { return new Text( MaterialLocalizations.of(context).backButtonTooltip, key: textKey, ); } ) ); expect(tester.widget(find.byKey(textKey)).data, 'Back'); // Spanish Bolivia locale, falls back to just 'es' await tester.binding.setLocale('es', 'bo'); await tester.pump(); expect(tester.widget(find.byKey(textKey)).data, 'Espalda'); // Unrecognized locale falls back to 'en' await tester.binding.setLocale('foo', 'bar'); await tester.pump(); expect(tester.widget(find.byKey(textKey)).data, 'Back'); }); }