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

Unified Diff: dart/frog/tests/frog/src/EvaluatorTest.dart

Issue 10164004: Remove frogsh. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Rebased Created 8 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « dart/frog/tests/frog/frog.status ('k') | dart/frog/tests/frog/src/InheritanceOrderingTest.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: dart/frog/tests/frog/src/EvaluatorTest.dart
diff --git a/dart/frog/tests/frog/src/EvaluatorTest.dart b/dart/frog/tests/frog/src/EvaluatorTest.dart
deleted file mode 100644
index 6f308e1f98041f058368cef2d68529c785f2f4a8..0000000000000000000000000000000000000000
--- a/dart/frog/tests/frog/src/EvaluatorTest.dart
+++ /dev/null
@@ -1,116 +0,0 @@
-// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-#library('EvaluatorTest');
-
-#import('node_config.dart');
-#import('../../../../lib/unittest/unittest.dart');
-#import('../../../evaluator.dart');
-// TODO(nweiz): don't depend on Node for these tests
-#import('../../../lib/node/node.dart');
-#import('../../../file_system_node.dart');
-#import('../../../js_evaluator_node.dart');
-
-main() {
- useNodeConfiguration();
- // TODO(nweiz): This won't work if we aren't running through frogsh.
- var homedir = path.dirname(fs.realpathSync(process.argv[1]));
- Evaluator.initWorld(homedir, [], new NodeFileSystem());
-
- evaluator() => new Evaluator(new NodeJsEvaluator());
- eval(String dart) => evaluator().eval(dart);
-
- group('Evaluation works correctly for', () {
- test('simple expressions', () {
- Expect.equals(3, eval('1 + 2'));
- Expect.equals('foobar', eval('"foo" + "bar"'));
- });
-
- test('built-in methods', () {
- Expect.equals(2, eval('(2.3).round()'));
- Expect.isTrue(eval('"foobar".contains("oba")'));
- });
-
- test('user-defined top-level functions', () {
- var ev = evaluator();
- ev.eval('foo(a) => a + 2');
- Expect.equals(3, ev.eval('foo(1)'));
-
- ev.eval('bar(b) => "foo" + foo(b)');
- Expect.equals("foo3", ev.eval('bar(1)'));
- });
-
- test('user-defined variables', () {
- var ev = evaluator();
- ev.eval('a = 3');
- Expect.equals(5, ev.eval('2 + a'));
-
- ev.eval('b = a + 4');
- Expect.equals(21, ev.eval('b * 3'));
- });
-
- test('redefining variables', () {
- var ev = evaluator();
- ev.eval('a = 3');
- Expect.equals(3, ev.eval('a'));
- ev.eval('a = 4');
- Expect.equals(4, ev.eval('a'));
- });
-
- test('redefining functions', () {
- var ev = evaluator();
- ev.eval('int foo() => 3');
- Expect.equals(3, ev.eval('foo()'));
- ev.eval('String foo(int a) => "foo" + a');
- Expect.equals("foo12", ev.eval('foo(12)'));
- });
-
- test('user-defined classes', () {
- var ev = evaluator();
- ev.eval('class Foo { int a; Foo(this.a); foo(b) => a + b; }');
- ev.eval('f = new Foo(5)');
- Expect.equals(5, ev.eval('f.a'));
- Expect.equals(9, ev.eval('f.foo(4)'));
- });
-
- test('list literals', () {
- var ev = evaluator();
- // Coerce to a string because the evaluation context can define methods
- // differently than the primary context.
- Expect.equals('1,2,3', ev.eval('[1, 2, 3].toString()'));
- });
-
- test('map literals', () {
- var ev = evaluator();
- // Coerce to a string because the evaluation context can define methods
- // differently than the primary context.
- Expect.equals('a,b', ev.eval("({'a': 1, 'b': 2}).getKeys().toString()"));
- Expect.equals('1,2', ev.eval("({'a': 1, 'b': 2}).getValues().toString()"));
- });
- });
-
- group('The parser is flexible enough to', () {
- test('allow semicolons or not', () {
- Expect.equals(2, eval('1 + 1;'));
- Expect.equals(2, eval('1 + 1'));
- });
-
- test('allow "var" or not', () {
- var ev = evaluator();
- ev.eval('var a = 1');
- Expect.equals(1, ev.eval('a'));
- ev.eval('b = 2');
- Expect.equals(2, ev.eval('b'));
- });
-
- // TODO(nweiz): make this work
- // test('parse maps with or without parentheses', () {
- // var ev = evaluator();
- // // Coerce to a string because the evaluation context can define methods
- // // differently than the primary context.
- // Expect.equals('a,b', ev.eval("{'a': 1, 'b': 2}.getKeys().toString()"));
- // Expect.equals('a,b', ev.eval("({'a': 1, 'b': 2}).getKeys().toString()"));
- // });
- });
-}
« no previous file with comments | « dart/frog/tests/frog/frog.status ('k') | dart/frog/tests/frog/src/InheritanceOrderingTest.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698