New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
'is also' is now called 'augment' #833
Comments
From @moritzSpec r25607 changed 'class Foo is also { ... }' to 'augment class Foo { Attached patch updates the test suite accordingly. (I'll also rename a few test files afterwards, but there's no hurry to Cheers, |
From @moritz0001--t-spec-is-also-on-classes-is-now-spelled-augmen.patchFrom bf0923c5faf80518cb7d549e733a70cd405088e8 Mon Sep 17 00:00:00 2001
From: Moritz Lenz <moritz@faui2k3.org>
Date: Tue, 24 Mar 2009 21:12:46 +0100
Subject: [PATCH] [t/spec] 'is also' on classes is now spelled 'augment class...'
---
spec/S02-lexical-conventions/unicode.t | 2 +-
.../unicode-whitespace.t | 2 +-
spec/S02-whitespace_and_comments/unspace.t | 4 ++--
spec/S04-statements/for.t | 2 +-
spec/S10-packages/use-with-class.t | 2 +-
spec/S12-attributes/is-also-and-initialization.t | 4 ++--
spec/S12-class/extending-arrays.t | 6 +++---
spec/S12-class/is_also_instead.t | 6 +++---
spec/S12-class/open.t | 12 ++++++------
spec/S12-class/open_closed.t | 8 ++++----
spec/S12-methods/chaining.t | 2 +-
spec/integration/rule-in-class-Str.t | 4 ++--
12 files changed, 27 insertions(+), 27 deletions(-)
diff --git a/spec/S02-lexical-conventions/unicode.t b/spec/S02-lexical-conventions/unicode.t
index e868524..da146c1 100644
--- a/spec/S02-lexical-conventions/unicode.t
+++ b/spec/S02-lexical-conventions/unicode.t
@@ -88,6 +88,6 @@ is(try { my $दूसरा = 2; sub टोटल ($x) { $x + 2 }; टोटल
# Unicode methods
{
- class Str is also { method äöü { self.ucfirst } };
+ augment class Str { method äöü { self.ucfirst } };
is "pugs".äöü(), "Pugs", "Unicode methods";
}
diff --git a/spec/S02-whitespace_and_comments/unicode-whitespace.t b/spec/S02-whitespace_and_comments/unicode-whitespace.t
index 6069b3f..ef2fa0a 100644
--- a/spec/S02-whitespace_and_comments/unicode-whitespace.t
+++ b/spec/S02-whitespace_and_comments/unicode-whitespace.t
@@ -125,7 +125,7 @@ my @x = <a b c>; sub y (@z) { @z[1] }; y(@x)
#Long dot whitespace tests
#These currently get different results than the above
-class Str is also {
+augment class Str {
method id() { self }
}
diff --git a/spec/S02-whitespace_and_comments/unspace.t b/spec/S02-whitespace_and_comments/unspace.t
index 8ad66e7..29163ff 100644
--- a/spec/S02-whitespace_and_comments/unspace.t
+++ b/spec/S02-whitespace_and_comments/unspace.t
@@ -49,7 +49,7 @@ is( ~@array, "7 8 9", 'unspace with postfix hyperops');
#Test the "unspace" and unspace syntax
-class Str is also {
+augment class Str {
method id($x:) { $x }
}
@@ -191,7 +191,7 @@ is(eval('baz { @^x }, 1, 2, 3'), (1, 2, 3), 'comma immediately following arg blo
is(eval('baz { @^x } , 1, 2, 3'), (1, 2, 3), 'comma not immediately following arg block');
is(eval('baz { @^x }\ , 1, 2, 3'), (1, 2, 3), 'unspace then comma following arg block');
-class Code is also {
+augment class Code {
method xyzzy(Code $x: *@y) { $x.(@y) }
}
diff --git a/spec/S04-statements/for.t b/spec/S04-statements/for.t
index 5959fc2..8bf13af 100644
--- a/spec/S04-statements/for.t
+++ b/spec/S04-statements/for.t
@@ -55,7 +55,7 @@ plan 55;
#?rakudo skip 'class accessing outer lexical'
{
my $d = '';
- class Int is also {
+ augment class Int {
method some_meth_1 {
$d = $d ~ self
}
diff --git a/spec/S10-packages/use-with-class.t b/spec/S10-packages/use-with-class.t
index b5e0883..ca22bc0 100644
--- a/spec/S10-packages/use-with-class.t
+++ b/spec/S10-packages/use-with-class.t
@@ -20,7 +20,7 @@ eval_lives_ok 'Stupid::Class.new()', 'can instantiate object of "imported" class
}
{
- class Stupid::Class is also {
+ augment class Stupid::Class {
method double { $.attrib ~ $.attrib };
}
my $o = Stupid::Class.new( attrib => 'd' );
diff --git a/spec/S12-attributes/is-also-and-initialization.t b/spec/S12-attributes/is-also-and-initialization.t
index e81d620..ea758b3 100644
--- a/spec/S12-attributes/is-also-and-initialization.t
+++ b/spec/S12-attributes/is-also-and-initialization.t
@@ -14,11 +14,11 @@ diag('Test for class attribute initialization');
{
class T1 { }
class T2 { }
- ok eval(q{class T1 is also { has $.t = 1 }; 1}),
+ ok eval(q{augment class T1 { has $.t = 1 }; 1}),
"Try to initialize public attribute";
ok eval(q{
- class T2 is also {
+ augment class T2 {
has $!t = 2;
method get { $!t };
}; 1 }),
diff --git a/spec/S12-class/extending-arrays.t b/spec/S12-class/extending-arrays.t
index c3474d3..31d3baa 100644
--- a/spec/S12-class/extending-arrays.t
+++ b/spec/S12-class/extending-arrays.t
@@ -4,8 +4,8 @@ use Test;
plan 11;
-class Array is also { method test_method { 1 }; };
-class Hash is also { method test_method { 1 }; };
+augment class Array { method test_method { 1 }; };
+augment class Hash { method test_method { 1 }; };
my @named_array;
@@ -48,7 +48,7 @@ my $pair = :key<value>;
is $pair.value, 'value', "method on a named pair";
{
- class List is also {
+ augment class List {
method twice {
gather {
take $_ * 2 for self;
diff --git a/spec/S12-class/is_also_instead.t b/spec/S12-class/is_also_instead.t
index 0e04674..0a7a50a 100644
--- a/spec/S12-class/is_also_instead.t
+++ b/spec/S12-class/is_also_instead.t
@@ -10,15 +10,15 @@ plan 5;
class Foo {
method a {'called Foo.a'}
}
- class Foo is also {
+ augment class Foo {
method b {'called Foo.b'}
}
my $o = Foo.new;
is($o.a, 'called Foo.a', 'basic method call works');
- is($o.b, 'called Foo.b', 'added method call works');
+ is($o.b, 'called Foo.b', 'added method call works');
- ok(!eval('class NonExistent is also { }'), 'is also on non-existent class dies');
+ ok(!eval('augment class NonExistent { }'), 'augment on non-existent class dies');
}
#?rakudo skip 'is instead not yet implemented'
diff --git a/spec/S12-class/open.t b/spec/S12-class/open.t
index e831c92..50e1f0e 100644
--- a/spec/S12-class/open.t
+++ b/spec/S12-class/open.t
@@ -14,9 +14,9 @@ my $x = Something.new(attribute => 'b');
is $x.in_Something, 'ab', 'basic OO sanity';
# although we use curlies here to be better fudge-able, remeber
-# that 'is also' class extensions are *not* lexically scoped
+# that 'augment' class extensions are *not* lexically scoped
{
- class Something is also {
+ augment class Something {
method later_added {
'later'
}
@@ -37,7 +37,7 @@ is $x.in_Something, 'ab', 'basic OO sanity';
# now try to extend "core" types
{
- class Str is also {
+ augment class Str {
method mydouble {
self.uc ~ self.lc;
}
@@ -47,14 +47,14 @@ is $x.in_Something, 'ab', 'basic OO sanity';
}
{
- class Int is also {
+ augment class Int {
method triple { self * 3 }
}
is 3.triple, 9, 'can extend Int';
}
{
- class List is also {
+ augment class List {
method first-and-last {
self[0] ~ self[self - 1]
}
@@ -66,7 +66,7 @@ is $x.in_Something, 'ab', 'basic OO sanity';
}
{
- class Array is also {
+ augment class Array {
method last-and-first {
self[self - 1] ~ self[0]
}
diff --git a/spec/S12-class/open_closed.t b/spec/S12-class/open_closed.t
index 5e3d281..a4908d7 100644
--- a/spec/S12-class/open_closed.t
+++ b/spec/S12-class/open_closed.t
@@ -14,12 +14,12 @@ class Foo {
method a {'called Foo.a'}
}
-eval_dies_ok('class Foo is also {method b {"called Foo.b"}}}', 'adding to closed class dies');
+eval_dies_ok('augment class Foo {method b {"called Foo.b"}}}', 'adding to closed class dies');
class Bar is open {
method c {'called Bar.c'}
}
-lives_ok({class Bar is also {method d {'called Bar.d'}}}, 'adding to opened class lives (using "is open")');
+lives_ok({augment class Bar {method d {'called Bar.d'}}}, 'adding to opened class lives (using "is open")');
{
my $o = Bar.new;
@@ -32,7 +32,7 @@ lives_ok({class Bar is also {method d {'called Bar.d'}}}, 'adding to opened clas
# this seems weird to me.
use class :open;
class Baz {method e {'called Baz.e'}}
- lives_ok({class Baz is also {method f {'called Baz.f'}}}, 'adding to open class lives (lexically scoped pragma)');
+ lives_ok({augment class Baz {method f {'called Baz.f'}}}, 'adding to open class lives (lexically scoped pragma)');
my $o = Baz.new;
is($o.e, 'called Baz.e', 'old method is still present');
@@ -43,7 +43,7 @@ lives_ok({class Bar is also {method d {'called Bar.d'}}}, 'adding to opened clas
# and just when you thought I ran out of generic identifiers
use class :open<Qux>;
class Qux {method g {'called Qux.g'}}
-lives_ok({class Qux is also {method h {'called Qux.i'}}}, 'adding to open class lives (global pragma with class name)');
+lives_ok({augment class Qux {method h {'called Qux.i'}}}, 'adding to open class lives (global pragma with class name)');
{
my $o = Qux.new;
is($o.g, 'called Qux.g', 'old is still present');
diff --git a/spec/S12-methods/chaining.t b/spec/S12-methods/chaining.t
index b089628..ce6c815 100644
--- a/spec/S12-methods/chaining.t
+++ b/spec/S12-methods/chaining.t
@@ -63,7 +63,7 @@ eval_dies_ok('$foo->num', 'Perl 5 -> is dead (method call)');
# L<S12/"Open vs Closed Classes"/"though you have to be explicit">
#?rakudo skip 'parsing [=>]'
{
- class Pair is also {
+ augment class Pair {
our method car () { self.key; }
our Pair method cdr () { self.value; }
}
diff --git a/spec/integration/rule-in-class-Str.t b/spec/integration/rule-in-class-Str.t
index c537bbd..5b178b9 100644
--- a/spec/integration/rule-in-class-Str.t
+++ b/spec/integration/rule-in-class-Str.t
@@ -22,7 +22,7 @@ class C is Str {
is(C.new.meth1(),"worked",'m:P5/[^a]/ in method in C (is Str)');
-class Str is also {
+augment class Str {
method meth2 () {
if ("bar" ~~ m:P5/[^a]/) {
"worked";
@@ -34,7 +34,7 @@ class Str is also {
is(Str.new.meth2(),"worked",'m:P5/[^a]/ in method in Str');
-class Str is also {
+augment class Str {
method meth3 () {
if ("bar" ~~ m:P5/[a]/) {
"worked";
--
1.5.6.5
|
From @kylehaOn Tue Mar 24 13:18:36 2009, moritz wrote:
This patch appears to be applied. Can this ticket close? |
The RT System itself - Status changed from 'new' to 'open' |
From @moritzKyle Hasselbacher via RT wrote:
The tests have been adopted, but Rakudo still does it the old way, so Cheers, |
From @moritzRakudo ng has done this correctly from the start; now works correctly. |
@moritz - Status changed from 'open' to 'resolved' |
Migrated from rt.perl.org#64170 (status was 'resolved')
Searchable as RT64170$
The text was updated successfully, but these errors were encountered: