Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(186)

Side by Side Diff: lib/src/utils.dart

Issue 1145373006: Remove a conflicting definition of runningAsTest. (Closed) Base URL: git@github.com:dart-lang/pub_test@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « lib/src/io.dart ('k') | test/ascii_tree_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 /// Generic utility functions. Stuff that should possibly be in core. 5 /// Generic utility functions. Stuff that should possibly be in core.
6 library pub.utils; 6 library pub.utils;
7 7
8 import 'dart:async'; 8 import 'dart:async';
9 import "dart:convert"; 9 import "dart:convert";
10 import 'dart:io'; 10 import 'dart:io';
(...skipping 767 matching lines...) Expand 10 before | Expand all | Expand 10 after
778 } 778 }
779 return map; 779 return map;
780 }); 780 });
781 } 781 }
782 782
783 /// Whether "special" strings such as Unicode characters or color escapes are 783 /// Whether "special" strings such as Unicode characters or color escapes are
784 /// safe to use. 784 /// safe to use.
785 /// 785 ///
786 /// On Windows or when not printing to a terminal, only printable ASCII 786 /// On Windows or when not printing to a terminal, only printable ASCII
787 /// characters should be used. 787 /// characters should be used.
788 bool get canUseSpecialChars => !runningAsTest && 788 bool get canUseSpecialChars => !runningFromTest && !runningAsTest &&
789 Platform.operatingSystem != 'windows' && 789 Platform.operatingSystem != 'windows' &&
790 stdioType(stdout) == StdioType.TERMINAL; 790 stdioType(stdout) == StdioType.TERMINAL;
791 791
792 /// Gets a "special" string (ANSI escape or Unicode). 792 /// Gets a "special" string (ANSI escape or Unicode).
793 /// 793 ///
794 /// On Windows or when not printing to a terminal, returns something else since 794 /// On Windows or when not printing to a terminal, returns something else since
795 /// those aren't supported. 795 /// those aren't supported.
796 String getSpecial(String special, [String onWindows = '']) => 796 String getSpecial(String special, [String onWindows = '']) =>
797 canUseSpecialChars ? special : onWindows; 797 canUseSpecialChars ? special : onWindows;
798 798
799 /// Prepends each line in [text] with [prefix]. 799 /// Prepends each line in [text] with [prefix].
800 /// 800 ///
801 /// If [firstPrefix] is passed, the first line is prefixed with that instead. 801 /// If [firstPrefix] is passed, the first line is prefixed with that instead.
802 String prefixLines(String text, {String prefix: '| ', String firstPrefix}) { 802 String prefixLines(String text, {String prefix: '| ', String firstPrefix}) {
803 var lines = text.split('\n'); 803 var lines = text.split('\n');
804 if (firstPrefix == null) { 804 if (firstPrefix == null) {
805 return lines.map((line) => '$prefix$line').join('\n'); 805 return lines.map((line) => '$prefix$line').join('\n');
806 } 806 }
807 807
808 var firstLine = "$firstPrefix${lines.first}"; 808 var firstLine = "$firstPrefix${lines.first}";
809 lines = lines.skip(1).map((line) => '$prefix$line').toList(); 809 lines = lines.skip(1).map((line) => '$prefix$line').toList();
810 lines.insert(0, firstLine); 810 lines.insert(0, firstLine);
811 return lines.join('\n'); 811 return lines.join('\n');
812 } 812 }
813 813
814 /// Whether pub is running as a subprocess in an integration test or in a unit
815 /// test that has explicitly set this.
816 bool runningAsTest = Platform.environment.containsKey('_PUB_TESTING');
817
818 /// Whether today is April Fools' day. 814 /// Whether today is April Fools' day.
819 bool get isAprilFools { 815 bool get isAprilFools {
820 // Tests should never see April Fools' output. 816 // Tests should never see April Fools' output.
821 if (runningAsTest) return false; 817 if (runningFromTest) return false;
822 818
823 var date = new DateTime.now(); 819 var date = new DateTime.now();
824 return date.month == 4 && date.day == 1; 820 return date.month == 4 && date.day == 1;
825 } 821 }
826 822
827 /// Wraps [fn] to guard against several different kinds of stack overflow 823 /// Wraps [fn] to guard against several different kinds of stack overflow
828 /// exceptions: 824 /// exceptions:
829 /// 825 ///
830 /// * A sufficiently long [Future] chain can cause a stack overflow if there are 826 /// * A sufficiently long [Future] chain can cause a stack overflow if there are
831 /// no asynchronous operations in it (issue 9583). 827 /// no asynchronous operations in it (issue 9583).
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
919 } else { 915 } else {
920 throw new ApplicationException(message); 916 throw new ApplicationException(message);
921 } 917 }
922 } 918 }
923 919
924 /// Throw a [DataException] with [message] to indicate that the command has 920 /// Throw a [DataException] with [message] to indicate that the command has
925 /// failed because of invalid input data. 921 /// failed because of invalid input data.
926 /// 922 ///
927 /// This will report the error and cause pub to exit with [exit_codes.DATA]. 923 /// This will report the error and cause pub to exit with [exit_codes.DATA].
928 void dataError(String message) => throw new DataException(message); 924 void dataError(String message) => throw new DataException(message);
OLDNEW
« no previous file with comments | « lib/src/io.dart ('k') | test/ascii_tree_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698