| Index: pkg/analyzer/test/source/embedder_test.dart | 
| diff --git a/pkg/analyzer/test/source/embedder_test.dart b/pkg/analyzer/test/source/embedder_test.dart | 
| index eecb8181b4d72fb58dee614cc6b82823957a6568..448fdb00668b0053ecb8c345ce40b71513582e39 100644 | 
| --- a/pkg/analyzer/test/source/embedder_test.dart | 
| +++ b/pkg/analyzer/test/source/embedder_test.dart | 
| @@ -10,10 +10,10 @@ import 'package:analyzer/file_system/file_system.dart'; | 
| import 'package:analyzer/file_system/memory_file_system.dart'; | 
| import 'package:analyzer/source/embedder.dart'; | 
| import 'package:analyzer/src/generated/source.dart'; | 
| -import 'package:analyzer/src/util/absolute_path.dart'; | 
| import 'package:path/path.dart' as path; | 
| import 'package:unittest/unittest.dart'; | 
|  | 
| +import '../resource_utils.dart'; | 
| import '../utils.dart'; | 
|  | 
| main() { | 
| @@ -163,115 +163,3 @@ clearResourceProvider() { | 
| resourceProvider = null; | 
| pathTranslator = null; | 
| } | 
| - | 
| -// TODO(danrubel) if this approach works well for running tests | 
| -// in a platform specific way, then move all of the following functionality | 
| -// into a separate test utility library. | 
| - | 
| -bool get isWindows => path.Style.platform == path.Style.windows; | 
| - | 
| -/** | 
| - * Assert that the given path is posix. | 
| - */ | 
| -void expectAbsolutePosixPath(String posixPath) { | 
| -  expect(posixPath, startsWith('/'), | 
| -      reason: 'Expected absolute posix path, but found $posixPath'); | 
| -} | 
| - | 
| -/** | 
| - * Translate the given posixPath to a path appropriate for the | 
| - * platform on which the tests are executing. | 
| - */ | 
| -String posixToOSPath(String posixPath) { | 
| -  expectAbsolutePosixPath(posixPath); | 
| -  if (isWindows) { | 
| -    String windowsPath = posixPath.replaceAll('/', '\\'); | 
| -    if (posixPath.startsWith('/')) { | 
| -      return 'C:$windowsPath'; | 
| -    } | 
| -    return windowsPath; | 
| -  } | 
| -  return posixPath; | 
| -} | 
| - | 
| -/** | 
| - * Translate the given posixPath to a file URI appropriate for the | 
| - * platform on which the tests are executing. | 
| - */ | 
| -String posixToOSFileUri(String posixPath) { | 
| -  expectAbsolutePosixPath(posixPath); | 
| -  return isWindows ? 'file:///C:$posixPath' : 'file://$posixPath'; | 
| -} | 
| - | 
| -/** | 
| - * A convenience utility for setting up a test [MemoryResourceProvider]. | 
| - * All supplied paths are assumed to be in [path.posix] format | 
| - * and are automatically translated to [path.context]. | 
| - * | 
| - * This class intentionally does not implement [ResourceProvider] | 
| - * directly or indirectly so that it cannot be used as a resource provider. | 
| - * We do not want functionality under test to interact with a resource provider | 
| - * that automatically translates paths. | 
| - */ | 
| -class TestPathTranslator { | 
| -  final MemoryResourceProvider _provider; | 
| - | 
| -  TestPathTranslator(this._provider); | 
| - | 
| -  Resource getResource(String posixPath) => | 
| -      _provider.getResource(posixToOSPath(posixPath)); | 
| - | 
| -  File newFile(String posixPath, String content) => | 
| -      _provider.newFile(posixToOSPath(posixPath), content); | 
| - | 
| -  Folder newFolder(String posixPath) => | 
| -      _provider.newFolder(posixToOSPath(posixPath)); | 
| -} | 
| - | 
| -/** | 
| - * A resource provider for testing that asserts that any supplied paths | 
| - * are appropriate for the OS platform on which the tests are running. | 
| - */ | 
| -class TestResourceProvider implements ResourceProvider { | 
| -  final ResourceProvider _provider; | 
| - | 
| -  TestResourceProvider(this._provider) { | 
| -    expect(_provider.absolutePathContext.separator, isWindows ? '\\' : '/'); | 
| -  } | 
| - | 
| -  @override | 
| -  AbsolutePathContext get absolutePathContext => _provider.absolutePathContext; | 
| - | 
| -  @override | 
| -  File getFile(String path) => _provider.getFile(_assertPath(path)); | 
| - | 
| -  @override | 
| -  Folder getFolder(String path) => _provider.getFolder(_assertPath(path)); | 
| - | 
| -  @override | 
| -  Resource getResource(String path) => _provider.getResource(_assertPath(path)); | 
| - | 
| -  @override | 
| -  Folder getStateLocation(String pluginId) => | 
| -      _provider.getStateLocation(pluginId); | 
| - | 
| -  @override | 
| -  path.Context get pathContext => _provider.pathContext; | 
| - | 
| -  /** | 
| -   * Assert that the given path is valid for the OS platform on which the | 
| -   * tests are running. | 
| -   */ | 
| -  String _assertPath(String path) { | 
| -    if (isWindows) { | 
| -      if (path.contains('/')) { | 
| -        fail('Expected windows path, but found: $path'); | 
| -      } | 
| -    } else { | 
| -      if (path.contains('\\')) { | 
| -        fail('Expected posix path, but found: $path'); | 
| -      } | 
| -    } | 
| -    return path; | 
| -  } | 
| -} | 
|  |