natalie icon indicating copy to clipboard operation
natalie copied to clipboard

Implement methods of String

Open seven1m opened this issue 3 years ago • 3 comments

Our main approach is to work on one spec from ruby/spec at a time, implementing as much of the spec as possible, then check it off the list:

  • [x] allocate_spec.rb
  • [x] append_spec.rb
  • [x] ascii_only_spec.rb
  • [x] b_spec.rb
  • [x] byteindex_spec.rb
  • [x] byterindex_spec.rb
  • [x] bytesize_spec.rb
  • [x] byteslice_spec.rb
  • [ ] bytesplice_spec.rb
  • [x] bytes_spec.rb
  • [x] capitalize_spec.rb
  • [x] casecmp_spec.rb
  • [x] case_compare_spec.rb
  • [x] center_spec.rb
  • [x] chars_spec.rb
  • [ ] chilled_string_spec.rb
  • [x] chomp_spec.rb
  • [x] chop_spec.rb
  • [x] chr_spec.rb
  • [x] clear_spec.rb
  • [x] clone_spec.rb
  • [x] codepoints_spec.rb
  • [x] comparison_spec.rb
  • [x] concat_spec.rb
  • [x] count_spec.rb
  • [x] crypt_spec.rb
  • [ ] dedup_spec.rb
  • [x] delete_prefix_spec.rb
  • [x] delete_spec.rb
  • [x] delete_suffix_spec.rb
  • [x] downcase_spec.rb
  • [x] dump_spec.rb
  • [x] dup_spec.rb
  • [x] each_byte_spec.rb
  • [x] each_char_spec.rb
  • [x] each_codepoint_spec.rb
  • [x] each_grapheme_cluster_spec.rb
  • [x] each_line_spec.rb
  • [x] element_reference_spec.rb
  • [x] element_set_spec.rb
  • [x] empty_spec.rb
  • [x] encode_spec.rb
  • [x] encoding_spec.rb
  • [x] end_with_spec.rb
  • [x] eql_spec.rb
  • [x] equal_value_spec.rb
  • [x] force_encoding_spec.rb
  • [x] freeze_spec.rb
  • [x] getbyte_spec.rb
  • [x] grapheme_clusters_spec.rb
  • [x] gsub_spec.rb
  • [x] hash_spec.rb
  • [x] hex_spec.rb
  • [x] include_spec.rb
  • [x] index_spec.rb
  • [x] initialize_spec.rb
  • [x] insert_spec.rb
  • [ ] inspect_spec.rb
  • [x] intern_spec.rb
  • [ ] length_spec.rb
  • [ ] lines_spec.rb
  • [x] ljust_spec.rb
  • [x] lstrip_spec.rb
  • [ ] match_spec.rb
  • [x] modulo_spec.rb
  • [x] multiply_spec.rb
  • [x] new_spec.rb
  • [ ] next_spec.rb
  • [ ] oct_spec.rb
  • [x] ord_spec.rb
  • [x] partition_spec.rb
  • [ ] plus_spec.rb
  • [x] prepend_spec.rb
  • [x] replace_spec.rb
  • [x] reverse_spec.rb
  • [ ] rindex_spec.rb
  • [ ] rjust_spec.rb
  • [ ] rpartition_spec.rb
  • [x] rstrip_spec.rb
  • [x] scan_spec.rb
  • [ ] scrub_spec.rb
  • [x] setbyte_spec.rb
  • [x] size_spec.rb
  • [ ] slice_spec.rb
  • [ ] split_spec.rb
  • [ ] squeeze_spec.rb
  • [x] start_with_spec.rb
  • [x] string_spec.rb
  • [x] strip_spec.rb
  • [x] sub_spec.rb
  • [ ] succ_spec.rb
  • [x] sum_spec.rb
  • [ ] swapcase_spec.rb
  • [ ] to_c_spec.rb
  • [ ] to_f_spec.rb
  • [x] to_i_spec.rb
  • [x] to_r_spec.rb
  • [x] to_s_spec.rb
  • [x] to_str_spec.rb
  • [x] to_sym_spec.rb
  • [x] tr_spec.rb
  • [ ] tr_s_spec.rb
  • [x] try_convert_spec.rb
  • [ ] uminus_spec.rb
  • [ ] undump_spec.rb
  • [ ] unicode_normalized_spec.rb
  • [ ] unicode_normalize_spec.rb
  • [ ] unpack1_spec.rb
  • [ ] unpack_spec.rb
  • [x] upcase_spec.rb
  • [x] uplus_spec.rb
  • [x] upto_spec.rb
  • [x] valid_encoding_spec.rb

Note: there is another issue for String#unpack here: #667

seven1m avatar Oct 04 '21 23:10 seven1m

Both String#lstrip and String#rstrip are spec-compliant!

ryangjchandler avatar Feb 28 '22 10:02 ryangjchandler

String#size is also spec-compliant (minus the encoding tests).

ryangjchandler avatar Feb 28 '22 10:02 ryangjchandler

String#center is spec-compliant since #518 too :)

ryangjchandler avatar Mar 01 '22 13:03 ryangjchandler